Come unire i dati mensili, giornalieri e settimanali?


11

Google Trends restituisce i dati settimanali, quindi devo trovare un modo per unirli con i miei dati giornalieri / mensili.

Quello che ho fatto finora è stato di suddividere ogni serie in dati giornalieri, ad esempio:

a partire dal:

2013-03-03 - 2013-03-09 37

per:

2013-03-03 37 2013-03-04 37 2013-03-05 37 2013-03-06 37 2013-03-07 37 2013-03-08 37 2013-03-09 37

Ma questo sta aggiungendo molta complessità al mio problema. Stavo cercando di prevedere ricerche su Google dagli ultimi 6 mesi o 6 valori nei dati mensili. I dati giornalieri implicherebbero un lavoro su 180 valori passati. (Ho 10 anni di dati, quindi 120 punti in dati mensili / 500+ in dati settimanali / 3500+ in dati giornalieri)

L'altro approccio sarebbe quello di "unire" i dati giornalieri in dati settimanali / mensili. Ma alcune domande sorgono da questo processo. Alcuni dati possono essere mediati perché la loro somma rappresenta qualcosa. Le precipitazioni, ad esempio, la quantità di pioggia in una determinata settimana sarà la somma degli importi per ogni giorno che compone le settimane.

Nel mio caso ho a che fare con prezzi, tassi finanziari e altre cose. Per i prezzi è comune nel mio settore prendere in considerazione il volume scambiato, quindi i dati settimanali sarebbero una media ponderata. Per i tassi finanziari è un po 'più complesso alcune formule sono coinvolte per costruire tassi settimanali da tassi giornalieri. Per le altre cose non conosco le proprietà sottostanti. Penso che queste proprietà siano importanti per evitare indicatori insignificanti (una media dei tassi fidanzati sarebbe un non senso per esempio).

Quindi tre domande:

Per le proprietà note e sconosciute, come devo procedere per passare dai dati giornalieri a settimanali / mensili?

Sento che suddividere i dati settimanali / mensili in dati giornalieri come ho fatto è un po 'sbagliato perché sto introducendo quantità che non hanno senso nella vita reale. Quindi quasi la stessa domanda:

Per le proprietà note e sconosciute, come devo procedere per passare dai dati settimanali / mensili a quelli giornalieri?

Ultimo ma non meno importante: quando vengono fornite due serie temporali con diversi intervalli temporali, cosa è meglio: utilizzare il passaggio temporale più basso o più grande? Penso che questo sia un compromesso tra il numero di dati e la complessità del modello, ma non riesco a vedere alcun argomento forte tra cui scegliere.

Modifica: se conosci uno strumento (in R Python anche Excel) per farlo facilmente sarebbe molto apprezzato.


per Python, lo strumento standard è Panda. È stato specificamente progettato per gestire i tempi dei dati finanziari. pandas timeseries
seanv507,

Ti interessa espandere un po 'ciò che intendi per "proprietà sconosciuta"?
TheGrimmScientist il

Risposte:


8

quando vengono fornite due serie temporali con diversi intervalli temporali, cosa è meglio: utilizzare il passaggio temporale più basso o più grande?

Per l'analisi della serie temporale è necessario eseguire entrambe le operazioni: ottenere la massima granularità possibile con il set di dati giornaliero e ripetere anche l'analisi con il set di dati mensile. Con il set di dati mensile hai 120 punti dati, che è sufficiente per ottenere un modello di serie temporale anche con stagionalità nei dati.

Per le proprietà note e sconosciute, come devo procedere per passare dai dati giornalieri a settimanali / mensili?

Per ottenere dati settimanali o mensili dai dati giornalieri, è possibile utilizzare le funzioni di arrotondamento. Per i dati finanziari, puoi utilizzare la media mobile o il livellamento esponenziale, ma se quelli non funzionano per i tuoi dati, puoi utilizzare la funzione di livellamento spline "smooth.spline" in R: https://stat.ethz.ch/R -Manual / R-patched / library / statistiche / html / smooth.spline.html

Il modello restituito avrà meno rumore del set di dati giornaliero originale e sarà possibile ottenere valori per i punti temporali desiderati. Infine, questi punti dati possono essere utilizzati nell'analisi della serie temporale.

Per le proprietà note e sconosciute, come devo procedere per passare dai dati settimanali / mensili a quelli giornalieri?

Per ottenere dati giornalieri quando si dispone di dati mensili o settimanali, è possibile utilizzare l'interpolazione. Innanzitutto, dovresti trovare un'equazione per descrivere i dati. Per fare ciò è necessario tracciare i dati (ad es. Il prezzo nel tempo). Quando ti sono noti fattori, questa equazione dovrebbe essere influenzata da tali fattori. Quando i fattori sono sconosciuti, è possibile utilizzare un'equazione più adatta. La più semplice sarebbe una funzione lineare o una funzione lineare a tratti, ma per i dati finanziari questo non funzionerà bene. In tal caso, è necessario considerare l'interpolazione spline cubica a tratti. Questo collegamento approfondisce le possibili funzioni di interpolazione: http://people.math.gatech.edu/~meyer/MA6635/chap2.pdf .

In R, esiste un metodo per eseguire l'interpolazione dei dati della serie temporale. Qui dovresti creare un vettore con dire valori settimanali e NA negli spazi per i valori giornalieri e quindi utilizzare la funzione "interpNA" per ottenere i valori interpolati per i NA. Tuttavia, questa funzione utilizza la funzione "circa" per ottenere i valori interpolati, che applica un'interpolazione lineare o costante. Per eseguire l'interpolazione della spline cubica in R, è invece necessario utilizzare la funzione "splinefun".

