2017-07-27 7 views
5

RのHoltWinters予測パッケージを使用して、毎月の通話量データから予測を生成しています。R HoltWinters予測パッケージ - データの過大補完を避ける

ほとんどの場合はうまく機能しますが、特に、コールの需要のステップ変更などの特別な期間がある場合は、データがオーバーフィットする傾向があります。

最近の例では、中間に段差があり、アルファベットを0.94、ベータを0、ガンマを0に設定すると、奇妙な予測を生成します。

Month Data 
1 7082 
2 6407 
3 5479 
4 5480 
5 5896 
6 6038 
7 5686 
8 6126 
9 6280 
10 6893 
11 6028 
12 5496 
13 3569 
14 3383 
15 3718 
16 3351 
17 3340 
18 3559 
19 3722 
20 3201 
21 3494 
22 2810 
23 2611 
24 2471 
25 7756 
26 6922 
27 7593 
28 6716 
29 7278 
30 7071 

これは私は、標準的な許容値にパラメータを平滑化指数を設定した場合、私は比較に

scandata <-read_csv("525-gash.csv"); 
pages <-scandata[,2]; 
myts <-ts(pages , start=c(2015, 1), frequency = 12) 
myforecast <- HoltWinters (myts, seasonal ="additive", 
      optim.start = c(alpha = 0.2, beta = 0.1, gamma = 0.1)); 
myholt = predict(myforecast, 12 , prediction.interval = FALSE); 
plot(myforecast,myholt); 

を使用しているRスクリプトです - 0.2アルファ、0.1 0.1およびガンマベータ、私はより良い見通しを得る。

私はまだ予測の自動フィッティング部分を使用したいと思いますが、アルファ、ベータ、ガンマの周りに範囲を入れたいと思います。

私は、アルファが0.1から0.5、ガンマが0.1から0.3、ガンマが0.1から0.3でなければならないように自動フィッティングに限界を設定しようとしていました。

https://stat.ethz.ch/R-manual/R-devel/library/stats/html/HoltWinters.html

これは

optim.control = list() 

機能を設定することで可能でなければなりませんように見えますが、私は成功し、これを取得するには、α、β、γに制限を設定する方法を見つけることができませんでしたワーキング。

誰でもこれを行う方法を知っていますか?

答えて

2

マルチパラメータ最適化の場合、HoltWintersはL-BFGS-Bアルゴリズムを使用します。元のHoltWintersの機能を調整することにより、すべてのパラメータに対してlowerupperの制限を設定することができます。

編集機能:からライン66を変化させることにより、

fix(HoltWinters) 

:ウィンドウを閉じて、変更を保存

enter image description here

enter image description here

(これは、この影響を与えますセッションのみ)。前と同じようにコードを実行してください:

myforecast <- HoltWinters (myts, seasonal ="additive", 
     optim.start = c(alpha = 0.2, beta = 0.1, gamma = 0.1)) 
+0

有望そうです。私はこれを試しましたが、このエラーメッセージが表示されます。 hw(p [1L]、p [2L]、p [3L])のエラー:オブジェクト 'C_HoltWinters'が見つかりません – Jonty5817

+0

私はRstudioを使用していることを追加する必要があります – Jonty5817

+0

関数を保存しようとしたとき、別の名前。あなたはR Guiを試しましたか? – Lstat

関連する問題