Come fare previsioni per una serie storica?


9

Non ho molta familiarità con l'analisi dei dati delle serie temporali. Tuttavia, ho quello che penso sia un semplice compito di previsione da affrontare.

Ho circa cinque anni di dati provenienti da un processo di generazione comune. Ogni anno rappresenta una funzione monotonicamente crescente con una componente non lineare. Ho conteggi per ogni settimana su un ciclo di 40 settimane per ogni anno. Il processo inizia, la funzione inizia da zero, aumenta piuttosto rapidamente durante la prima metà della funzione, rallentando nella seconda metà prima di livellare durante le ultime cinque settimane. Il processo è coerente negli anni con piccole differenze nel tasso di variazione e nel volume tra i segmenti di anno in anno.

y1={0,Nt1,Nt2,...Nt39,Nt40}

y5={0,Nt1,Nt2,...Nt39,Nt40}

Dove uguale al conteggio al tempo x.Ntx

L'obiettivo è prendere a (o meglio da a , o la pendenza fino a quel punto) e prevedere la a . Ad esempio, se è 5000 qual è il valore atteso di per quell'anno. Quindi, la domanda è: come modelleresti tali dati? È abbastanza facile riassumere e visualizzare. Ma vorrei un modello per facilitare le previsioni e incorporare una misura di errore.t x t 0 t x N t 40 N t 10 N t 40Ntxt0txNt40Nt10Nt40


2
Sei sicuro di voler limitarti così severamente? Se questo problema ha qualche applicazione pratica, allora quando conosci il conteggio alla volta x conosci anche tutti i conteggi precedenti. Perché non usarli per aiutare con la previsione?
whuber

Infatti. Hai ragione. Grazie per la segnalazione.
Brett,

Risposte:


6

Probabilmente l'approccio più semplice è, come suggerito da Andy W, utilizzare un modello stagionale univariato delle serie temporali. Se si utilizza R, provare auto.arima()o ets()dal pacchetto di previsione .

O dovrebbe funzionare bene, ma un metodo generale delle serie temporali non utilizza tutte le informazioni fornite. In particolare, sembra che tu conosca la forma della curva in ogni anno, quindi potrebbe essere meglio usare tali informazioni modellando i dati di ogni anno di conseguenza. Quello che segue è un suggerimento che cerca di incorporare queste informazioni.

Sembra che una sorta di curva sigmoidale farà il trucco. ad esempio, una logistica spostata: per l'anno e la settimana dove , e sono parametri da stimare. è il massimo asintotico, controlla la velocità di aumento e è il punto medio quando . (Sarà necessario un altro parametro per consentire l'asimmetria che descrivi per cui il tasso di aumento fino a tempo è più veloce di quello dopo

ft,j=rteat(jbt)1+eat(jbt)
tjatbtrtrtatbtft,j=rt/2btbt. Il modo più semplice per farlo è consentire a di assumere valori diversi prima e dopo il tempo .)atbt

I parametri possono essere stimati utilizzando i minimi quadrati per ogni anno. I parametri di ciascuna serie temporale del modulo: , e . Questi possono essere previsti usando i metodi standard delle serie temporali, sebbene con probabilmente non si può fare molto oltre all'utilizzo della media di ciascuna serie per produrre previsioni. Quindi, per l'anno 6, una stima del valore alla settimana è semplicemente cui vengono utilizzate le previsioni di , e .b 1 , ... , b n R 1 , ... , r n n=5j f (6,j) un 6 b 6 r 6a1,,anb1,,bnr1,,rnn=5jf^(6,j)a6b6r6

Una volta che i dati iniziano a essere osservati per l'anno 6, vorrai aggiornare questa stima. Man mano che si ottiene ogni nuova osservazione, stimare la curva sigmoidale ai dati dall'anno 6 (per iniziare sono necessarie almeno tre osservazioni in quanto vi sono tre parametri). Poi prendere una media ponderata delle previsioni ottenute utilizzando i dati fino all'anno 5 e la previsione ottenuti utilizzando solo i dati anno 6, dove i pesi sono uguali e rispettivamente . Questo è molto ad hoc e sono sicuro che può essere reso più obiettivo collocandolo nel contesto di un modello stocastico più ampio. Tuttavia, probabilmente funzionerà bene per i tuoi scopi.( t - 4 ) / 36(40t)/36(t4)/36


4

Ciò che ti chiedi è essenzialmente ciò che fa la modellazione Boxima ARIMA (i tuoi cicli annuali sarebbero indicati come componenti stagionali). Oltre a cercare materiali per conto tuo, suggerirei

Applied Time Series Analysis for the Social Sciences 1980 di R McCleary; RA Hay; EE Meidinger; D McDowall

Anche se riesco a pensare a ragionevoli motivi per cui si desidera prevedere ulteriormente in futuro (e quindi valutare l'errore nel farlo), è spesso molto difficile in pratica. Se hai componenti stagionali molto forti sarà più fattibile. Altrimenti le tue stime raggiungeranno probabilmente un equilibrio in periodi di tempo relativamente pochi.

Se hai intenzione di utilizzare R per adattarti ai tuoi modelli, dovresti probabilmente visitare il sito Web di Rob Hyndman (Spero che ti dia consigli migliori di me!)


-2

hai 5 anni di dati e 40 osservazioni all'anno. Perché non li pubblichi sul Web e ci consenti di rispondere effettivamente a ground zero anziché filosofare a 500 miglia di altezza. Attendo con ansia i numeri. Abbiamo visto dati come questo, ad esempio il numero di clienti che scambiano il loro tempo condividendo la settimana su base settimanale. Le serie ogni anno iniziano da zero e si accumulano a un valore limite.


1
-1 Sembra più un'auto pubblicità che una risposta utile.
whuber

@whuber: non intenzionale. Solo una riflessione su un simile "problema appiccicoso" in cui mi sono imbattuto.
IrishStat

Ciò farebbe quindi un commento interessante. I commenti sono buoni modi per iniettare parte di questa preziosa esperienza che siamo così felici che tu condivida con noi. Le risposte dovrebbero essere riservate alle risposte effettive alla domanda: saranno votate, archiviate, rese ricercabili, ecc., E quindi devono essere più direttamente rilevanti, di valore permanente e essere in grado di resistere meglio alle critiche. (Naturalmente questa è un'idealizzazione, ma è ciò per cui ci battiamo. :-)
whuber

@whuber: insegni! Io imparo ! Riserverò i commenti per l '"area commenti". Per ribadire non c'era assolutamente alcuna intenzione di promuovere qualcosa o qualche particolare software / consulenza, ma solo una volontà ben intenzionata di condividere esperienze con altre persone del villaggio. Sono abbastanza sicuro che l'OP abbia ritenuto utili i miei commenti. Che ne dici, Brett?
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.