MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/R/library/OREeda/doc/man/ko/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/R/library/OREeda/doc/man/ko/ore.esm.Rd

%
% Copyright (c) 2014, 2016, Oracle and/or its affiliates. All rights reserved.
%
\name{ore.esm}
\alias{ore.esm}
\alias{fitted.ore.esm}
\alias{forecast.ore.esm}
\alias{predict.ore.esm}
\alias{fitted}
\alias{predict}

\title{
Oracle R Enterprise 시계열 지수 평활 모델
}
\description{
순서 지정된 \code{ore.vector} 데이터에서 지수 평활 모델을
  생성합니다.
}
\usage{

ore.esm(x,
        interval = NULL,
        model = "simple",
        accumulate = "NONE",
        setmissing = "PREV",
        optim.start = c(alpha=0.3, beta=0.1),
        optim.control = list())

\S3method{fitted}{ore.esm}(object, start = NULL, end = NULL, ...)
\S3method{predict}{ore.esm}(object, n.ahead = 12L,  ...)

forecast.ore.esm(object, h = 12L, ...)
}

\arguments{
  \item{x}{
시계열 데이터 또는 트랜잭션 데이터의 순서 지정된
    \code{ore.vector}입니다. 순서 지정 열은 1부터 시계열 길이에 해당하는
    정수 또는 \code{ore.datetime} 유형의 정수일 수 있습니다.
}

  \item{interval}{
시계열의 간격 또는 트랜잭션
    데이터를 누적할 시간 간격입니다. \code{x} 인수의
    순서 지정 열이 \code{ore.datetime} 유형이면,
    \code{interval}을(를) 지정해야 합니다.
    가능한 값: \code{"YEAR"}, \code{"QTR"}, \code{"MONTH"},
    \code{"WEEK"}, \code{"DAY"}, \code{"HOUR"}, \code{"MINUTE"},
    \code{"SECOND"}
}

  \item{model}{
지수 평활 모델 이름입니다. 가능한 값: \code{"simple"}, \code{"double"}
}

  \item{accumulate}{
누적 방법입니다.
    가능한 값은 다음과 같습니다.
  \tabular{ll}{
  \code{"NONE"         } \tab 누적이 수행되지 않습니다. 이 경우
  \code{x} 인수는 간격이 동일하게 배치된 시계열 관측이어야
  합니다.\cr
  \code{"TOTAL"        } \tab 관측된 값의 합계를 기반으로 하는 누적입니다. \cr
  \code{"AVERAGE"      } \tab 관측된 값의 평균을 기반으로 하는
  누적입니다. 값은 \code{"AVG"}(으)로 축약될 수 있습니다. \cr
  \code{"MINIMUM"      } \tab 관측된 값의 최소값을 기반으로 하는
  누적입니다. 값은 \code{"MIN"}(으)로 축약될 수 있습니다. \cr
  \code{"MAXIMUM"      } \tab 관측된 값의 최대값을 기반으로 하는
  누적입니다. 값은 \code{"MAX"}(으)로 축약될 수 있습니다. \cr
  \code{"MEDIAN"       } \tab 관측된 값의 중간값을 기반으로 하는
  누적입니다. 값은 \code{"MED"}(으)로 축약될 수 있습니다. \cr
  \code{"STDDEV"       } \tab 관측된 값의 표준 편차를 기반으로
  하는 누적입니다. 값은 \code{"STD"}(으)로 축약될 수
  있습니다. \cr
  \code{"N"            } \tab 비누락 관측 개수를 기반으로 하는 누적입니다. \cr
  \code{"NOBS"         } \tab 관측 개수를 기반으로 하는 누적입니다. \cr
  \code{"NMISS"        } \tab 누락 관측 개수를 기반으로 하는 누적입니다.
}
}

  \item{setmissing}{
누락 값 취급 방법입니다.
    가능한 값은 다음과 같습니다.
  \tabular{ll}{
  \code{"AVERAGE"       } \tab 누락 값이 누적 값의 평균으로 설정됩니다.
  값은 \code{"AVG"}(으)로 축약될 수 있습니다. \cr
  \code{"MINIMUM"       } \tab 누락 값이 누적 값의 최소값으로 설정됩니다.
  값은 \code{"MIN"}(으)로 축약될 수 있습니다. \cr
  \code{"MAXIMUM"       } \tab 누락 값이 누적 값의 최대값으로 설정됩니다.
  값은 \code{"MAX"}(으)로 축약될 수 있습니다. \cr
  \code{"MEDIAN"        } \tab 누락 값이 누적 값의 중간값으로 설정됩니다.
  값은 \code{"MED"}(으)로 축약될 수 있습니다. \cr
  \code{"FIRST"         } \tab 누락 값이 첫번째 누적 비누락 값으로 설정됩니다. \cr
  \code{"LAST"          } \tab 누락 값이 마지막 누적 비누락 값으로 설정됩니다. \cr
  \code{"PREVIOUS"      } \tab 누락 값이 이전 누적 비누락 값으로 설정됩니다.
  값은 \code{"PREV"}(으)로 축약될 수
  있습니다. \cr
  \code{"NEXT"          } \tab 누락 값이 다음 누적 비누락 값으로 설정됩니다.
}
}
  \item{optim.start}{
최적기의 시작 값을 포함하는 이름이 지정된
    \code{alpha} 및 \code{beta} 구성요소가 포함된 벡터입니다.
    시작 값은 0 -1 범위에 있어야 합니다.
    \code{simple} 모델 사례에서는 무시됩니다.
} 
  \item{optim.control}{
\code{optim} 모델 사례에서 \code{double}에 전달된 추가 제어
  매개변수를 포함하는 선택적 목록입니다.
\code{simple} 모델 사례에서는 무시됩니다.
}
  \item{object}{
\code{ore.esm} 유형의 객체입니다.
}
  \item{start}{
맞춘 값 출력의 시작 인덱스를 지정하는 양의 정수입니다.
    값이 지정된 경우 \code{end} 인수보다 작거나 같아야
    합니다. 기본값은 \code{NULL}입니다.
    이는 \code{start=1}을(를) 나타냅니다.
}
  \item{end}{
맞춘 값 출력의 끝 인덱스를 지정하는 양의 정수입니다.
    값이 지정된 경우 \code{start} 인수보다 크거나 같아야
    합니다. 기본값은 \code{NULL}입니다. 이는 값이 학습 데이터 집합의
    길이와 같음을 나타냅니다.
}
  \item{n.ahead}{
예측할 기간 수입니다.
}
  \item{h}{
예측할 기간 수입니다.
}
  \item{...}{
추가 인수입니다.
}
}



