Trovare un modello: un piano che si muove!
Ciao.
Ho un grafico in 3 dimensioni (x,y,z) che dipende anche dal tempo. Praticamente un piano che si muove.
Il tempo va da 1 a 2500 e per ogni t ho tutti i valori di x, y, z.
Il mio obbiettivo e' costruire un modello previsionale che mi dica quali saranno gli x e y che in (t+1) genereranno il valore massimo di z.
Ho fatto il plot in 2D e ho suddiviso z in decili, dando ad ogni decile un colore e poi ho lanciato una simulazione in C# per vedere il movimento nel tempo. Il "filmato" che risulta assomiglia a un filmato metereologico con delle nuvolette che si muovono omogeneamente.
Sono abbastanza convinto che il fenomeno sia descrivibile con delle equazioni differenziali, pero' non ho idea da dove partire. Avendo il grafico e tutti i valori, ma non conoscendo la funzione differenziale di origine, come potrei procedere?
In pratica sarebbe un fitting in 4D ... reti neurali?
PS Chiedo scusa ai moderatori...forse era piu' da analisi numerica?
Ho un grafico in 3 dimensioni (x,y,z) che dipende anche dal tempo. Praticamente un piano che si muove.
Il tempo va da 1 a 2500 e per ogni t ho tutti i valori di x, y, z.
Il mio obbiettivo e' costruire un modello previsionale che mi dica quali saranno gli x e y che in (t+1) genereranno il valore massimo di z.
Ho fatto il plot in 2D e ho suddiviso z in decili, dando ad ogni decile un colore e poi ho lanciato una simulazione in C# per vedere il movimento nel tempo. Il "filmato" che risulta assomiglia a un filmato metereologico con delle nuvolette che si muovono omogeneamente.
Sono abbastanza convinto che il fenomeno sia descrivibile con delle equazioni differenziali, pero' non ho idea da dove partire. Avendo il grafico e tutti i valori, ma non conoscendo la funzione differenziale di origine, come potrei procedere?
In pratica sarebbe un fitting in 4D ... reti neurali?
PS Chiedo scusa ai moderatori...forse era piu' da analisi numerica?
Risposte
Si, penso che questo ha migliore collocazione in Analisi numerica. Lo sposto lì.
Non mi è molto chiaro il problema. In che modo sono descritti i tuoi dati? Hai un insieme di punti? Una mesh per ogni \(t\)? Una qualche formula analitica? Come cambiano i dati da un qualche \(t\) al successivo (esiste una qualche legge o formula particolare)? Esistono dei vincoli su queste superfici? Quali sono esattamente i dati in ingresse che dovrebbe usare il tuo modello? Un insieme di superfici per alcuni valori di \(t\)? Le superfici nei tempi precedenti ad un qualche \(t\)? Come dovrebbe essere usato questo modello? Per studiare dei dati mai visti e prevedere il comportamento successivo oppure calcolare questo massimo per valori di \(t\) non presenti nei dati ma per un insieme di dati fissi?
_ Ho un insieme di punti, esatto una matrice per ogni t, quindi 2500 matrici.
_ Non ho formule analitiche, so che la funzione e' fatta cosi': z=f(x,y,t)
_ Non esistono leggi o formule, non ho conoscenza dei processi sottostanti.
_ L'unico vincolo e' x>0 e y>0.
Facendo il plot e studiando frame successivi nel tempo, ho visto che le regioni dello spazio si muovono in modo omogeneo ... tanto per capirci se in (t) la regione dei massimi e' in (x,y) in (t+1) sembra spostarsi in (x+1,y+1).
Conoscendo (z,x,y) in (t), a me servirebbe sapere come e' fatta la funzione per sapere in (t+1) quali saranno le x e le y che genereranno i punti di massimo. Il modello verra' applicato su dati mai visti...
Sto pensando di utilizzare una rete neurale...cosa ne pensi?
_ Non ho formule analitiche, so che la funzione e' fatta cosi': z=f(x,y,t)
_ Non esistono leggi o formule, non ho conoscenza dei processi sottostanti.
_ L'unico vincolo e' x>0 e y>0.
Facendo il plot e studiando frame successivi nel tempo, ho visto che le regioni dello spazio si muovono in modo omogeneo ... tanto per capirci se in (t) la regione dei massimi e' in (x,y) in (t+1) sembra spostarsi in (x+1,y+1).
Conoscendo (z,x,y) in (t), a me servirebbe sapere come e' fatta la funzione per sapere in (t+1) quali saranno le x e le y che genereranno i punti di massimo. Il modello verra' applicato su dati mai visti...
Sto pensando di utilizzare una rete neurale...cosa ne pensi?
In che modo utilizzeresti la rete neurale? Non sono certo che sia la scelta migliore in questo caso.
Le coordinate $(x, y)$ sono posizionate su di una griglia o sparse nel quadrante? Rimangono costanti o cambiano passando da $t$ a $t+1$? I punti di massimo o minimo vanno scelti tra i punti o dovresti in qualche modo stimare la funzione in punti non forniti? Siccome parli di rete neurale immagino tu stia pensando a quest'ultimo caso. Potresti anche costruirti una qualche mesh (soprattutto se le coordinate sono su di una qualche griglia) e quindi usare una semplice interpolazione tra di essi (approssimando quindi la tua funzione con una superficie poligonale a tratti).
Le coordinate $(x, y)$ sono posizionate su di una griglia o sparse nel quadrante? Rimangono costanti o cambiano passando da $t$ a $t+1$? I punti di massimo o minimo vanno scelti tra i punti o dovresti in qualche modo stimare la funzione in punti non forniti? Siccome parli di rete neurale immagino tu stia pensando a quest'ultimo caso. Potresti anche costruirti una qualche mesh (soprattutto se le coordinate sono su di una qualche griglia) e quindi usare una semplice interpolazione tra di essi (approssimando quindi la tua funzione con una superficie poligonale a tratti).
Non ho capito la domanda griglia/quadrante ... e' una matrice quindi le righe sono le x e le colonne sono le y (o il contrario e' uguale...) e in ogni cella della matrice c'e' scritto un numero che rappresenta la z.
Rimangono costanti.
I punti di massimo e minimo vanno scelti dai punti che gia' ci sono pero' ad un t >2500
Si ma sarebbe un'interpolazione in 4d... come la faccio? La rete neurale dici di no?
Domanda, ma questa roba non sarebbe una qualche equazione differenziale?1
Rimangono costanti.
I punti di massimo e minimo vanno scelti dai punti che gia' ci sono pero' ad un t >2500
Si ma sarebbe un'interpolazione in 4d... come la faccio? La rete neurale dici di no?
Domanda, ma questa roba non sarebbe una qualche equazione differenziale?1
Ora credo finalmente di aver capito.. Per quanto riguarda la domanda sulla griglia, io pensavo che le matrici fossero di dimensione $N \times 3$ o $3 \times N$ dove le righe nel primo caso o le colonne nel secondo era una tripletta $(x,y,z)$.
Quindi l'idea è di cercare di prevedere il futuro e non di calcolare qualcosa sui dati come pensavo di aver capito. Ma non mi è ancora chiaro quale sia esattamente l'input una volta che hai educato la tua rete neurale (o altro) usando i dati in tuo possesso. Dato un tempo devi restituire il più probabile massimo? Qualcosa di più?
Quindi l'idea è di cercare di prevedere il futuro e non di calcolare qualcosa sui dati come pensavo di aver capito. Ma non mi è ancora chiaro quale sia esattamente l'input una volta che hai educato la tua rete neurale (o altro) usando i dati in tuo possesso. Dato un tempo devi restituire il più probabile massimo? Qualcosa di più?
Ciao, scusa il ritardo con cui rispondo!
Ho cercato di fare dei test per vedere se trovavo altre variabili da utilizzare per spiegare i risultati...purtroppo nulla di significativo!
Esattamente dato il tempo t (ed eventualmente dati tutti i tempi < t) avrei bisogno delle coordinate (x,y) del piu' probabile massimo in (t+1).
Ho cercato di fare dei test per vedere se trovavo altre variabili da utilizzare per spiegare i risultati...purtroppo nulla di significativo!
Esattamente dato il tempo t (ed eventualmente dati tutti i tempi < t) avrei bisogno delle coordinate (x,y) del piu' probabile massimo in (t+1).