3

私はRパッケージにかなり慣れていないので、時系列を扱っています。将来のクリック数を予測するための予測モデルを構築する必要があります。予測の時間間隔は 1 時間ごとにする必要があります。

私の時系列の例:

 DateTime            Clicks


(06/23/13 00:00:00)  757
(06/23/13 01:00:00)  714
(06/23/13 02:00:00)  776
(06/23/13 03:00:00)  870
(06/23/13 04:00:00) 1263
(06/23/13 05:00:00) 1457
(06/23/13 06:00:00) 1621
(06/23/13 07:00:00) 1606
(06/23/13 08:00:00) 1779
(06/23/13 09:00:00) 1832
(06/23/13 10:00:00) 1808
(06/23/13 11:00:00) 1789
(06/23/13 12:00:00) 1907
(06/23/13 13:00:00) 2021
(06/23/13 14:00:00) 2018
(06/23/13 15:00:00) 1836
(06/23/13 16:00:00) 1627
(06/23/13 17:00:00) 1331
(06/23/13 18:00:00) 1059
(06/23/13 19:00:00)  817
(06/23/13 20:00:00)  761
(06/23/13 21:00:00)  781
(06/23/13 22:00:00)  752
(06/23/13 23:00:00)  725
(06/24/13 00:00:00)  708
(06/24/13 01:00:00)  718
(06/24/13 02:00:00)  791
(06/24/13 03:00:00)  857
(06/24/13 04:00:00) 1094
(06/24/13 05:00:00) 1247
(06/24/13 06:00:00) 1316
(06/24/13 07:00:00) 1401
(06/24/13 08:00:00) 1575
(06/24/13 09:00:00) 1604
(06/24/13 10:00:00) 1774
(06/24/13 11:00:00) 1865
(06/24/13 12:00:00) 1964
(06/24/13 13:00:00) 2002
(06/24/13 14:00:00) 2043
(06/24/13 15:00:00) 2030
(06/24/13 16:00:00) 1733
(06/24/13 17:00:00) 1420
(06/24/13 18:00:00) 1075
(06/24/13 19:00:00)  831
(06/24/13 20:00:00)  789
(06/24/13 21:00:00)  791
(06/24/13 22:00:00)  715
(06/24/13 23:00:00)  683
(06/25/13 00:00:00)  802
(06/25/13 01:00:00)  811
(06/25/13 02:00:00)  838
(06/25/13 03:00:00)  851
(06/25/13 04:00:00) 1064
(06/25/13 05:00:00) 1191
(06/25/13 06:00:00) 1242
(06/25/13 07:00:00) 1233
(06/25/13 08:00:00) 1452
(06/25/13 09:00:00) 1501
(06/25/13 10:00:00) 1718
(06/25/13 11:00:00) 1861
(06/25/13 12:00:00) 1896
(06/25/13 13:00:00) 2073
(06/25/13 14:00:00) 2279
(06/25/13 15:00:00) 2239
(06/25/13 16:00:00) 2018
(06/25/13 17:00:00) 1550
(06/25/13 18:00:00) 1182
(06/25/13 19:00:00) 1063
(06/25/13 20:00:00)  973
(06/25/13 21:00:00) 1027
(06/25/13 22:00:00)  961
(06/25/13 23:00:00)  890
(06/26/13 00:00:00)  894
(06/26/13 01:00:00)  835
(06/26/13 02:00:00)  852
(06/26/13 03:00:00)  893
(06/26/13 04:00:00) 1111
(06/26/13 05:00:00) 1239
(06/26/13 06:00:00) 1263
(06/26/13 07:00:00) 1260
(06/26/13 08:00:00) 1451
(06/26/13 09:00:00) 1556
(06/26/13 10:00:00) 1733
(06/26/13 11:00:00) 1981
(06/26/13 12:00:00) 2063
(06/26/13 13:00:00) 2150
(06/26/13 14:00:00) 2278
(06/26/13 15:00:00) 2188
(06/26/13 16:00:00) 1980
(06/26/13 17:00:00) 1611
(06/26/13 18:00:00) 1381
(06/26/13 19:00:00) 1211
(06/26/13 20:00:00) 1129
(06/26/13 21:00:00) 1092
(06/26/13 22:00:00) 1009
(06/26/13 23:00:00)  973
(06/27/13 00:00:00)  865
(06/27/13 01:00:00)  805
(06/27/13 02:00:00)  840
(06/27/13 03:00:00)  813
(06/27/13 04:00:00) 1010
(06/27/13 05:00:00) 1201
(06/27/13 06:00:00) 1329
(06/27/13 07:00:00) 1343
(06/27/13 08:00:00) 1532
(06/27/13 09:00:00) 1612
(06/27/13 10:00:00) 1768
(06/27/13 11:00:00) 1977
(06/27/13 12:00:00) 2089
(06/27/13 13:00:00) 2247
(06/27/13 14:00:00) 2270
(06/27/13 15:00:00) 2275
(06/27/13 16:00:00) 2155
(06/27/13 17:00:00) 1639
(06/27/13 18:00:00) 1315
(06/27/13 19:00:00) 1099
(06/27/13 20:00:00) 1052
(06/27/13 21:00:00) 1099
(06/27/13 22:00:00)  965
(06/27/13 23:00:00)  961
(06/28/13 00:00:00)  765
(06/28/13 01:00:00)  830
(06/28/13 02:00:00)  874
(06/28/13 03:00:00)  845
(06/28/13 04:00:00) 1011
(06/28/13 05:00:00) 1160
(06/28/13 06:00:00) 1232
(06/28/13 07:00:00) 1310
(06/28/13 08:00:00) 1467
(06/28/13 09:00:00) 1639
(06/28/13 10:00:00) 1704
(06/28/13 11:00:00) 3704
(06/28/13 12:00:00) 7350
(06/28/13 13:00:00) 7629
(06/28/13 14:00:00) 7570
(06/28/13 15:00:00) 7276
(06/28/13 16:00:00) 7189
(06/28/13 17:00:00) 7139
(06/28/13 18:00:00) 7167
(06/28/13 19:00:00) 6871
(06/28/13 20:00:00) 6575
(06/28/13 21:00:00) 6112
(06/28/13 22:00:00) 5276
(06/28/13 23:00:00) 4407
(06/29/13 00:00:00) 3741
(06/29/13 01:00:00) 3427
(06/29/13 02:00:00) 3311
(06/29/13 03:00:00) 3096
(06/29/13 04:00:00) 3010
(06/29/13 05:00:00) 3301
(06/29/13 06:00:00) 3783
(06/29/13 07:00:00) 4578
(06/29/13 08:00:00) 5599
(06/29/13 09:00:00) 6590
(06/29/13 10:00:00) 6998
(06/29/13 11:00:00) 7323
(06/29/13 12:00:00) 7282
(06/29/13 13:00:00) 7009
(06/29/13 14:00:00) 6636
(06/29/13 15:00:00) 6407
(06/29/13 16:00:00) 6386
(06/29/13 17:00:00) 6505
(06/29/13 18:00:00) 3104
(06/29/13 19:00:00)  939
(06/29/13 20:00:00)  915
(06/29/13 21:00:00)  955
(06/29/13 22:00:00)  968
(06/29/13 23:00:00)  870
(06/30/13 00:00:00) 3504
(06/30/13 01:00:00) 3122
(06/30/13 02:00:00) 2874
(06/30/13 03:00:00) 2613
(06/30/13 04:00:00) 2905
(06/30/13 05:00:00) 2806
(06/30/13 06:00:00) 3244
(06/30/13 07:00:00) 3789
(06/30/13 08:00:00) 5015
(06/30/13 09:00:00) 6031
(06/30/13 10:00:00) 6841
(06/30/13 11:00:00) 7014
(06/30/13 12:00:00) 7265
(06/30/13 13:00:00) 7460
(06/30/13 14:00:00) 7275
(06/30/13 15:00:00) 7531
(06/30/13 16:00:00) 7013
(06/30/13 17:00:00) 6637
(06/30/13 18:00:00) 5770
(06/30/13 19:00:00) 5593
(06/30/13 20:00:00) 6524
(06/30/13 21:00:00) 5081
(06/30/13 22:00:00) 1131
(06/30/13 23:00:00)  949

