时间序列机器学习特征选择问题

数据挖掘 Python r 统计数据 时间序列 回归
2021-09-21 16:39:41

我必须解决一个可以采用两种形状之一的时间序列模型。这可能需要更多时间,但这是我要问的两个。如果您有其他想法,当然欢迎。

第一个可能的模型 -

X(因变量'支出') = X(lag1)...X(lagN) + X(美国时的虚拟变量) + X(墨西哥时的虚拟变量) ... + 误差项

或者为每个国家制作一个单独的模型,例如 -

X(仅限美国的总支出)= X(lag1)...X(lagN) + 误差项

X(仅在墨西哥的总支出)= X(lag1)...X(lagN) + 误差项

……每个国家

从数学上讲,我无法决定哪种方法更好。我将使用 anF-Statistic, dickey fuller statistic来检查自回归的平稳性,然后比较两个模型,但我想看看其他人对该理论的看法,以及是否应该包含虚拟变量。

我正在寻找更多包含数学推理的答案。

2个回答

我会给你一些其他的想法,但没有数学。

就像 horaceT 提到的,这都是关于特征构建和特征选择的,然后你有很多机器学习方法可以做回归。

因此,只需将其视为回归模型,而不仅仅是时间序列模型。然后你会得到以下模型:

y(因变量'支出')= X1(移动平均项)...X2(上季度移动平均项)+ X3(国家ID)+ X4(傅立叶项)... + 误差项

移动平均线可以捕捉因变量的趋势,傅里叶项可以捕捉因变量的周期。也许您可以构建其他功能。

最后,您可以使用基于树的模型选择特征,例如 xgboost。

在第一个模型中,有

1(常数)+ N(滞后变量)+ C(国家的虚拟变量)- 1(因为 Dummy_US + Dummy_Mx + ... = 1)= N + C

要拟合的系数,这里 C = #countries。

在第二个模型中,C*(N+1) coefficients必须安装。如果误差项的方差非常不同,则应使用第二种方法。如果没有,可以通过拟合模型得到C*(N+1)个参数

X(因变量'支出') = X(lag1) + ...+ X(lagN) + + X(lag1)*X(Dummy US) + ...+ X(lagN)*X(Dummy US) + X(Dummy US)
+ X(lag1)*X(Dummy Mx) + ...+ X(lagN)*X(Dummy Mx) + X(Dummy Mx) ... + 误差项

(删除一个国家的虚拟变量,将作为参考县)

该模型涉及C*(N+1) coefficients.

参考国家的系数为:

 constant  
 coeff of X(lag1)
...
 coef of X(lagN)

预测另一个国家(例如美国)值的系数是:

 constant + coeff of X(Dummy US)
 coeff of X(lag1) + ceoff of X(lag1)*X(Dummy US)
...
 coef of X(lagN) + ceoff of X(lagN)*X(Dummy US)