Catturare la stagionalità nella regressione multipla per i dati giornalieri


13

Ho un dato di vendita giornaliero per un prodotto che è altamente stagionale. Voglio catturare la stagionalità nel modello di regressione. Ho letto che se disponi di dati trimestrali o mensili, in quel caso puoi creare rispettivamente 3 e 11 variabili fittizie - ma posso gestire i dati giornalieri?

Ho tre anni di dati giornalieri. Le variabili indipendenti sono punto di prezzo, bandiera promozionale (sì / no) e temperatura. La variabile dipendente è la vendita di quel prodotto. Non sto cercando un modello di serie storiche in quanto sto utilizzando un modello di regressione multipla.


Quanti dati hai? Quanti anni vale? Hai dati su qualcosa come la temperatura? Com'è il resto del tuo modello? Quali sono i tuoi DV e IV?
Peter Flom - Ripristina Monica

Oltre a ciò che Peter Flom ha chiesto, stai modellando i tuoi dati come serie temporali univariate o serie temporali multivariate? Se è multivariato, hai altre variabili? Quelle variabili mostrano un comportamento stagionale? in tal caso l'aggiunta di variabili fittizie non sarebbe necessaria. Potete fornire queste informazioni aggiuntive?
previsioni

Ho modificato la mia domanda. La prego di fornire qualsiasi soluzione. Grazie
Arushi il


Sono totalmente d'accordo con @IrishStat, non supponiamo di ignorare i modelli di serie storiche, un modello abbastanza buono là fuori che cattura la stagionalità multipla. Suggerirei di poter verificare il modello spaziale dello stato di livellamento esponenziale che è in grado di gestire la stagionalità multipla, trend, simultaneamente. Esclusivamente in R. puoi usare il pacchetto forecast ().
Karthi V,

Risposte:


10

@Irishstat ha trattato praticamente quello che stavo per dire, ma avrei risposto con la mia esperienza personale nel modellare questi dati con la regressione delle serie storiche e la regressione OLS.

Se si tratta di dati giornalieri, farei quanto segue:

Crea una variabile fittizia per diverse stagionalità:

  • Per acquisire la stagionalità del giorno della settimana, creare 6 variabili fittizie.
  • Per acquisire la stagionalità del giorno del mese, creare 30 variabili fittizie
  • Per acquisire il mese dell'anno, creare 11 variabili fittizie.

Creare una variabile fittizia per le variabili di tendenza:

  • Se la serie temporale presenta un andamento lineare, quindi aggiungere una variabile di andamento temporale.

  • Se la serie temporale presenta un andamento non lineare, aggiungere una variabile di andamento non lineare come quadratica / cubica / log

Aggiungi variabili variabili indipendenti

  • Si tratta di dati relativi a serie temporali, pertanto è necessario prestare attenzione agli effetti di piombo e ritardo di varibales indipendenti. Ad esempio, nel tuo esempio, menzioni la bandiera promozionale del punto di prezzo, potrebbero non avere un effetto immediato sulla tua risposta, ad esempio, potrebbero esserci ritardi e un effetto decadente / permanente . Quindi, ad esempio, se esegui una promozione oggi, potresti avere un aumento delle vendite oggi, ma l'effetto della promozione decade dopo pochi giorni. Non esiste un modo semplice per modellarlo usando la regressione multipla, si vorrebbe usare la modellazione delle funzioni di trasferimento che è parsimonoius e può gestire qualsiasi tipo di effetto lead e lag. Vedi questo esempio che ho pubblicato in precedenza, dove c'è un intervento (nel tuo caso il prezzo) e c'è un brusco aumento, seguito da un effetto in decomposizione. Detto questo, se lo hai fattoconoscenza a priori dell'effetto lead e lag, creazione di ulteriori variabili nel tuo caso variabili fittizie prima e dopo il prezzo e (sì / no) cambio di promozione.

  • Dovresti anche aggiungere variabili di indicatore delle festività in movimento, ad esempio, come ha sottolineato Irishstat, vorresti aggiungere la Pasqua / il Ringraziamento (negli Stati Uniti) che stanno spostando le festività. Le ferie che sono date fisse verranno automaticamente gestite se si utilizza uno schema di codifica fittizio per acquisire la stagionalità.

  • Inoltre, dovresti identificare valori anomali come additivo / impulso (evento una tantum) o spostamento di livello (spostamento permanente) e aggiungerli come regressori. L'identificazione dei valori anomali nella regressione multipla per i dati delle serie temporali è quasi impossibile; avresti bisogno di metodi di rilevamento anomali delle serie temporali come la procedura di Tsay o la procedura di Chen e Liu che è stata incorporata in software come AUTOBOX, SPSS, SAS o il tsoutlierpacchetto in R.

