Calcola la correlazione continua tra due variabili in una serie temporaleCiao
Ho un set di dati che è sotto forma di una serie temporale con medie giornaliere di dati (la prima colonna è la data). Attualmente sto esaminando ciò che è correlato a una variabile specifica nel set di dati (chiamiamola colonna X). Vorrei verificare se la correlazione dipende dal tempo, ad esempio se ci sono periodi con correlazione OK e altri periodi con correlazione no / bassa ("acceso" e spento per periodi diversi).
Il mio pensiero iniziale è stato quello di calcolare la correlazione di spostamento / rotazione tra la colonna X e le altre colonne, ad esempio per gli ultimi 7 giorni, il mese scorso, ...). Le mie domande sono duplici:
1) Sarebbe un buon modo per verificarlo, o c'è un'analisi incorporata in JMP che non conosco?
2) Se dovessi calcolare la "correlazione mobile" per una serie temporale, come la programmerei nella formula della colonna?
In anticipo: grazie per l'aiuto a un principiante!
Jens
AnalyticsTabella datiScriptingOggetto: Calcola la correlazione continua tra due variabili in una serie temporaleTi suggerisco di esaminare l'analisi delle serie storiche disponibile in JMP.È possibile trovare la documentazione nella libreria di documentazione di JMP
Aiuto => Libreria di documentazione JMP
se vuoi andare avanti con la tua correlazione a rotazione proposta, ecco una formula che può essere utilizzata per calcolarla.Questo esempio utilizza la tabella dati Big Class dalla libreria dati di esempio JMP
Aiuto => Libreria dati di esempio
If( Row() >= 7,
y = :height[Index( Row() - 6, Row() )];
x = :weight[Index( Row() - 6, Row() )];
lin = Linear Regression( y`, x` );
Sqrt( lin[3]["RSquare"] );
)

In allegato è la tabella dei dati di esempio con la formula applicata
Oggetto: Calcola la correlazione continua tra due variabili in una serie temporaleCiao @ JensD ,
Sono completamente d'accordo @txnelson , dovresti esaminare la piattaforma Time Series, è ottimo per esaminare la correlazione incrociata dei dati temporali tra due segnali. L'ho usato molto per confrontare i segnali dei dati di produzione con i dati QC per trovare i ritardi temporali.
Quando esegui quella piattaforma, inserirai una delle colonne come Y, Time Series e l'altra come Input List (e scegli i ritardi di autocorrelazione in modo che siano circa la metà del numero di righe nella tabella dei dati). Quindi, ti consigliamo di eseguire l'utilità di correlazione incrociata sotto il pulsante caldo accanto all'analisi della funzione di trasferimento.
Inoltre, costruendo cosa @txnelson ha scritto per il suo codice, puoi persino creare una variabile di tabella (ad esempio rowlag) e dargli un valore e modificare la sua formula di colonna in modo che sia:
If( Row() >= :rowlag,
y = :height[Index(Row()-:rowlag+1, Row())];
y = :weight[Index(Row()-:rowlag+1, Row())];
lin = Linear Regression(y`, x`);
Sqrt(lin[3]["RSquare"]);
)
In questo modo, ogni volta che modifichi il valore del rowlag nella tabella dati, aggiornerà quella colonna con i valori di correlazione in modo da poter testare facilmente ritardi diversi senza cambiare ogni volta la formula della colonna.
In bocca al lupo!,
DS
Oggetto: Calcola la correlazione continua tra due variabili in una serie temporaleGrazie ad entrambi, @txnelson e @DiedrichSchmidt .
Proverò entrambe le alternative così posso vedere le differenze.
Jens