我有三个模型:
- 有马
- 自动 ARIMA
- 双指数平滑
我想应用一种集成方法 - 一种投票方法,并允许分类器学习这三个模型的权重。
我已经votingclassifier在 scikit learn 中检查了当前。它要求:
fit(x,y)运行。
对象中存在的时间序列对象series没有y.
您如何应用投票分类器并通过网格搜索学习权重?
我有三个模型:
我想应用一种集成方法 - 一种投票方法,并允许分类器学习这三个模型的权重。
我已经votingclassifier在 scikit learn 中检查了当前。它要求:
fit(x,y)运行。
对象中存在的时间序列对象series没有y.
您如何应用投票分类器并通过网格搜索学习权重?
在时间序列问题中,您的输入 (x) 和输出 (y) 在最基本的情况下是在不同时间点记录的同一个变量。
如果你有T个时间点:1, 2, 3, ... T那么我们将x视为一个数据点数组,每个时间点都有一个索引t来访问。
通常y将只是您的x数组在时间上向前移动(在下面的示例中,通过 1 个时间单位,所以向量表示法或y[t] == x[t-1]数组表示法):
x | y
-----|-----
0.1 | NaN
0.2 | 0.1
0.3 | 0.2
0.3 | 0.3
0.4 | 0.3
0.3 | 0.4
0.5 | 0.3
1.0 | 0.5
Pandas 有shift()一种时间序列方法,它允许您以不同的时间间隔移动 x 列,并使用该移动序列创建一个新的 y 列。请参阅https://stackoverflow.com/questions/10982089/how-to-shift-a-column-in-pandas-dataframe
您可以通过包含多个时间滞后以及其他变量来增加复杂程度,但这解释了如何将时间序列预测转换为监督学习问题的基本原理。