Previsioni ARIMA con stagionalità e tendenza, risultato strano


9

mentre passo alle previsioni con i modelli ARIMA, sto cercando di capire come posso migliorare una previsione basata sull'ARIMA in base alla stagionalità e alla deriva.

I miei dati sono le seguenti serie temporali (oltre 3 anni, con chiara tendenza al rialzo e stagionalità visibile, che sembra non essere supportata dall'autocorrelazione in ritardo di 12, 24, 36 ??).

    > bal2sum3years.ts
             Jan     Feb     Mar     Apr     May     Jun     Jul     Aug          
    2010 2540346 2139440 2218652 2176167 2287778 1861061 2000102 2560729 
    2011 3119573 2704986 2594432 2362869 2509506 2434504 2680088 2689888 
    2012 3619060 3204588 2800260 2973428 2737696 2744716 3043868 2867416 
             Sep     Oct     Nov     Dec
    2010 2232261 2394644 2468479 2816287
    2011 2480940 2699780 2760268 3206372
    2012 2951516 3119176 3032960 3738256

Il modello che mi è stato suggerito auto.arima(bal2sum3years.ts)mi ha dato il seguente modello:

    Series: bal2sum3years.ts 
    ARIMA(0,0,0)(0,1,0)[12] with drift         

    Coefficients:
              drift
          31725.567
    s.e.   2651.693

    sigma^2 estimated as 2.43e+10:  log likelihood=-321.02
    AIC=646.04   AICc=646.61   BIC=648.39

Tuttavia, acf(bal2sum3years.ts,max.lag=35)non mostra coefficienti di acf superiori a 0,3. La stagionalità dei dati è, tuttavia, abbastanza ovvia - picco all'inizio di ogni anno. Ecco come appare la serie sul grafico: Serie storiche originali

La previsione usando fit=Arima(bal2sum3years.ts,seasonal=list(order=c(0,1,0),period=12),include.drift=TRUE), chiamata per funzione forecast(fit), fa sì che i mezzi dei prossimi 12 mesi siano uguali agli ultimi 12 mesi dei dati più costante. Questo può essere visto chiamando plot(forecast(fit)),

Dati effettivi e previsti

Ho anche controllato i residui, che non sono autocorrelati ma hanno media positiva (diversa da zero).

La misura non modella esattamente le serie storiche originali, a mio avviso (blu le serie storiche originali, il rosso è il fitted(fit):

Vestibilità originale vs

La pensione è: il modello non è corretto? Mi sto perdendo qualcosa? Come posso migliorare il modello? Sembra che il modello impieghi letteralmente gli ultimi 12 mesi e aggiunge una costante per raggiungere i prossimi 12 mesi.

Sono un principiante relativo nei modelli e nelle statistiche di previsione di serie storiche.


" L'adattamento non modella esattamente le serie storiche originali, secondo me " - perché te lo aspetti ??
Glen_b

@Glen_b, questa opinione si basava sulle differenze che vedo quando guardo la trama. Se sto provando a prevedere, ad esempio, le vendite mensili a fini contabili, l'errore potrebbe essere significativo ...
zima,

" le differenze che vedo quando guardo la trama " è un altro modo di dire " non modella precisamente le serie storiche ". Questo non è in discussione. La tua espressione del desiderio di una previsione migliore è lo stesso desiderio che ha ogni previsore. In molti casi può essere molto importante. Tuttavia, questo desiderio non mette più informazioni nei dati. Ogni modello ARIMA - in effetti, qualsiasi modello di serie temporale rilevante per questo compito - ha un termine di errore diverso da zero. Ci sarà sempre una discrepanza tra dati e adattamento. C'è qualcosa che ti fa pensare che il tuo modello abbia perso qualcosa che può essere modellato?
Glen_b

Ho appena pensato a qualcosa .. Forse il modello ARIMA in effetti non è in grado di riflettere i dati a causa del non tener conto della natura dei dati - attività dell'utente sul sito web. Penso che potrebbero esserci altri eventi che incidono sui numeri, non solo la stagionalità - come eventi speciali, promozioni .. Forse altri metodi di previsione (non ARIMA), ma quelli più complessi che coinvolgono le tecniche di Machine Learning, sono in grado di prevedere meglio i valori. Lo esaminerò.
zima,

Abbastanza plausibile. In tal caso, dovresti essere in grado di identificare tale errore nei residui. Si noti che sia i modelli ARIMA che i modelli strutturali delle serie temporali possono incorporare elementi come eventi speciali e promozioni tramite termini di regressione; i modelli di regressione delle serie storiche sono abbastanza comuni.
Glen_b

Risposte:


9

I[12]

Sì, in effetti, il modello suggerito è "Questo giugno = scorso giugno + costante + errore", e allo stesso modo per gli altri mesi.

Cosa c'è che non va esattamente? Sembra essere una descrizione eccellente dei tuoi dati.

Potresti trovare una decomposizione di serie temporali più intuitiva e più facile da spiegare, forse anche qualcosa basata su un modello strutturale di base - uno con stagionalità - ma ciò non implica necessariamente un modello che funzioni meglio di quello che hai. Potrebbe valere la pena provare una o più delle tecniche di decomposizione standard: c'è molto da dire per un modello che comprendi bene.


1

Credo che il nostro problema sia che stiamo saltando direttamente al modello ARIMA senza provare i modelli tradizionali. per questo motivo, è possibile trovare che il modello non sta dando i risultati necessari. Nel tuo caso, ho testato i tuoi dati, ho scoperto che c'è una stagionalità ogni 12 mesi che è chiaro per te, ma ho anche scoperto che una semplice media mobile di 3 termini Aggiustamento stagionale: Il moltiplicativo è il modello migliore. Secondo me, dobbiamo provare i tradizionali algoritmi di previsione prima di passare a qualsiasi tecnica avanzata. Previsioni a 12 mesi per i dati delle domande


1
Il modello che stai suggerendo è un modello ARIMA della forma (3,0,0) (0,0,0) in cui stai codificando i tre coefficienti per essere .333, .333 e .333 e una costante di 0,0. Quindi non solo assumiamo la forma del modello di arima MA state assumendo i valori dei coefficienti E non esistono valori anomali nelle serie. Consenti ai dati di parlare da solo in termini di forma del modello e valori ottimali per i parametri ... non hai nulla da perdere e molto da guadagnare. Se davvero il tuo modello è corretto, allora verrà trovato. Tutti i modelli arima sono funzioni ponderate del passato.
IrishStat,

1
stats.stackexchange.com/questions/40905/… indica in che modo la modellizzazione ponderata e gli arima sono correlati. In questo modo un modello ARIMA può essere spiegato come risposta alla domanda Quanti valori storici dovrei usare per calcolare una somma ponderata del passato? Quali sono esattamente questi valori?
IrishStat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.