Previsione modello ARIMA

chiav53
Sto analizzando una serie storica di 365 dati con R. Ho costruito un modello ARIMA stagionale.
La prof in classe ci ha chiesto di provare ad accorciare la serie (quindi togliere dalla serie per esempio gli ultimi 30 dati) per vedere come va il modello in previsione.
Io ho fatto così:
1. Ho costruito la serie storica con 365 meno gli ultimi 30 dati
2. Ho applicato il modello che avevo costruito alla mia nuova serie con 365-30 dati
3. Ho previsto i 30 valori "futuri" alle 335 osservazioni, previsti dal mio modello con il comando
predict(mod3,n.ahead=30)
4. Ho costruito una serie storica con questi 30 valori previsti, che ho chiamato p
5. ho costruito la serie storica con i 30 dati reali che avevo tolto e l'ho chiamata r
4. quello che vorrei fare è plottare r e p insieme per confrontarle.

Ho due domande:
1) E' questo secondo voi ciò che intendeva la prof o intendeva un'altra cosa?
2) Non riesco a plottare i due grafici insieme, ho provato con ts.plot ma mi dà errore

Risposte
chiav53
La ringrazio per la risposta, con i suoi suggerimenti sono riuscita a fare il grafico, cioè con la serie completa (in nero) e quella con gli ultimi valori sostituiti da quelli predetti (335+30) in rosso. Ho trovato anche il comando per aggiungere gli intervalli di confidenza della previsione.
L'unico problema è che sebbene il modello che ho creato ha le autocorrelazioni all'interno delle bande, i coefficienti di L-B e di B-P che mi portano ad accettare l'ipotesi di incorrelazione dei residui, l'istogramma della densità dei residui che più o meno ha una forma a campana e quindi (per quel poco che ne so) tutto porterebbe a pensare che si tratta di un buon modello, quando vado a confrontare i dati reali con le previsioni c'è una differenza notevole, cioè i dati reali escono (e anche di molto) dagli intervalli di confidenza della previsione.

Allora ho provato a fare lo stesso lavoro con una serie classica che sta su tutti i libri: AirPassengers.
Il modello per questa serie è $(0,1,1)(0,1,1)_12$ applicato al logaritmo della serie.
Anche con AirPassengers (il cui modello sta su tutti i libri, quindi non può essere sbagliato) c'è una differenza enorme tra valori reali e valori previsti.
Ora mi chiedo sbaglio io a fare queste previsioni ( uso il comando predict(mod, n.ahead=30) dove mod è il nome del modello) o magari sbaglio a fare qualche altra cosa oppure è normale che accada questo fatto?

P.s. Una cosa che ho notato è che quando dò ad R un file .txt con il comando read.table e assegno questi dati al vettore $a $ per esempio, quando poi chiedo ad R di elencarmi i valori di $a$ questi sono diversi dai valori che ho nel file .txt (per esempio al posto di 0 ho 1).
E' normale che i dati vengano letti in maniera diversa?

Grazie per l'aiuto

chiav53
"Sergio":
Comunque, non vedo differenze enormi per AirPassengers

E' vero hai ragione. Io ho usato dei comandi un po' più lunghi per fare il grafico comunque penso siano giusti lo stesso.
Dai tuoi comandi ho capito dove sbagliavo, io confrontavo (sia nel mio modello, sia in AirPassengers) la serie reale dei dati (senza applicare il logaritmo) con i valori previsti dal modello ( che invece considerava il logaritmo).
Adesso che ho aggiustato i miei comandi (che sono molto più lunghi dei tuoi ma dovrebbero portare allo stesso risultato) il confronto è decisamente migliore. Adesso i valori previsti sono all'interno delle bande! :smt023
Grazie di tutto

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.