日次データを使用した時系列予測:リグレッサーを使用したARIMA


15

私は、約2年間の毎日のデータポイントを含む販売データの毎日の時系列を使用しています。いくつかのオンラインチュートリアル/例に基づいて、データの季節性を特定しようとしました。毎週、毎月、そしておそらく毎年の周期性/季節性があるようです。

たとえば、特に月の最初の給料日には、週の数日間続く給料日があります。また、いくつかの特定の休日の影響もあり、観測に注目することで明確に識別できます。

これらの観察のいくつかを装備して、私は次を試みました:

  1. (持つARIMA Arimaauto.arima回帰(及び機能に必要な他のデフォルト値)を用いてR-予測パッケージから)。私が作成したリグレッサーは、基本的に0/1値のマトリックスです。

    • 11か月(n-1)変数
    • 12の休日変数
    • 給料日の部分を理解できませんでした...それは思ったよりも少し複雑な効果だからです。給料日の効果は、月の1日の平日によって異なります。

    時系列をモデル化するために7(つまり、週ごとの頻度)を使用しました。テストを試してみました-一度に7日間予測します。結果は合理的です。11週間の予測の平均精度は、週平均5%のRMSEになります。

  2. TBATSモデル(R予測パッケージから)-複数の季節性(7、30.4375、365.25)を使用し、明らかにリグレッサーなし。週平均RMSE 3.5%では、精度はARIMAモデルよりも驚くほど優れています。

    この場合、ARMAエラーのないモデルのパフォーマンスはわずかに向上します。#1で説明したARIMAモデルのHoliday Effectsの係数のみをTBATSモデルの結果に適用すると、週平均RMSEは2.95%に向上します

現在、これらのモデルの基礎理論に関する多くの背景や知識がなくても、このTBATSアプローチが有効なものであるかどうかはジレンマに陥っています。11週間のテストでRMSEを大幅に改善していますが、将来この精度を維持できるかどうか疑問に思っています。または、ARIMAからTBATSの結果にホリデー効果を適用することは正当化できます。すべての貢献者からのどんな考えでも高く評価されます。

テストデータのリンク

注:ファイルをダウンロードするには、「名前を付けてリンクを保存」を実行します。


1
サイト@CKIへようこそ。ウェブ上のどこかにデータをアップロードできる場合は、ここにリンクを投稿できます。
GUNG -復活モニカ

私は、リグレッサーがどのように設定されたかについてもっと知りたいです。
軌道

6日間のダミー、11の月間ダミー、および休日は、単純な0/1回帰です。月の固定日、休日の前後のリードとラグ、時間の傾向、季節の脈拍と脈拍は、ヒューリスティック検索に基づいています。
トムライリー

CKI、どうやって解決しましたか?
トムライリー14

CKIさん、こんにちは。季節性マトリックスの作成に使用したRスクリプトの一部を共有できますか
Ahmed

回答:


9

アプローチを評価するために、1つの数字ではなく、異なる視野の異なる起源のモデルと予測を評価する必要があります。

あなたのデータは米国からのものだと思います。週末に2つの休日を着陸させることができ、平日は読めないので、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.