auto.arima()
R의 함수를 사용하여 ARIMA (5,1,2) 모델을 피팅 했으며 순서를 보면 이것이 예측하기 가장 좋은 모델이 아니라고 말할 수 있습니다. 데이터 계열에 특이 치가 존재하는 경우 해당 데이터에 모델을 맞추는 방법은 무엇입니까?
auto.arima()
R의 함수를 사용하여 ARIMA (5,1,2) 모델을 피팅 했으며 순서를 보면 이것이 예측하기 가장 좋은 모델이 아니라고 말할 수 있습니다. 데이터 계열에 특이 치가 존재하는 경우 해당 데이터에 모델을 맞추는 방법은 무엇입니까?
답변:
Michael Chernick이 올바른 방향을 알려줍니다. 또한이 지식에 추가 된 Ruey Tsay의 연구를 살펴볼 것입니다. 자세한 내용은 여기를 참조 하십시오 .
오늘날의 자동화 된 컴퓨터 알고리즘과 경쟁 할 수 없습니다. 그들은 당신이 고려하지 않았고 종종 종이나 책에 문서화되지 않은 시계열에 접근하는 많은 방법을 봅니다. 분산 분석 방법을 물으면 다른 알고리즘과 비교할 때 정확한 답변을 기대할 수 있습니다. 패턴 인식을 수행하는 방법에 대해 질문 할 때 휴리스틱이 관련되어 있으므로 많은 답변이 가능합니다. 귀하의 질문에는 휴리스틱 사용이 포함됩니다.
특이 치가 데이터에 존재하는 경우 ARIMA 모델에 가장 적합한 방법은 가능한 자연 상태를 평가하고 특정 데이터 세트에 최적 인 것으로 간주되는 접근 방식을 선택하는 것입니다. 가능한 자연 상태 중 하나는 ARIMA 프로세스가 설명 된 변형의 주요 소스라는 것입니다. 이 경우 acf / pacf 함수를 통해 ARIMA 프로세스를 "가시적으로 식별"한 다음 가능한 이상치에 대한 잔차를 검사합니다. 특이 치는 일정 빈도 (예 : 월별 데이터의 경우 12)로 체계적인 특이 치에 의해 입증되는 펄스, 즉 일회성 이벤트 또는 계절적 펄스 일 수 있습니다. 세 번째 유형의 특이 치는 각각 동일한 부호와 크기를 갖는 연속적인 펄스 세트를 갖는 곳으로,이를 단계 또는 레벨 시프트라고합니다. 임시 ARIMA 프로세스의 잔차를 조사한 후 실험적으로 식별 된 결정 론적 구조를 임시로 추가하여 임시 결합 모델을 만들 수 있습니다. 1 차 변이 원이 4 가지 종류 또는 "이상치"중 하나 인 경우, 그것들을 처음부터 식별 한 다음이 "회귀 모델"의 잔차를 사용하여 확률 적 (ARIMA) 구조를 식별함으로써 더 잘 제공됩니다. . 이제이 두 가지 대안 전략은 ARIMA 매개 변수가 시간이 지남에 따라 변경되거나 여러 가지 가능한 원인으로 인해 시간에 따라 오류 분산이 변경되는 "문제"가있을 때 조금 더 복잡해집니다. 가중 최소 제곱 또는 전력 변환의 필요성 통나무 / 역수 등 또 다른 합병증 / 기회는 메모리, 원인 및 경험적으로 식별 된 더미 시리즈를 통합하여 완벽하게 통합 된 모델을 형성하기 위해 사용자가 제안한 예측기 시리즈의 기여를 언제 어떻게 구성 할 것인가입니다. 이 문제는 양식의 지표 시리즈로 가장 잘 트렌드 시리즈를 모델링 할 때 더욱 악화됩니다. 또는 및 과 같은 레벨 시프트 시리즈의 조합 . R로 그러한 절차를 작성하려고 할 수도 있지만 인생은 짧습니다. 나는 실제로 문제를 해결 하고이 경우 절차가 어떻게 작동하는지 보여 드리겠습니다. 데이터를 게시하거나 sales@autobox.com으로 보내주십시오.
외환 환율에 대한 데이터 / 일일 데이터를 수신 / 분석 한 후 추가 의견 / 2007 년 1 월 1 일부터 18 = 765 값
데이터의 acf는 다음과 같습니다.
양식의 무기 모델을 식별하면 acf 값이 매우 작기 때문에 잔차의 acf가 임의성을 나타내는 다수의 특이 치. AUTOBOX는 여러 특이 치를 식별했습니다.
최종 모델 :
잔차의 분산 변화가 식별되고 통합 된 TSAY의 분산 안정화 증강에 대한 필요성이 포함되었다. 자동 실행에서 발생한 문제는 회계사처럼 사용중인 프로 시저가 개입 탐지 (일명 이상치 탐지)를 통해 데이터에 도전하는 것이 아니라 데이터를 믿는다는 것입니다. 여기에 완전한 분석을 게시했습니다 .
R (아직) 에는 arima 함수에 대한 강력한 대응 기능을 사용할 준비가되어 있지 않습니다 . 하나가 나타나면 여기에 나열 됩니다 . 어쩌면 대안은 단순한 일 변량 특이 치 탐지 규칙과 관련이없는 관측치에 가중치를 부여하는 것이지만 가중 ARMA 회귀 분석을 실행하기 위해 패키지를 사용할 준비가되지 않았습니다. 또 다른 가능한 대안은 외곽 포인트를 Winsorize하는 것입니다.
#parameters
para <- list(ar=c(0.6,-0.48), ma=c(-0.22,0.24))
#original series
y1 <- y0 <- arima.sim(n=100, para, sd=sqrt(0.1796))
#outliers
out <- sample(1:100, 20)
#contaminated series
y1[out] <- rnorm(20, 10, 1)
plot( y1, type="l")
lines(y0, col="red")
#winsorized series
y2 <- rep(NA, length(y1))
a1 <- (y1-median(y1)) / mad(y1)
a2 <- which(abs(a1)>3)
y2[-a2] <- y1[-a2]
for(i in 2:length(y2)){
if(is.na(y2[i])){ y2[i] <- y2[i-1] }
}
강력한 시계열 모델에 대한 상당한 문헌이 있습니다. Martin과 Yohai는 주요 기여자 중 하나입니다. 그들의 작업은 1980 년대로 거슬러 올라갑니다. 나는 시계열에서 특이 치를 탐지하는 데 약간의 노력을 기울 였지만 Martin은 실제로 특이 치 탐지 또는 시계열에 두꺼운 꼬리 잔차가있는 경우 매개 변수 추정에 많은 기여를 한 사람들 중 하나였습니다.
모델의 목적이 이력을 예측 또는 분석하는 것입니까? 이것이 예측이 아니며 특이 치라는 것을 알고 있다면 더미 변수를 추가하십시오.이 변수는 해당 날짜에 1, 다른 날짜에 0입니다. 이 방법으로 더미 계수가 특이 치를 처리하고 모델의 다른 계수를 해석 할 수 있습니다.
이것이 예측을위한 것이라면 두 가지 질문을 스스로해야합니다.이 특이 치가 다시 발생할까요? 그들이 원한다면, 내가 그들을 설명해야합니까?
예를 들어, 리먼 형제가 추락했을 때 데이터 계열에 특이 치가 있다고 가정 해 봅시다. 그것은 당신이 예측할 수있는 방법이없는 사건이지만, 앞으로 이런 일이 일어날 것이기 때문에 그것을 무시할 수는 없습니다. 특이 치에 대한 더미를 던지면 오차 분산에서이 이벤트의 불확실성을 효과적으로 제거 할 수 있습니다. 예측은 꼬리 위험을 과소 평가할 것입니다. 위험 관리에는 좋지 않습니다. 그러나 판매에 대한 기준선 예측을 생성하려는 경우 더미는 효과가 있습니다. 테일에는 관심이없고 대부분의 시나리오에 관심이 있기 때문에 예측할 수없는 이벤트를 설명 할 필요가 없습니다. 이 목적.
따라서 모델의 목적은 특이 치를 다루는 방식에 영향을줍니다.