Un aspetto da tenere presente è che i modelli di serie temporali in genere eseguono una sorta di calcolo della media per prevedere i valori futuri, indipendentemente dal fatto che si tratti di metodi di livellamento esponenziale o di media mobile integrata auto-regressiva (ARIMA). Quindi un modello di serie temporale per prevedere i valori giornalieri potrebbe non essere la scelta migliore, ma i modelli settimanali o mensili potrebbero essere migliori.


Sembra essere una risposta pratica. Non sono sicuro che ciò sia applicabile alle serie temporali finanziarie a causa dell'arbitraggio.
Lcrmorin,

Penso che le risposte alle tue domande siano ancora valide. Per il modello della serie temporale potresti voler esaminare i modelli ARCH (AutoRegressive Conditional Heteroskedasticity).
Gchaks

quando interpoli usando, ad esempio, la spline cubica, in serie temporali finanziarie, non introduresti un orientamento al futuro? penso che questo potrebbe essere particolarmente importante se si implementa per un modello di apprendimento automatico?
Tsando,

5

Non sono un esperto in questo settore, ma credo che la tua domanda riguardi l' aggregazione e la disaggregazione delle serie storiche . In tal caso, ecco alcune risorse, si spera, rilevanti, che potrebbero essere utili per risolvere il problema (i primi cinque elementi sono principali, ma rappresentativi, e gli ultimi due sono supplementari):


2

Questa non sarà una risposta molto soddisfacente, ma ecco la mia opinione ...

Per le proprietà note e sconosciute, come devo procedere per passare dai dati giornalieri a settimanali / mensili?

Per le proprietà note e sconosciute, come devo procedere per passare dai dati settimanali / mensili a quelli giornalieri?

Stessa risposta per entrambi: non è possibile farlo per proprietà sconosciute e per proprietà note dipenderà da come sono stati calcolati i valori.

Come hai accennato a:

(una media dei tassi fidanzati sarebbe un non senso per esempio)

Non esiste una singola trasformazione che sarà appropriata in tutti i casi, indipendentemente dal fatto che le proprietà / i valori siano noti o sconosciuti. Anche con proprietà note, probabilmente avrai bisogno di una trasformazione unica per ogni tipo: media, mediana, modalità, min, max, booleana, ecc.

quando vengono fornite due serie temporali con diversi intervalli temporali, cosa è meglio: utilizzare il passaggio temporale più basso o più grande?

Quando possibile, cerca di preservare la granularità completa del passaggio più piccolo possibile. Supponendo che tu sappia come trasformare i valori, puoi sempre arrotolare i passaggi (ad esempio, giorno per mese, mese per anno) ... ma non sarai necessariamente in grado di ricostruire passaggi più piccoli da quelli più grandi a seguito di una conversione con perdita .


2

Per le proprietà note e sconosciute, come devo procedere per passare dai dati giornalieri a settimanali / mensili?

Aggregazione.

Ad esempio, hai il numero di volte in cui le persone hanno cercato "widget" ogni giorno. Aggiungi i totali giornalieri per un mese per ottenere i totali mensili. Avrei bisogno di vedere più specifiche sui dati reali raccolti in ogni granularità per darti una versione più completa.

Per le proprietà note e sconosciute, come devo procedere per passare dai dati settimanali / mensili a quelli giornalieri?

Non puoi.

In fisica, un'idea comparabile è la frequenza di Nyquist . L'idea generale è che non è possibile aggiungere più informazioni di quelle già presenti nei dati senza portare più dati. Dato solo il giorno in cui qualcuno ha eseguito una query, come puoi sapere a che ora del giorno è stata eseguita la query? Potresti essere in grado di fare alcune deduzioni, ma l'unico modo per rispondere alla domanda è di portare direttamente o indirettamente più informazioni al sistema. Ci sono cose che puoi fare per fare ipotesi informate sullo stato giornaliero delle variabili mensili (come citato, interpolazione), ma i tuoi dati sono ancora fondamentalmente dati mensili estesi per apparire quotidianamente.

Quando vengono fornite due serie temporali con diversi intervalli temporali, cosa è meglio: utilizzare il passaggio temporale più basso o più grande?

Dipende totalmente da cosa stai cercando di rispondere.

La granularità minore sarà più sensibile al rumore e ad altre anomalie. La granularità della lager sarà in grado di rispondere alle domande in modo più sicuro, ma perderà parte della sua utilità. Ad esempio, se stai cercando di vedere quando le persone iniziano a cercare luoghi per i programmi del fine settimana per sapere quando lanciare campagne di marketing per un nuovo night club, ti consigliamo di guardare i dati giornalieri, se non di dimensioni inferiori. Se stai osservando le tendenze generali dei locali notturni per capire in chi vuoi investire, probabilmente ogni mese sarebbe meglio.


2

Essere in grado di aggregare i dati in base ai segmenti di data è un gioco da ragazzi usando il software Tableau. Inserire semplicemente i dati nello strumento, quindi trascinare le dimensioni della metrica e della data su uno spazio del corpo del report. Tableau istallerà istantaneamente visualizzazioni aggregate e / o tabelle di dati di dettaglio, al volo. È possibile raggruppare / sommare per anno, trimestre, mese, settimana, giorno, ora, ecc. (Funzionalità standard, integrata, pronta per l'uso offerta dallo strumento)

Inoltre, se in seguito volessi incorporare ulteriori dati (che presumo siano ciò che intendevi per "proprietà sconosciute"), puoi importare un altro set di dati e aggiungerlo facilmente al primo, purché offra anche date.

Consiglierei di dare un'occhiata alla versione gratuita, che credo si chiama Tableau Public.

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.