Ho una serie di punti dati che quando visualizzati da un grafico a linee appaiono così
Il valore sull'asse x nel tempo e il valore sull'asse Y è un numero. Il mio ultimo compito è quello di trovare l'integrale del grafico tra qualsiasi intervallo di tempo di input.
Penso di dover fare due cose-
1- Trova una funzione continua che definisce questo grafico a linee (linea arancione)
2- Quindi utilizzare la libreria scipy.integrate per calcolare l'integrazione.
Ho due domande-
1- È questo l'approccio giusto o c'è un modo più intelligente per farlo?
2- Come trovare la funzione del grafico a linee data aset di punti dati? Questo è un po 'diverso dall'adattamento della curva dove troviamo l'adattamento "migliore". Qui voglio una funzione che definisca il grafico a linee visualizzato.
Sarebbe utile qualsiasi intuizione nella giusta direzione.
Grazie
risposte:
3 per risposta № 1Non è possibile trovare alcuna funzione continua per questo tipo di dati, è totalmente irregolare come mostra la trama.
Quello che vuoi fare è usare il Regola trapezoidale. È disponibile come funzione Numpy (numpy.trapz).
1 per risposta № 2
Non sono d'accordo sulla funzione continua. È possibile fare l'integrazione numerica per dati come questo usando la regola di Simpson o qualcosa del genere.
Dal momento che si tratta di una serie storica, potresti fare una FFT e integrarla nel dominio della frequenza, quindi trasformare il risultato.