3

週ベースで年次時系列を予測しようとしています (年に 52 週間で、164 週間のデータがあります)。頻度が 24 より大きいため、季節性が無視されないように、R は「ets」ではなく「stlf」を使用するようにアドバイスします。「stlf」関数は完全に機能し、次の結果が得られました。

> WR.ets<-stlf(WeeklyReferral,method="ets")
> summary(WR.ets)

Forecast method: STL +  ETS(A,A,N)

Model Information:
ETS(A,A,N) 

Call:
 ets(y = x.sa, model = etsmodel) 

  Smoothing parameters:
    alpha = 0.0262 
    beta  = 1e-04 

  Initial states:
    l = 93.1548 
    b = 0.1159 

  sigma:  12.6201

     AIC     AICc      BIC 
1675.954 1676.205 1688.353 

Error measures:
                     ME     RMSE      MAE       MPE     MAPE      MASE
Training set -0.1869514 12.62011 9.790321 -2.589141 11.12905 0.5990874

Forecasts:
         Point Forecast     Lo 80     Hi 80     Lo 95     Hi 95
2013.423       95.39869  79.22537 111.57201  70.66373 120.13364
2013.442       95.03434  78.85538 111.21330  70.29075 119.77793
...............................................................

ポイント予測は、予測値の平均を示します。しかし、私が欲しいのは平均ではなく実際の予測値です。したがって、私はそれがどのように機能するかを理解し、ステップを分解しようとしています。時系列で最初に「stl」分解を使用します

temp<-stl(WeeklyReferral,s.window="periodic", robust=TRUE)
> temp
 Call:
 stl(x = WeeklyReferral, s.window = "periodic", robust = TRUE)

Components
Time Series:
Start = c(2010, 15) 
End = c(2013, 22) 
Frequency = 52 
            seasonal     trend   remainder
2010.269   7.1597729  82.33453  -0.4943046
2010.288  -1.4283001  82.69446   5.7338358
..........................................
2013.404   8.0046803 117.74388  -0.7485615

次に、「傾向 + 残余」を新しい時系列として使用して、3 か月 (12 期間) 予測します。「stlf」関数によって取得された最後の状態ベクトルを、次の式の初期状態ベクトルとして使用します。そして、「stlf」関数がモデルが ETS(A,A,N) であることを示しているため、昨年の同じ週の季節値を予測値に追加します。

y<-c(rep(NA,13))
l<-c(rep(NA,13))
b<-c(rep(NA,13))
e<-c(rep(NA,12))
alpha<-0.0262
beta<-0.0001

y[1]<-117.74388-0.7485615
l[1]<-109.66913
b[1]<-0.11284923

for (j in 1:1000){
  for(i in 2:13){
e[i-1]=rnorm(sd=12.6201,n=1)
b[i]<-b[i-1]+beta*e[i-1]
l[i]<-l[i-1]+b[i-1]+alpha*e[i-1]
y[i]<-l[i-1]+b[i-1]+e[i-1]+temp$time.series[i+164-52,1]
}}

私は正しいですか?

新しい分解された時系列で「ets」関数を使用しようとしましたが、さまざまなパラメーター (アルファ、ベータ、l、b、シグマ) が与えられ、予測値が得られませんでした。

ご意見をお待ちしております。

4

1 に答える 1