【问题标题】:Cross validation for a multiple linear regression in R [duplicate]R中多元线性回归的交叉验证[重复]
【发布时间】:2017-05-18 02:19:49
【问题描述】:

我目前正在开展一个大学项目,以预测 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() 命令,但是对于线性模型最初不是基于的数据集?

【问题讨论】:

    标签: r regression forecasting cross-validation


    【解决方案1】:

    您可以计算均方误差和均方根误差,以了解您的模型的表现如何。

    1) 将系数乘以训练数据中的协变量矩阵。 yhat = (X*b)

    2) 获取您的训练集 y,并获取这些与上述 yhat 之间的差异。

    3) 平方误差

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

    较低的值意味着更适合整体

    【讨论】:

      猜你喜欢
      • 2021-05-06
      • 2018-09-06
      • 2020-04-06
      • 2021-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      相关资源
      最近更新 更多