일별 데이터를 사용한 시계열 예측 : 회귀 분석 기능이있는 ARIMA


15

약 2 년의 일일 데이터 포인트가 포함 된 일일 시계열 판매 데이터를 사용하고 있습니다. 온라인 자습서 / 예제 중 일부를 기반으로 데이터의 계절성을 확인하려고했습니다. 주별, 월별 및 아마도 연간 주기성 / 계절성이있는 것 같습니다.

예를 들어, 월중 첫 번째 월급 날 효과에 주중에 며칠 동안 지속되는 월급이 있습니다. 관측 값을 기록하여 명확하게 식별 할 수있는 특정 휴일 효과도 있습니다.

이러한 관찰 중 일부를 갖추고 다음을 시도했습니다.

  1. (와 ARIMA Arimaauto.arimaR-예측 패키지) 회귀 (및 기능에 필요한 다른 기본값)를 사용. 내가 만든 회귀자는 기본적으로 0/1 값의 행렬입니다.

    • 11 개월 (n-1) 변수
    • 12 개의 휴일 변수
    • 월급 날 부분을 알 수 없었습니다. 왜냐하면 생각보다 복잡한 효과가 적기 때문입니다. 월급 효과는 매월 1 일의 요일에 따라 다르게 작동합니다.

    시계열을 모델링하기 위해 7 (즉, 매주 빈도)을 사용했습니다. 나는 한 번에 7 일 예측-테스트를 ​​시도했다. 결과는 합리적입니다. 11 주 예측 평균 정확도는 매주 평균 RMSE에서 5 %로 나타납니다.

  2. R-forecast 패키지의 TBATS 모델-여러 계절성 (7, 30.4375, 365.25)을 사용하며 분명히 회귀자가 없습니다. 주당 평균 RMSE 3.5 %의 정확도는 ARIMA 모델보다 놀랍도록 우수합니다.

    이 경우 ARMA 오류가없는 모델의 성능이 약간 향상됩니다. 이제 # 1에 설명 된 ARIMA 모델의 공휴일 효과에 대한 계수를 적용하면 TBATS 모델의 결과에 주간 평균 RMSE가 2.95 %로 향상됩니다.

이제 이러한 모델의 기본 이론에 대한 배경 지식이나 지식이 없어도이 TBATS 접근 방식이 올바른지에 대한 딜레마에 빠져 있습니다. 11 주 테스트에서 RMSE가 크게 개선되고 있지만 앞으로도이 정확성을 유지할 수 있을지 궁금합니다. 또는 ARIMA에서 TBATS 결과에 휴일 효과를 적용하는 것이 정당한 경우에도 마찬가지입니다. 모든 기여자로부터의 모든 의견은 높이 평가 될 것입니다.

테스트 데이터 링크

참고 : 파일을 다운로드하려면 "다른 이름으로 링크 저장"을 수행하십시오.


1
@CKI 사이트에 오신 것을 환영합니다. 웹상의 다른 곳에 데이터를 업로드 할 수있는 경우 여기에 링크를 게시 할 수 있습니다.
복원

회귀자가 어떻게 설정되었는지에 대해 더 알고 싶습니다.
궤도

주 6 일 인형, 11 개월 월 인형 및 공휴일은 단순한 0/1 회귀입니다. 휴일, 시간 추세, 계절 맥박 및 맥박의 고정 된 일, 리드 및 지연은 휴리스틱 검색을 기반으로합니다.
Tom Reilly

그래서 CKI, 어떻게 해결 했습니까?
Tom Reilly

안녕하세요 CKI, 계절 매트릭스를 만드는 데 사용 된 R 스크립트 중 일부를 공유 할 수 있습니까
Ahmed

답변:


9

접근 방식을 측정하려면 하나의 숫자가 아닌 다른 지평에 걸쳐 다른 원점의 모델 및 예측을 평가해야합니다.

귀하의 데이터는 미국 출신이라고 가정합니다. 주말에 두 번의 휴일을 보내고 평일을 읽을 수 없으므로 3 년 이상의 일일 데이터를 선호합니다. 2012 년 추수 감사절 효과가 하루 쉬는 것처럼 보이거나 기록 오류가 발생하여 모델이 추수 감사절 효과를 놓치게 한 것 같습니다.

연도의 %로 보면 1 월은 일반적으로 데이터 세트에서 낮습니다. 주말은 높습니다. 인형은이 동작을 반영합니다 .... MONTH_EFF01, FIXED_EFF_N10507, FIXED_EFF_N10607

