如何为每日预测建立线性回归模型

时间:2020-06-07 09:20:19

标签: machine-learning ml.net

我需要创建一个预测模型来预测每天的物品数量...

这就是我的数据在数据库上的样子...

item id |date         | quantity

1000    |2020-02-03   | 5

我所做的将日期转换为:

  • 年号
  • 一年中的星期几
  • 工作日号码

我使用RegressionFastForest,RegressionFastTree,LbfgsPoissonRegression,FastTreeTweedie在100,000个项目的数据集上训练了该模型

但是结果不是很好( RMSE得分3.5-4

我做错了吗?

我正在使用ML.NET

谢谢

2 个答案:

答案 0 :(得分:0)

有几种时间序列预测技术。但要点是:我们不寻求valuedate的依赖。相反,我们正在寻求value[i]value[i-1]的依赖。

最常见的技术是 ARIMA 模型和递归神经网络。我建议阅读有关它们的信息。但是,如果您没有太多时间或其他时间,那么有什么可以帮助您的。这是 Auto ARIMA 模型。

自动ARIMA的实现至少在Python和R中存在。这是python版本:

from pyramid.arima import auto_arima

model = auto_arima(y)

其中y是您的时间序列。

PS 尽管它被称为 auto 模型(这意味着该算法将自行选择最佳超参数),但您仍应了解其作用: p ,q,P,Q S 表示平均值。

答案 1 :(得分:0)

直接对数据应用线性回归存在几个问题。

1)如果item id是种类的索引并且不反映商品的物理属性,则它是一种分类特征。使用OneHotEncoding将其替换为易于回归的标签。

2)如果您假设数据可能对一天/一周/月的时间具有周期性依赖性,请使用这些函数中的sincos。由于它不是周期性的,因此它不适用于年份。 Here是Python范例的不错指南。

祝你好运!

P。 S.我通常在具有分类特征(OneHotEncoding)的稀疏表示的任务中使用LogisticRegression进行基准测试。它不会像最新的NN解决方案那样好,但是可以为我提供一个基准测试的线索。