Dalla mia interpretazione della domanda, la domanda che mi stai ponendo è se puoi o meno modellare il tempo come spline.
La prima domanda a cui cercherò di rispondere è se è possibile utilizzare le spline per estrapolare i dati. La risposta breve è che dipende, ma la maggior parte delle volte, le spline non sono eccezionali per l'estrapolazione. Le spline sono essenzialmente un metodo di interpolazione, partizionano lo spazio su cui si trovano i tuoi dati e ad ogni partizione si adattano a un semplice regressore. Quindi diamo un'occhiata al metodo di MARS. Il metodo MARS è definita come
f ( x ) = n Σ i = 1 α i B i ( x [ i ] )
dove α i è la costante al termine esima nel modello MARS,
f^( x ) = ∑i = 1nαioBio( x[ i ])
αio è la funzione di base all'ottavo termine e
x [ i ] rappresenta la funzione selezionata dal vettore di funzione all'ottavo termine. La funzione di base può essere una costante o può essere una funzione di cerniera (raddrizzatore). La funzione di cerniera è semplicemente
m a x ( 0 , x [ i ] + c i )
Ciò che la funzione di cerniera forza il modello è creare una
funzionelineare a
tratti(è interessante notare che una rete neurale con una funzione di attivazione lineare rettificata può essere visto come il modello superset del modello MARS).
BioX[ i ]m a x ( 0 , x[ i ]+ cio)
R
f^( x ) = 5 + m a x ( 0 , x - 5 ) + 2 m a x ( 0 , x - 10 )
10f^( x ) = 10 + 2 ( x - 10 ) = 2 x - 10
5
Ora torniamo alle serie storiche. Le serie storiche sono un caso piuttosto speciale nell'apprendimento automatico. Tendono ad avere un po 'di struttura, sia che si tratti di una varianza parziale o di uno dei molti diversi tipi di sottostrutture, e questa struttura può essere sfruttata. Ma sono necessari algoritmi speciali in grado di sfruttare questa struttura, purtroppo le spline non lo fanno.
Ci sono un paio di cose che consiglierei di provare. Il primo sarebbero le reti ricorrenti. Se le tue serie temporali non sono così lunghe (e non hanno dipendenze a lungo termine) dovresti riuscire a cavartela usando una semplice rete ricorrente vaniglia. Se volessi essere in grado di capire cosa sta succedendo, potresti utilizzare un'unità lineare rettificata con distorsioni come funzione di attivazione e questo equivarrebbe a fare la modellazione MARS sul sottoinsieme delle serie temporali e la "memoria" che la rete neurale ricorrente detiene. Sarebbe difficile interpretare come la memoria è gestita dalla rete, ma dovresti avere un'idea di come viene gestito il sottospazio rispetto alla funzione lineare a tratti generata. Inoltre, se si dispone di funzionalità statiche che non appartengono alle serie storiche, è relativamente facile utilizzarle ancora in rete.
Se le serie temporali che hai sono molto lunghe e potrebbero avere dipendenze a lungo termine, ti consiglio di utilizzare una delle reti ricorrenti recintate, qualcosa come GRU o LSTM.
Sul lato più classico della classificazione delle serie storiche è possibile utilizzare modelli markov nascosti. Non approfondirò questi argomenti, perché non li conosco altrettanto bene.
In conclusione, non consiglierei l'uso di spline per due motivi. Uno, non è in grado di gestire complicati problemi di estrapolazione, che sembra essere il problema che stai descrivendo. E due, le spline non sfruttano le sottostrutture delle serie storiche che possono essere molto potenti nella classificazione delle serie storiche.
Spero che sia di aiuto.