2017-06-26 11 views
1

私は時系列予測モデルを構築しています。私が持っているデータには、輸送された材料の貨物料金である1つの変数「金額」があります。私は毎月の形式で10年間のデータを持っています。 ここでの挑戦は、1ヵ月分の貨物請求額が、その月に輸送された貨物に課された金額を必ずしも反映しているとは限りません。時々、材料は断片的に輸送され、2〜3ヶ月後に請求され、これらの請求書は予想外に高くなり、時系列パターンをランダムに乱します。たとえば、2017年3月のBillがある場合、1月と2月からいくらかの金額があるかもしれません。 私はARIMAを試して、40%のMAPEを得ました。私はクロストン法を試して、MAPEは23%〜32%で変化します。ローリングウインドウの予測はここで助けになるでしょうか?他の提案もお願いします。この典型的なケースでの予測に最適なアプローチ

編集1 - データセット(2008年 - 2016年)を追加しました。私は教授から毎月の収入データを得ることができました。だから、TSLM関数を使って67%のR二乗を与えた二変量モデルを試しました。彼が期待しているよりも低いです。

yearmon Paid.Amount revenue 
8-Jan 1936599.88 2937700 
8-Feb 1844486.91 3074900 
8-Mar 1735122.05 3690000 
8-Apr 1279519.88 3097700 
8-May 1539967.05 3077100 
8-Jun 1231146.36 3352300 
8-Jul 1162991.84 2400600 
8-Aug 1263879.69 3050000 
8-Sep 1244323  3899200 
8-Oct 1424559.93 3533000 
8-Nov 898217.92 2723400 
8-Dec 1085732.89 4055400 
9-Jan 1029221.93 2486600 
9-Feb 876441.65 2101400 
9-Mar 880441.37 2998400 
9-Apr 722948.96 1996500 
9-May 958005.43 1807400 
9-Jun 610958.71 2332300 
9-Jul 695254.7 2280900 
9-Aug 756439.4 2020500 
9-Sep 926815.65 3231500 
9-Oct 924445.94 2294200 
9-Nov 830403.35 2782700 
9-Dec 925630.38 3246000 
10-Jan 700777.04 2135400 
10-Feb 548469.87 1962800 
10-Mar 696256.42 2641700 
10-Apr 695798.95 2025700 
10-May 704871.44 1996500 
10-Jun 728251.49 2590600 
10-Jul 664962.06 1984500 
10-Aug 727306.82 2421300 
10-Sep 720462.6 3084000 
10-Oct 999328.49 2874300 
10-Nov 950702.54 3069200 
10-Dec 984782.65 3704600 
11-Jan 864608.73 2976800 
11-Feb 711251.25 2981700 
11-Mar 1145917.13 3552500 
11-Apr 844124.97 2684600 
11-May 865543.97 2667900 
11-Jun 883278.98 2707300 
11-Jul 834070.34 2493400 
11-Aug 1116866.09 3023300 
11-Sep 1151143.55 3581100 
11-Oct 1351395.01 3217800 
11-Nov 1118297.76 3239000 
11-Dec 1374179.71 4637800 
12-Jan 989117.07 3313000 
12-Feb 927470.54 2530600 
12-Mar 1069185.01 3496500 
12-Apr 1009312.54 2403000 
12-May 1022559.87 2638500 
12-Jun 961677.71 3246000 
12-Jul 834523.02 2272300 
12-Aug 1081960.39 2886000 
12-Sep 1107927.72 3890100 
12-Oct 1093140.22 2682100 
12-Nov 1310195.61 3292000 
12-Dec 1344106.8 4960100 
13-Jan 1030537.47 3114800 
13-Feb 911014.19 3121300 
13-Mar 930071.08 3490900 
13-Apr 890881.25 2542800 
13-May 876954.67 2354800 
13-Jun 915720.02 3382700 
13-Jul 908514.48 2310000 
13-Aug 1043391.95 3087300 
13-Sep 1093640.35 3869300 
13-Oct 1197865.65 3170800 
13-Nov 1216958.3 3875300 
13-Dec 1461027.39 5801000 
14-Jan 1242969.8 2970300 
14-Feb 1054214.44 3595300 
14-Mar 1171459.28 4012800 
14-Apr 990720.44 2916700 
14-May 891504.63 2794200 
14-Jun 936850.28 3501000 
14-Jul 985009.09 2689100 
14-Aug 1229039.59 3199000 
14-Sep 1272825  4605200 
14-Oct 1274631.05 3649500 
14-Nov 1493390.61 4171600 
14-Dec 1810523.68 6043700 
15-Jan 1225779.44 3526300 
15-Feb 1066156.45 3374900 
15-Mar 1158659.52 4141200 
15-Apr 1085067.52 3058800 
15-May 1243264.14 2932700 
15-Jun 1375846.69 3581800 
15-Jul 1230235.200 
15-Aug 1242221.75 3348200 
15-Sep 1372310.27 4443200 
15-Oct 1489968.27 3254200 
15-Nov 1520498.52 4086200 
15-Dec 1873884.03 7100500 
16-Jan 1225046.91 2922600 
16-Feb 1169703.36 3314600 
16-Mar 1345611.1 4597900 
16-Apr 1182650.19 3057000 
16-May 1368704.21 3599400 
16-Jun 1485036.6 4292300 
16-Jul 1194201.57 3189600 
16-Aug 1378889.12 3289200 
16-Sep 1533056.53 4666700 
16-Oct 1398696.43 3837600 
16-Nov 1742668.73 4234900 
16-Dec 2162712.41 6418700 

