我正在 Build 一个时间序列预测模型 . 我拥有的数据有一个变量'amount',即运输材料的运费 . 我有10年的月度数据 . 这里的挑战是一个月的运费账单金额不一定反映仅在该月运输的材料的费用 . 有时,材料是碎片运输的,并在接下来的2-3个月内充电,这些钞票意外地高,随机扰乱了时间序列模式 . 例如,如果我有2017年3月的比尔,它可能也有1月和2月的一些金额 . 我尝试了ARIMA并获得了40%的MAPE . 我尝试过Croston方法,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.7 3210200
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,我将不胜感激 .
谢谢 .
2 回答
SANKET,
您可以下载所有结果here . Details.htm是对构建的模型的审计 . 该模型通过收入变量中的滞后变量支持这一点,表明其对Y(付费)的影响存在延迟 . 从第1期开始下降而第二期在第19期开始的时间趋势不是由收入来解释的,而是由于省略的因果关系 . 你有解释吗?如果是这样,那么确定并添加该因素作为因果关系 .
季节性较弱,但Autobox确定某些月份具有重要性(即8,10和11均高于平均水平) .
滞后1和2的AR2也将在滞后4中使用更多滞后收益 . (参见rhside.txt显示纯右手方程,所有因子均表示为纯回归 .
在第17期确定了一个异常值,在89处增加了一个水平位移(再次没有通过收入解释,因此可能是另一个省略的因果关系) .
您没有提供收入预测,因此我们允许Autobox(我参与的软件)构建模型并预测未来 Value . 可以进行一项可能的改进,以提供更好的收入预测,因为这也是模型/预测!收入变量并没有停留在模型中,然后我们对其进行约束,无论如何,随着模型演变为包含一些确定性变量和AR因子,它变得非常重要 .
收入和支付的双变量归一化图表显示出强烈的积极关系,但只知道您正在寻找同时存在的关系,它们也可能在滞后时产生影响 .
双变量线图支持x和y之间的这种滞后关系,并在几个周期之后出现凹凸 .
这是预测
以下是我一直用于相对简单的1步提前月度预测的初始方法 . 之后可以花更多的时间来尝试模拟这个问题的一些更难的特征 .
在这种情况下,我做了以下事情:
删除前两年的数据 . 有一个明确的制度
改变或至少改变趋势似乎不太可能进行近期预测 .
我使用对数正态变换转换了数据 . 只是对我提出的数据的快速眼球可能会发生一些非线性增长 .
将数据分解为初始拟合,验证和测试的部分(在这种情况下,我没有留出数据进行测试) .
准备要评估的模型集合 . 我选择评估它们的标准是提前一步预测的MSE .
对这些模型执行交叉验证程序 . 以下两个链接解释了适用于时间序列的过程 . Time-Series Cross Validation - 1 Time-Series Cross Validation - 2
我选择了交叉验证错误最低的模型 . 如果我保留了测试数据集,我会尝试对其进行预测,以确认性能与交叉验证期间的性能一样好或几乎一样好 .
在最优模型的验证期间,rsqr为83.4% . MAE是86,478美元 . MAPE为6.9% .
我测试的各种季节ARIMA模型的最优模型最终为:[0,0,1] [1,1,1] 12所以MA = 1,SAR = 1,SDiff = 1,SMA = 1,其中季节是12 .