Ho cercato di imparare e applicare i modelli ARIMA. Ho letto un eccellente testo su ARIMA di Pankratz - Previsioni con scatola univariata - Modelli Jenkins: concetti e casi . Nel testo l'autore sottolinea in particolare il principio della parsimonia nella scelta dei modelli ARIMA.
Ho iniziato a giocare con auto.arima()la funzione di R pacchetto di previsione . Ecco cosa ho fatto, ho simulato ARIMA e poi applicato auto.arima(). Di seguito sono riportati 2 esempi. Come puoi vedere in entrambi gli esempi auto.arima()identificato chiaramente un modello che molti considererebbero non parsimonioso. Soprattutto nell'esempio 2, dove auto.arima()identificato ARIMA (3,0,3) quando in realtà ARIMA (1,0,1) sarebbe sufficiente e parsimonioso.
Di seguito sono le mie domande. Gradirei eventuali suggerimenti e raccomandazioni.
- Ci sono indicazioni su quando utilizzare / modificare i modelli identificati utilizzando algoritmi automatici come
auto.arima()? - Ci sono delle cadute nell'uso dell'AIC (che è quello che penso
auto.arima()usi) per identificare i modelli? - Può un algoritmo automatico creato parsimonioso?
A proposito, ho usato auto.arima()solo come esempio. Ciò si applicherebbe a qualsiasi algoritmo automatico.
Di seguito è riportato l'esempio n. 1:
set.seed(182)
y <- arima.sim(n=500,list(ar=0.2,ma=0.6),mean = 10)
auto.arima(y)
qa <- arima(y,order=c(1,0,1))
qa
Di seguito sono riportati i risultati di auto.arima(). Si noti che tutti i coefficienti sono insignificanti. vale a dire, valore <2.
ARIMA(1,0,2) with non-zero mean
Coefficients:
ar1 ma1 ma2 intercept
0.5395 0.2109 -0.3385 19.9850
s.e. 0.4062 0.4160 0.3049 0.0878
sigma^2 estimated as 1.076: log likelihood=-728.14
AIC=1466.28 AICc=1466.41 BIC=1487.36
Di seguito sono riportati i risultati della corsa regolare arima()con ordine ARIMA (1,0,1)
Series: y
ARIMA(1,0,1) with non-zero mean
Coefficients:
ar1 ma1 intercept
0.2398 0.6478 20.0323
s.e. 0.0531 0.0376 0.1002
sigma^2 estimated as 1.071: log likelihood=-727.1
AIC=1462.2 AICc=1462.28 BIC=1479.06
Esempio 2:
set.seed(453)
y <- arima.sim(n=500,list(ar=0.2,ma=0.6),mean = 10)
auto.arima(y)
qa <- arima(y,order=c(1,0,1))
qa
Di seguito sono riportati i risultati di auto.arima():
ARIMA(3,0,3) with non-zero mean
Coefficients:
ar1 ar2 ar3 ma1 ma2 ma3 intercept
0.7541 -1.0606 0.2072 0.1391 0.5912 0.5491 20.0326
s.e. 0.0811 0.0666 0.0647 0.0725 0.0598 0.0636 0.0939
sigma^2 estimated as 1.027: log likelihood=-716.84
AIC=1449.67 AICc=1449.97 BIC=1483.39
Di seguito sono riportati i risultati che funzionano regolarmente arima()con ordine ARIMA (1,0,1)
Series: y
ARIMA(1,0,1) with non-zero mean
Coefficients:
ar1 ma1 intercept
0.2398 0.6478 20.0323
s.e. 0.0531 0.0376 0.1002
sigma^2 estimated as 1.071: log likelihood=-727.1
AIC=1462.2 AICc=1462.28 BIC=1479.06








