2013-05-17 19 views
5

Używam funkcji ets() i auto.arima() z pakietu prognoz do przewidywania przyszłych wartości w R. Które kryteria należy wybrać, aby wybrać najlepszy model między tymi dwoma?które jest najlepszym kryterium wyboru funkcji ets() i auto.arima() w R?

Poniżej podano dokładność wyników ets (data.ets) i auto.arima (data.ar).

> accuracy(data.ets) 
    ME  RMSE  MAE  MPE  MAPE  MASE 
0.6995941 4.1325246 3.2634246 0.5402465 2.7777897 0.5573740 

> accuracy(data.ar) 
    ME  RMSE  MAE  MPE  MAPE  MASE 
-0.8215465 4.3640818 3.1070931 -0.7404200 2.5783128 0.5306735 

i AIC każdego modelu są następujące

> ETSfit$aic 
[1] 613.8103 
> ARIMAfit$aic 
[1] 422.5597 

Poniżej dopasowanego modelu zarówno ETS i auto.arima

> ETSfit 
ETS(A,N,A) 

Call: 
ets(y = data.ts) 

Smoothing parameters: 
alpha = 0.5449 
gamma = 1e-04 

Initial states: 
l = 95.8994 
s=6.3817 -3.1792 6.8525 3.218 -3.4445 -1.2408 
     -4.5852 0.4434 1.7133 0.8123 -1.28 -5.6914 

sigma: 4.1325 

AIC  AICc  BIC 
613.8103 620.1740 647.3326 

> ARIMAfit 
Series: data.ts 
ARIMA(1,1,1)(0,1,1)[12]      

Coefficients: 
    ar1  ma1  sma1 
    0.3808 -0.7757 -0.7276 
s.e. 0.1679 0.1104 0.2675 

sigma^2 estimated as 22.68: log likelihood=-207.28 
AIC=422.56 AICc=423.19 BIC=431.44 

życzliwej pomocy.

Odpowiedz

11

Wyświetlane są pomiary dokładności w próbce, które są trudne do porównania bez znajomości liczby parametrów w każdym modelu. Ponadto wartości AIC nie są porównywalne między tymi klasami modeli.

Najprostszym podejściem jest użycie zestawu testów, który nie jest używany do wyboru lub oceny modelu, a następnie porównywanie dokładności prognoz w zestawie testowym.

Bardziej zaawansowaną wersją tego jest użycie sprawdzania krzyżowego szeregów czasowych, jak opisano w http://otexts.com/fpp/2/5/.

+0

Dzięki za szybką odpowiedź. Przeszedłem przez twoją stronę internetową, która jest bardzo dobra. Teraz dodałem dopasowany model dla każdego ets i auto.arima, jeśli pomaga – priyaj

+0

(+1) na powiązanie niesamowitego zasobu – Nishanth