Potenziali problemi:

Di seguito sono riportati i problemi che potrebbero verificarsi se si modellano i dati di serie temporali utilizzando la regressione multipla OLS.

  • Gli errori potrebbero essere correlati automaticamente. Vedi questo bel sito Web e questo sito Web che spiega questo problema. Un modo per evitare ciò è utilizzare l' approccio dei minimi quadrati generalizzati (GLS) o ARIMAX rispetto alla regressione multipla OLS, dove è possibile correggere la correlazione automatica.
  • 6+30+11=47
  • Usando variabili fittizie, stai assumendo che la tua stagionalità sia deterministica, cioè che non cambi nel tempo. Dato che hai solo 3 anni di dati non me ne preoccuperei, ma vale comunque la pena tracciare la serie e vedere se la stagionalità non cambia.

E ci sono molti altri svantaggi dell'utilizzo della regressione multipla. Se la previsione è più importante per te, darei almeno 6 mesi di dati e testerei la capacità predittiva della tua regressione multipla. Se il tuo obiettivo principale è quello di spiegare la correlazione tra variabili indipendenti, allora sarei cauto utilizzando la regressione multipla, e invece utilizzerei un approccio di serie storiche come ARIMAX / GLS.

Se sei interessato, puoi fare riferimento al testo eccellente di Pankratz , per la funzione di trasferimento e la modellazione dinamica della regressione. Per le previsioni generali sulle serie storiche fare riferimento a Makridakis et al . Inoltre, un buon testo di riferimento sarebbe Diebold per la regressione e la previsione basata su serie temporali.


Riepilogo molto bello MA vorrei aggiungere che hai ignorato particolari effetti della settimana del mese e particolari del giorno del mese, oltre ai possibili effetti del fine settimana, che ho trovato molto importanti. Inoltre, gli effetti pre-evento e post-evento non devono essere ignorati. Prendi in considerazione l'attività intorno a Pasqua e attorno ad altre festività / eventi importanti. Spesso esiste un modello di risposta individuale che richiede l'integrazione di una specifica LEAD. Si dovrebbe anche notare che i parametri possono e spesso cambiano nel tempo e bisogna convalidare l'assunzione della costanza dei parametri.
IrishStat,

Grazie @Irishstat. Hai ragione. Ho dimenticato di spostare Holidays e i loro effetti di piombo e lag.
previsioni

2

Ciò di cui hai bisogno è un modello che includerà effetti giornalieri, effetti settimanali, effetti mensili, effetti della settimana del mese, effetti del giorno del mese, effetti di piombo e di ritardo delle festività, cambiamenti di livello / step non specificati ma identificabili empiricamente, andamenti dell'ora locale, variazioni degli impulsi e degli impulsi stagionali incorporando la struttura ARIMA e possibilmente gestendo le variazioni dei parametri e la varianza degli errori nel tempo. Questa si chiama funzione di trasferimento e può essere facilmente ripristinata (MA NON PARSIMONIALMENTE) come una regressione lineare multipla.

In particolare un indicatore giornaliero prenderebbe 6 predittori. In generale si deve orchestrare (identificare) con attenzione che tipo di predittori sono necessari. Se hai molto tempo a disposizione, puoi sperimentare alcune delle strutture che ho citato. In alternativa, potresti aver bisogno di un software / consulenza avanzata per farti risolvere il problema nella tua vita.

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.