코멘트 : 첫째로 나는 큰이에게 감사의 말씀을 전합니다 저자 새로운의 tsoutliers의 어떤 구현 패키지 첸 리우의 오픈 소스 소프트웨어 1993 년 미국의 통계 협회 저널에 발표 된 시계열 이상치 탐지 .
이 패키지는 시계열 데이터에서 5 가지 유형의 특이 치를 반복적으로 감지합니다.
- 첨가제 이상치 (AO)
- 혁신 이상치 (IO)
- 레벨 시프트 (LS)
- 임시 변경 (TC)
- 계절별 이동 (SLS)
더 좋은 점은이 패키지가 예측 패키지에서 auto.arima를 구현하므로 특이 치를 탐지하는 것이 원활하다는 것입니다. 또한이 패키지는 시계열 데이터를 더 잘 이해하기위한 훌륭한 도표를 생성합니다.
아래는 내 질문입니다 :
이 패키지를 사용하여 몇 가지 예제를 실행하려고 시도했지만 훌륭하게 작동했습니다. 첨가제 이상치 및 레벨 이동은 직관적입니다. 그러나 나는 이해할 수없는 임시 변경 이상치 및 혁신적 이상 치를 전달하는 것과 관련하여 두 가지 질문을했습니다.
임시 변경 이상치 예 :
다음 예제를 고려하십시오.
library(tsoutliers)
library(expsmooth)
library(fma)
outlier.chicken <- tsoutliers::tso(chicken,types = c("AO","LS","TC"),maxit.iloop=10)
outlier.chicken
plot(outlier.chicken)
이 프로그램은 다음 위치에서 레벨 이동 및 임시 변경을 올바르게 감지합니다.
Outliers:
type ind time coefhat tstat
1 LS 12 1935 37.14 3.153
2 TC 20 1943 36.38 3.350
아래는 줄거리와 내 질문입니다.
- 방정식 형식으로 임시 변경을 작성하는 방법은 무엇입니까? (레벨 이동은 1935 / Obs 12 이전에 언제라도 1935 이후 및 이후에 1 인 이진 변수로 쉽게 쓸 수 있습니다.)
패키지 매뉴얼과 기사의 임시 변경에 대한 방정식은 다음과 같습니다.
- 두 번째 질문은 혁신적 특이점에 관한 것이며
, 실제로 혁신적 특이점을 본 적이 없습니다 . 어떤 수학적 사례 나 사례도 도움이 될 것입니다.
편집 : @Irishstat, tsoutliers 함수는 특이 치를 식별하고 적절한 ARIMA 모델을 제안하는 데 탁월합니다. Nile 데이터 세트를 살펴보면 아래 auto.arima 적용 후 tsoutliers 적용 (auto.arima를 포함하는 기본값)을 참조하십시오.
auto.arima(Nile)
Series: Nile
ARIMA(1,1,1)
Coefficients:
ar1 ma1
0.2544 -0.8741
s.e. 0.1194 0.0605
sigma^2 estimated as 19769: log likelihood=-630.63
AIC=1267.25 AICc=1267.51 BIC=1275.04
tsoutliers 함수를 적용한 후 LS 특이 치 및 추가 특이 치를 식별하고 ARIMA 차수 (0,0,0)를 권장합니다.
nile.outliers <- tso(Nile,types = c("AO","LS","TC"))
nile.outliers
Series: Nile
ARIMA(0,0,0) with non-zero mean
Coefficients:
intercept LS29 AO43
1097.7500 -242.2289 -399.5211
s.e. 22.6783 26.7793 120.8446
sigma^2 estimated as 14401: log likelihood=-620.65
AIC=1249.29 AICc=1249.71 BIC=1259.71
Outliers:
type ind time coefhat tstat
1 LS 29 1899 -242.2 -9.045
2 AO 43 1913 -399.5 -3.306
tsoutliers
이름이 바뀌 었습니다 . tso
forecast