これは 1 時間ごとの 1 週間の時系列です。このデータを考慮して、Holt-Winters を使用して、次の 1 時間 (06/28/13 00:00:00) に取得されるクリック数を予測する必要があります。私はそれを理解しようとしていますが、本当に混乱しています。誰かが私を正しい方向に向けることができれば、私は感謝します.

編集:

Holt-Winters 予測モジュールを次のように使用しています。

search_fit <- HoltWinters(z)
p = predict(search_fit,24)

しかし問題は、HOLT-WINTERS が予測の傾向を検出していないことです。それは正常ですか?2013 年 6 月 28 日から大きな変更があるためです。

以下は私の予測値です:

Time Series:
Start = c(15887, 1) 
End = c(15887, 24) 
Frequency = 24 
            fit
 [1,]  927.6462
 [2,]  935.2716
 [3,] 1006.5636
 [4,] 1066.4182
 [5,] 1295.5852
 [6,] 1442.9397
 [7,] 1508.1693
 [8,] 1590.9613
 [9,] 1762.5033
[10,] 1789.1287
[11,] 1958.1083
[12,] 2049.1711
[13,] 2054.7757
[14,] 2168.1302
[15,] 2163.1514
[16,] 1979.5268
[17,] 1772.7355
[18,] 1483.0484
[19,] 1220.1946
[20,]  987.2366
[21,]  938.1745
[22,]  965.5915
[23,]  940.4669
[24,]  911.0089

これが予測プロットです。 ここに画像の説明を入力

傾向成分は変化を示しません。Holt-Winters の予測メソッドを使用しているときに間違っている可能性があります。

4

2 に答える 2

4

ここにいくつかの提案/試してみることがあります:

傾向が見られない理由の 1 つは、参照している (2013 年 6 月 28 日のデータの) 変化がレベルコンポーネントHoltWintersに現れている可能性があります。クリック数は 6/28 の正午から大幅に変化ました。

1 つの注意:HoltWinters()スムージング パラメーター (アルファ、ベータ、ガンマ) を吐き出します。勾配bが得られます。ベータが 0 の場合、それはトレンドが時系列にわたって変化しないことを意味するだけです。斜面bから始まり、同じ斜面が続いています。

試してみること

これを試して:

 > library(forecast)
 > accuracy(search_fit)

また、自己相関を確認することをお勧めします。

 > acf(search_fit$residuals, lag.max=24)

分析に役立ついくつかの一般的なコメント

  • HoltWinters (指数平滑法) に加えて、ARIMA メソッドを調べることもできます。ロブ・ハインドマンが彼の教科書の第 8 章の冒頭で述べているように:

指数平滑法と ARIMA モデルは、時系列予測に対して最も広く使用されている 2 つのアプローチであり、問​​題に対する補完的なアプローチを提供します。指数平滑法モデルはデータの傾向と季節性の記述に基づいていましたが、ARIMA モデルはデータの自己相関を記述することを目的としています。

お役に立てれば。

于 2013-07-17T07:06:35.267 に答える