誰かがPaid.Amountを予測するためのより良いアプローチを提案できるかどうか大いに感謝します。

ありがとうございました。

+0

をし、SMA = 1は、私がHyndmanの予報パッケージが好き。それはデータをうまく処理し、一連の予測オプションと対応するプロットを提供します。 –

+0

あなたのデータセットを投稿する –

+0

@TomReilly - 私は質問を更新し、データセットを持っています。データセットに基づいてあなたの提案を楽しみにしています。 –

答えて

0

Sanket、

あなたは結果hereのすべてをダウンロードすることができます。 Details.htmは、作成されたモデルの監査です。このモデルは、収益変数の遅れ変数でこれをサポートし、Y(支払済)への影響が遅れていることを示しています。第1期から第19期にかけての時間トレンドは収益によって説明されておらず、因果関係の欠如によるものである。あなたは説明がありますか?そうであれば、その要因を特定して因果関係として追加します。

弱い季節性がありますが、Autoboxは特定の月が重要性を示すと特定しました(つまり、平均よりも8,10,11が高い)。

遅れ1と2のAR2は、4の遅れからより多くの収益の遅れを使用する役割も果たします(純粋な回帰として表現されたすべての要素を含む純粋な右手方程式を示すrhside.txtを参照してください)。

外れ値は、期間17と音量を上げる89のレベルシフトで同定された(再び収入ので、多分別の省略因果によって説明されていない)。

Equation

あなたは、収益の予測を提供していませんでしたので、 Autobox(私が参加しているソフトウェア)がモデルを構築し、将来の価値を予測することを許可しました。それはモデル/予測でもあるので、あなたの側からのより良い収益予測を提供するために、可能な強化を行うことができます!収入変数はモデルにとどまっていませんでしたが、我々はそれを制約し、モデルがいくつかの決定論的変数とAR係数を含むように進化したので、それは非常に有意であることが判明しました。

2元正規化された収入と支払いのプロットは強いポジティブな関係を示していますが、ラグにも影響を与える可能性のある同時関係を見ていることだけを知っています。

Bivariate Normalized Scatter Plot

二変量線グラフは、これは、いくつかの期間後yのバンプとxとyとの関係を遅れサポート。ここで

Bivariate Normalized Line plot

見通しであるenter image description here

+2

トム、詳細な分析をお寄せいただきありがとうございます。私はR-二乗が90%に達したことが分かります。これは非常に良いです。私はあなたの努力を大変感謝していますが、私はこのモデリングの背後でどのプロセスが実行されているのか理解できません。私はあなたが予測を行うためにあなたのソフトウェアを使用したことを知っていますが、Rでこれを達成する方法はわかりません。もし良い結果を得るためにRでどのような機能とアプローチを利用できるのかをお知りになりたいなら、あなたの時間をありがとう。 –

+0

R-squaredは良いビーコンではありません。私たちはあなたのためにRのバージョンのソフトウェアを持っています。結果を再現するには、リストされている2つの傾向(つまり、0,0,0,0,0,1,2,3)のダミー変数を作成する必要があります。 ARIMAコンポーネントを考慮する必要があります。レベルシフト(つまり、0,0,0,0,0,1,1,1,1,1など)を考慮する必要があります。季節的な脈拍(すなわち、0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0など)を考慮する必要があります。あなたは因果関係の遅れを作り出す必要があります。外れ値(0,0,0,0,0,1,0,0,0など)を考慮する必要があります。 –

0

次私は一貫して、比較的簡単な1歩先を毎月の予測に使用する最初のアプローチです。この問題のより難しい特徴のいくつかをモデリングするために、後で時間を費やすことができます。

  1. データの最初の2年間を削除します。私は次のようでした。この場合

    。短期的な見通しのために と思われない明確な体制があります。

  2. 私は対数正規変換を使用してデータを変換しました。ちょうど 私に示唆されたデータの速い眼球は 非線形成長が起こっているかもしれません。
  3. 初期フィッティング、検証、および のテスト(この場合、テスト用のデータは設定しませんでした)のセクションにデータを分割します。
  4. 評価したいモデルのコレクションを準備します。 I の評価基準は、1ステップ先行予測のMSEです。
  5. これらのモデルに対して相互検証手順を実行します。 2つのリンクに続く は、 の時系列でうまくいくプロセスを説明しています。 Time-Series Cross Validation - 1Time-Series Cross Validation - 2
  6. 最小の相互検証エラーを持つモデルを選択することを選択しました。 テストデータセットを保管していた場合は、 と予測して、性能が の相互認証期間と同じか、ほぼ同じであることを確認します。
  7. 最適モデルの検証期間では、rsqrは83.4%です。 MAEは$ 86,478です。 MAPEは6.9%です。

Iは、試験した様々な季節ARIMAモデルから最適なモデルになってしまった。だから [0,0,1] [1,1,1] 12 MAを= 1、SAR = 1、SDIFF = 1シーズンは12

Cross Validation Results

関連する問題