R

时间:2017-01-03 21:43:33

标签: r regression forecasting cross-validation

我目前正在开展大学项目,以预测到达24/7店铺的客户数量。我使用来自商店的数据,其中包含(除其他事项外)某一年的每个客户所服务的日期和时间。

我已将此数据集拆分为训练集和交叉验证集。此外,我已将该培训集与同年的天气数据进行汇总和合并,以确定(例如)高温会导致更多客户。

合并数据的简化版本如下所示:

| ServedCustomers | Month | Day | Hour | Temperature (C°) | Rain(binary)
| --------------- | ----- | --- | ---- | ---------------- | ------------
| 1               | 12    | 31  | 12   | 9.2              | 0
| 0               | 12    | 31  | 13   | 9.8              | 1
| 2               | 12    | 31  | 14   | 10.1             | 0

对于一年中的每个小时,我都有服务的客户数量以及相应的天气数据。

我在R中创建了一个多元线性回归模型,以预测几乎所有其他变量作为预测变量的客户数量。到目前为止,使用summary()命令,MSE,R ^ 2和其他统计数据看起来还不错。

现在我想检查相同的模型是否也适用于交叉验证集。为此,我已经与相同的天气数据合并,以获得与上表具有相同结构的数据集,只有不同数量的客户。

然而,那是我目前所困的地方。将predict.lm()函数与模型和交叉验证集一起使用似乎确实有效,但只能产生预测值和很少的附加信息。

是否有某种方法可以创建模型对其他数据集的效果总结?与summary()命令类似,但是对于线性模型最初不是基于的数据集?

1 个答案:

答案 0 :(得分:0)

您可以计算均方误差和均方根误差,以了解模型的效果。

1)获取系数并将它们乘以训练数据中的协变矩阵。 yhat =(X * b)

2)参加你的训练集,并将这些与上面的yhat区别开来。

3)平方错误

4)取答案的平方根=均方根误差

较低的值意味着更好地适应整体