所以我正在尝试使用 Apache Spark 对时间序列数据进行功耗预测。数据样本为:
03.01.15;22:30;236,25
03.01.15;22:15;240
04.01.15;16:00;243,775
以此类推两年。我每 15 分钟有一次观察
预测功耗的最佳方法是什么?
我尝试LinearRegression
,Decision trees
等等。我总是得到巨大的 MSE(788)。我尝试将几个月、几天、几小时、几分钟作为OneHotEncoder
. 我试着只做几周的预测等等。
数据的均值year
, month
, day
:
[2014.3996710526321,5.726973684210525,15.713815789473673]
数据的方差year
, month
, day
:
[0.2403293809070049,10.218579294199253,77.46326844706495]
检验均方误差
788.2397552290726
如果我直接传递值,例如LabeledPoint(236.25, 2015.0,1.0,3.0,22.0,30.0))
MSE 上升到1280.8
. 如果我每天只将一个观察值传递给模型,这是它无济于事的最大值。
但是,如果我使用KNIME
并尝试时间序列的示例,但使用我的数据,他们不会考虑日期和时间,而是会滞后于每次观察的功耗。
我看到 Cloudera 有一个库,Time Series
但我不明白我为什么需要它。
有人可以描述对时间序列数据进行良好预测的过程吗?最后我想输入一个日期和时间并得到一个预测。