时间序列:作为特征的变化

数据挖掘 时间序列 特征选择 预测建模 优化
2022-02-28 20:07:28

我试图根据市场价格预测客户的行为。

产品的价值取决于实际费率,但这还不够。客户的行为也取决于他们的意识,这取决于费率的演变。我在模型中添加了这个,使用过去 6 个月的利率作为多项式回归的特征。

事实上,媒体对汇率的报道主要取决于汇率变化,我想在我的模型中添加这一点。这个想法是添加速率的导数/变化作为特征。但是我预料到了一些错误,例如只有两个月,我的变化将是形式xnxn1这是实际汇率和过去汇率的简单线性组合。因此,对于一维多项式回归,我将拥有:

xn+1=axn+bxn1+c(xnxn1)

代替:

xn+1=a0xn+b0xn1

这与a+c=a0bc=b0. 更高的多项式次数会产生或多或少的等效结果。

我正在考虑一种包含衍生信息的方法,但似乎不可能。所以我想知道所有信息是否都包含在我的曲线中。这是一个普遍的想法吗?所有信息都直接包含在数据中,对特征的修改会导致更高阶的目标函数?

2个回答

使用导数作为特征与使用过去的值几乎相同,因为它们都为时间序列后面的动态系统重建相位或状态空间。但它们在某些方面有所不同,例如噪声放大以及它们携带信息的方式。(参见参考文献:存在噪声的状态空间重建;Martin Casdagli;Physica D - 1991 - 第 2 节)

请注意,所有信息都嵌入在时间序列中,但使用导数将重新解释这些信息,这可能有用也可能无用。

就您而言,如果您使用所有参数和术语,我相信它没有用。但如果使用正交前向回归 (OFR) 等算法,它可能会有所帮助。(参见参考文献:正交最小二乘法及其在非线性系统识别中的应用;S. CHEN, SA BILLINGS;INT. J. CONTROL, 1989)

导数是线性变换,您使用的是线性模型。正如您所展示的,通过将其他特征(如导数)的线性组合添加为线性模型中的新特征,什么也得不到。

您可能需要一个导数系数来帮助解释模型。您可以使用普通模型xn+1=axn+bnn1然后报告值ab给客户。更通用的方法是检查模型的频率响应(导数是高通滤波器,您的模型是 FIR 滤波器)。

或者,您可以旋转输入的基础,使导数成为特征并且尺寸仍然独立,如下所示:

你可以想到自变量xnxn1作为模型输入的两个维度的标准基础,即1,00,1. 两者都不a1,0或者b0,1与 c 正交1,1.

因此,如果你想使用c(xnxn1)作为一个特征,我也会使用正交特征d(xn+xn1). 那是,

xn+1=c(xnxn1)+d(xn+xn1)
.

您可以将此模型视为导数加积分。

相同的逻辑适用于 Haar 小波的缩放函数的选择。