나는 매일 데이터와 함께 AR 구성 요소를 사용하면 마지막 2 주 요일 패턴이 패턴의 일반적인 방식이라고 가정한다는 것이 큰 가정입니다. 우리는 11 개의 매달 인형과 6 개의 매일 인형으로 시작했습니다. 일부는 모델에서 빠졌습니다. B ** 1은 휴일 다음 날에 지연 영향이 있음을 의미합니다. 이달의 6 개의 특별한 날들 (2,3,5,21,29,30 ---- 21은 의심 스러운가?)과 3 개의 시간 경향, 2 개의 계절적 맥박 (일주일이 하루에 벗어나기 시작한 곳) 일반적으로이 데이터 앞에 0, 7 일마다 1 개, 특이 치 2 개 (감사합니다!)를 실행하는 데 7 분이 채 걸리지 않았습니다. 여기에 모든 결과를 다운로드하십시오 www.autobox.com/se/dd/daily.zip

모델이 적합한 지 확인하기 위해 빠르고 더러운 XLS 시트가 포함되어 있습니다. 물론 XLS %는 원유 벤치 마크이므로 실제로 나쁩니다.

이 모델을 추정 해보십시오.

Y(T) =  .53169E+06                                                                                        
       +[X1(T)][(+  .13482E+06B** 1)]                                       M_HALLOWEEN
       +[X2(T)][(+  .17378E+06B**-3)]                                       M_JULY4TH
       +[X3(T)][(-  .11556E+06)]                                            M_MEMORIALDAY
       +[X4(T)][(-  .16706E+06B**-4+  .13960E+06B**-3-  .15636E+06B**-2                                                 
       -  .19886E+06B**-1)]                                                 M_NEWYEARS
       +[X5(T)][(+  .17023E+06B**-2-  .26854E+06B**-1-  .14257E+06B** 1)]   M_THANKSGIVI
       +[X6(T)][(-  71726.    )]                                            MONTH_EFF01
       +[X7(T)][(+  55617.    )]                                            MONTH_EFF02
       +[X8(T)][(+  27827.    )]                                            MONTH_EFF03
       +[X9(T)][(-  37945.    )]                                            MONTH_EFF09
       +[X10(T)[(-  23652.    )]                                            MONTH_EFF10
       +[X11(T)[(-  33488.    )]                                            MONTH_EFF11
       +[X12(T)[(+  39389.    )]                                            FIXED_EFF_N10107
       +[X13(T)[(+  63399.    )]                                            FIXED_EFF_N10207
       +[X14(T)[(+  .13727E+06)]                                            FIXED_EFF_N10307
       +[X15(T)[(+  .25144E+06)]                                            FIXED_EFF_N10407
       +[X16(T)[(+  .32004E+06)]                                            FIXED_EFF_N10507
       +[X17(T)[(+  .29156E+06)]                                            FIXED_EFF_N10607
       +[X18(T)[(+  74960.    )]                                            FIXED_DAY02
       +[X19(T)[(+  39299.    )]                                            FIXED_DAY03
       +[X20(T)[(+  27660.    )]                                            FIXED_DAY05
       +[X21(T)[(-  33451.    )]                                            FIXED_DAY21
       +[X22(T)[(+  43602.    )]                                            FIXED_DAY29
       +[X23(T)[(+  68016.    )]                                            FIXED_DAY30
       +[X24(T)[(+  226.98    )]                                            :TIME TREND        1                   1/  1   1/ 3/2011   I~T00001__010311stack
       +[X25(T)[(-  133.25    )]                                            :TIME TREND      423                  61/  3   2/29/2012   I~T00423__010311stack
       +[X26(T)[(+  164.56    )]                                            :TIME TREND      631                  91/  1   9/24/2012   I~T00631__010311stack
       +[X27(T)[(-  .42528E+06)]                                            :SEASONAL PULSE  733                 105/  5   1/ 4/2013   I~S00733__010311stack
       +[X28(T)[(-  .33108E+06)]                                            :SEASONAL PULSE  370                  53/  6   1/ 7/2012   I~S00370__010311stack
       +[X29(T)[(-  .82083E+06)]                                            :PULSE           326                  47/  4  11/24/2011   I~P00326__010311stack
       +[X30(T)[(+  .17502E+06)]                                            :PULSE           394                  57/  2   1/31/2012   I~P00394__010311stack
      +                    +   [A(T)]
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.