계절 구성 요소 (주기적으로 재발 이벤트)뿐만 아니라 동향 (규범의 느린 변화)뿐만 아니라 처리 할 수있는 방법은 훌륭하게 롭 J Hyndman에 의해 구현 구체적으로, stl()
입니다.
decomp
Hyndman 기능이 부여 (이하 재생)이 seasonality
검사를 위해 매우 유용 제철 (있는 경우), 다음으로 trend
decomposing
시계열 및 부품 residual
. 어떤 계절이없는 경우 계절과 범 회귀 스플라인이있는 경우
decomp <- function(x,transform=TRUE)
{
#decomposes time series into seasonal and trend components
#from http://robjhyndman.com/researchtips/tscharacteristics/
require(forecast)
# Transform series
if(transform & min(x,na.rm=TRUE) >= 0)
{
lambda <- BoxCox.lambda(na.contiguous(x))
x <- BoxCox(x,lambda)
}
else
{
lambda <- NULL
transform <- FALSE
}
# Seasonal data
if(frequency(x)>1)
{
x.stl <- stl(x,s.window="periodic",na.action=na.contiguous)
trend <- x.stl$time.series[,2]
season <- x.stl$time.series[,1]
remainder <- x - trend - season
}
else #Nonseasonal data
{
require(mgcv)
tt <- 1:length(x)
trend <- rep(NA,length(x))
trend[!is.na(x)] <- fitted(gam(x ~ s(tt)))
season <- NULL
remainder <- x - trend
}
return(list(x=x,trend=trend,season=season,remainder=remainder,
transform=transform,lambda=lambda))
}
당신이 그것을 볼 수 있듯이
은 (
loess
를 사용하는)
stl()
을 사용합니다.
답장을 보내 주셔서 감사합니다. 귀하의 예측 패키지가 최고이며 표면을 긁어 모았던 것처럼 보입니다. 답안의 seasadj (fit) 줄이 오류를 반환합니다. 해석에 어려움이 있습니다. 아마도 도움이 될 수 있습니까? "[.default' (comp,"season ")의 오류 : 범위 밖의 첨자" –
오류를 복제하기 위해 최소한의 예제를 보내 주시겠습니까? 이 기능은 비교적 새롭고 잘 테스트되지 않았습니다. 그것은 제가 시도한 예제에서 작동했습니다. 버그 보고서를 https://github.com/robjhyndman/forecast/issues?state=open으로 보내주십시오. –