\value{
\code{ore.esm}의 경우, \code{"ore.esm"} 클래스의 객체를 반환합니다. 일부 구성요소는 다음과 같습니다.
    \item{smoothing.param}{ 예측된 평활 매개변수입니다. }
    \item{model}{ 모델 유형입니다. }
    \item{model.param }{ 입력 인수입니다. }
    \code{fitted.ore.esm}의 경우, \code{ore.vector} 및 \code{start} 인수로 지정된
    범위에 있는 모델의 맞춘 값 \code{end}을(를)
    반환합니다.
    \code{predict.ore.esm} 또는 \code{forecast.ore.esm}의 경우, 예측된 시계열
    \code{data.frame}을(를) 반환합니다.
}



\details{
\code{ore.esm} 함수는 데이터베이스 내 시계열 관측에 대한 지수
평활 모델을 구현합니다. 이 함수는 고정된 간격에 따라
관측 간격이 고르게 배치된 시계열 데이터 또는 관측 간격이
고르게 배치되지 않은 트랜잭션 데이터에 사용할 수
있습니다. 트랜잭션 데이터의 경우 \code{accumulate} 인수를 사용하여 집계 방식을 
지정하고, \code{interval} 인수를 사용하여 시간 간격을 지정하십시오.
누락 값을 처리하려면 \code{setmissing} 인수를 사용하여 값을 지정하십시오.
이 함수는 지정된 집계 방식, 시간 간격 및 누락 값 처리를 사용하여
값을 선행 처리합니다.
\code{fitted} 메소드는 학습 데이터 집합과 일치하는 적정 시계열 값을
제공합니다. \code{start} 및 \code{end} 인수는 출력 맞춘 값의
인덱스 범위를 지정합니다. 이 함수는 현재 지정된 누적 메소드로
작성된 모델을 지원하지 않습니다.
\code{predict} 메소드는 \code{ore.esm}(으)로 작성된 지수 평활 모델을 사용하여
시계열을 예측합니다. \code{forecast} 패키지가 로드되면 제네릭을
통해 \code{forecast} 메소드를 호출할 수 있습니다.
}

\references{
  Exponential Smoothing method
   \url{http://en.wikipedia.org/wiki/Exponential_smoothing}

  \href{http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/documentation/index.html}{Oracle R Enterprise}
}
      
\author{
  Oracle \email{oracle-r-enterprise@oracle.com}
}

\examples{
  # case 1
  N <- 5000
  ts0 <- ore.push(data.frame(ID=1:N,
    VAL=seq(1,5,length.out=N)^2+rnorm(N,sd=0.5)))
  rownames(ts0) <- ts0$ID
  x <- ts0$VAL

  esm.mod <- ore.esm(x, model = "double")
  esm.predict <- predict(esm.mod, 30)
  esm.fitted <- fitted(esm.mod, start=4000, end=5000)
  plot(ts0[4000:5000,], pch='.')
  lines(ts0[4000:5000, 1], esm.fitted, col="blue")
  lines(esm.predict, col="red", lwd=2)

  #case 2
  ts01 <- data.frame(ID=seq(as.POSIXct("2008/6/13"), as.POSIXct("2011/6/16"),
                     length.out=4000), VAL=rnorm(4000, 10))
  ts02 <- data.frame(ID=seq(as.POSIXct("2011/7/19"), as.POSIXct("2012/11/20"),
                     length.out=1500), VAL=rnorm(1500, 10))
  ts03 <- data.frame(ID=seq(as.POSIXct("2012/12/09"), as.POSIXct("2013/9/25"),
                     length.out=1000), VAL=rnorm(1000, 10))
  ts1 = ore.push(rbind(ts01, ts02, ts03))
  rownames(ts1) <- ts1$ID
  x <- ts1$VAL
  esm.mod <- ore.esm(x, "DAY", accumulate = "AVG", model="simple",
                     setmissing="PREV")
  esm.predict <- predict(esm.mod)

  #case 3
  x <- ore.push(BJsales)

  esm.mod <- ore.esm(x, model="double")
  esm.predict <- predict(esm.mod)
  esm.fitted <- fitted(esm.mod)

  library(OREgraphics)
  plot(x)
  lines(esm.fitted, col="blue")
  lines(esm.predict, col="red", lwd=4)
}


OHA YOOOO