Come aggiungere una componente periodica al modello di regressione lineare?


17

Ho alcuni dati sulla frequenza cumulativa. Una riga sembra che si adatti perfettamente ai dati, ma nella riga vi sono oscillazioni cicliche / periodiche. Vorrei stimare quando la frequenza cumulativa raggiungerà un certo valore c . Quando tracciamo i valori residui e quelli adattati, ottengo un bellissimo comportamento sinusoidale.y=ax+bc

Ora, per aggiungere un'altra complicazione, notare che nelle trame dei residui

testo alternativo

ci sono due cicli che hanno valori inferiori rispetto agli altri, il che rappresenta un effetto di fine settimana che deve anche essere preso in considerazione.

Quindi, dove vado da qui? Come posso combinare un termine di coseno, seno o ciclico in un modello di regressione a ca. stimare quando la frequenza cumulativa sarà uguale a ?c

Risposte:


9

Potresti provare il stl()metodo meraviglioso : si decompone (usando il loess()raccordo iterato ) in tendenza, stagionale e resto. Questo potrebbe solo raccogliere le tue oscillazioni qui.


8

Se conosci la frequenza dell'oscillazione, puoi includere due predittori aggiuntivi, sin (2π peso) e cos (2π peso) - imposta w per ottenere la lunghezza d'onda desiderata - e questo modellerà l'oscillazione. Sono necessari entrambi i termini per adattarsi all'ampiezza e all'angolo di fase. Se esiste più di una frequenza, avrai bisogno di un termine seno e coseno per ogni frequenza.

Se non sai quali siano le frequenze, il modo standard per isolare più frequenze è di detrarre i dati (ottenere i residui dall'adattamento lineare, come hai fatto) ed eseguire una trasformata di Fourier discreta rispetto ai residui. Un modo rapido e sporco per farlo è in MS-Excel, che ha uno strumento di analisi di Fourier nel componente aggiuntivo Analisi dei dati. Esegui l'analisi rispetto ai residui, prendi il valore assoluto delle trasformazioni e traccia il grafico a barre del risultato. I picchi saranno i principali componenti di frequenza che si desidera modellare.

Quando aggiungi questi predittori ciclici, presta molta attenzione ai loro valori p nella tua regressione e non esagerare. Usa solo quelle frequenze che sono statisticamente significative. Sfortunatamente, ciò potrebbe rendere un po 'difficile l'adattamento delle basse frequenze.


2
Quando stimate le frequenze dai dati (come con l'analisi di Fourier) e quindi le includete come termini sin / cos nella regressione, i loro valori p saranno privi di significato.
whuber

4

Cominciamo osservando che i minimi quadrati ordinari adatti a questi dati sono probabilmente inappropriati. Se si presume che i singoli dati accumulati abbiano, come al solito, componenti di errore casuali, l'errore nei dati cumulativi ( non le frequenze cumulative - che è qualcosa di diverso da quello che hai) è la somma cumulativa di tutti i termini di errore. Ciò rende i dati cumulativi eteroscedastici (che diventano sempre più variabili nel tempo) e fortemente correlati positivamente. Dato che questi dati si comportano così regolarmente e ce ne sono così tanti, c'è poco problema con l' adattamento otterrete, ma le vostre stime degli errori, le vostre previsioni (che è la questione principale), e in particolare i vostri errori standard di previsione possono essere lontani.

Una procedura standard per l'analisi di tali dati inizia con i valori originali. Prendi le differenze quotidiane per rimuovere il componente sinusoidale ad alta frequenza. Prendi le differenze settimanali di quelle per rimuovere un possibile ciclo settimanale. Analizza ciò che resta. La modellazione ARIMA è un approccio flessibile e potente, ma inizia semplicemente: traccia un grafico di quei dati differenziati per vedere cosa sta succedendo, quindi passa da lì. Si noti inoltre che con meno di due settimane di dati le stime del ciclo settimanale saranno scarse e questa incertezza dominerà l'incertezza nelle previsioni.


2

Chiaramente l'oscillazione dominante ha periodo un giorno. Sembra che ci siano anche componenti a bassa frequenza relativi al giorno della settimana, quindi aggiungi un componente con frequenza una settimana (ovvero un settimo di un giorno) e le sue prime armoniche. Questo dà un modello del modulo:

E(y)=c+un'0cos(2πt)+B0peccato(2πt)+un'1cos(2πt/7)+B1peccato(2πt/7)+un'2cos(4πt/7)+B2peccato(4πt/7)+...

- supponendo tè misurato in giorni. Quiyè la cruda dei dati, non la sua somma cumulativa.


-2

Perché non usare semplicemente un GA per trovare l'ampiezza, il periodo e la fase di una serie Sine (o coseno) in sequenza, quindi combinati. Ottimizza quanto segue: (n (n-1) / ((np-1) ^ 2 (np-2))) RSS


1
Non è chiaro come questo risponda alla domanda sul calcolo di una funzione di frequenza cumulativa inversa. E cosa intendi per "GA"? Algoritmo genetico? Qualcos'altro?
whuber
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.