根据我对问题的解释,您要问的基本问题是您是否可以将时间建模为样条。
我将尝试回答的第一个问题是,是否可以使用样条线推断数据。简短的答案取决于它,但是在大多数情况下,样条曲线对于外推而言并不是那么好。样条线本质上是一种插值方法,它们对数据所在的空间进行分区,并且在每个分区处都适合一个简单的回归器。因此,让我们看一下MARS的方法。该MARS方法被定义为
˚F(X )= Ñ Σ我= 1个 α 我乙我(X [ 我])
其中,α 我是在MARS模型第i项的常数,
f^(x)=∑i=1nαiBi(x[i])
αi是第i项的基函数,
x [ i ]表示从第i项的特征向量中选择的特征。基本函数可以是常数,也可以是铰链函数(整流器)。铰链函数只是
m a x (0 ,x [ i ] + c i)
。铰链函数迫使模型建立
分段线性函数(有趣的是,具有整流线性激活函数的神经网络可以被视为MARS模型的超集模型)。
Bix[i]max(0,x[i]+ci)
R
f^(x)=5+max(0,x−5)+2max(0,x−10)
10f^(x)=10+2(x−10)=2x−10
5
现在让我们回到时间序列。时间序列是机器学习中的一个非常特殊的情况。它们倾向于具有一些结构,无论是部分不变性还是许多不同类型的子结构之一,都可以利用该结构。但是需要能够利用这种结构的特殊算法,不幸的是,样条曲线不能做到这一点。
我建议您尝试一下几件事。第一个是递归网络。如果您的时间序列不那么长(并且没有长期依赖性),那么您应该能够使用简单的普通循环网络。如果您想了解正在发生的事情,则可以使用带有偏差的整流线性单位作为激活函数,这等效于对时间序列的子集和循环神经网络的“内存”进行MARS建模。持有。很难解释网络如何管理内存,但是您应该对生成的分段线性函数如何处理子空间有所了解。同样,如果您具有不属于时间序列的静态功能,则仍可以在网络中轻松使用它们。
如果您的时间序列很长并且可能具有长期依赖性,则建议使用门控循环网络之一,例如GRU或LSTM。
在时间序列分类的更经典方面,您可以使用隐藏的马尔可夫模型。我不会进一步介绍这些内容,因为我对它们不那么熟悉。
总之,出于两个原因,我不建议使用样条线。第一,它无法处理复杂的外推问题,这似乎就是您要描述的问题。第二,样条线没有利用时间序列的子结构,这在时间序列分类中可能非常强大。
希望这可以帮助。