【问题标题】:Issues solving a Regression with numeric and categorical variables in R使用 R 中的数字和分类变量解决回归问题
【发布时间】:2017-08-15 23:11:53
【问题描述】:

我对统计和 R 很陌生,所以我的问题可能有点愚蠢,但由于我无法在网上找到我的解决方案,我想我应该尝试在这里提问。

我有一个包含很多不同变量的数据框dataset,如下所示:

 Item | Size   | Value    | Town
----------------------------------
A     |  10    |   800   | 1
B     |  11    |   100   | 2
A     |  17    |   900   | 2
D     |  13    |   200   | 3
B     |  15    |   500   | 1
C     |  12    |   250   | 3
E     |  14    |    NA   | 2
A     |        |   800   | 1
C     |        |   800   | 2

基本上,我必须尝试根据物品的类型、价值和出售的城镇来“猜测”尺寸,所以我认为回归方法是个好主意。

我尝试使用多项式回归(尽管我什至不确定这是否正确)通过使用类似于以下的函数来查看它的外观:

summary(lm(Size~ polym(factor(Item), Value, factor(Town), degree=2, raw=TRUE), dataset))

但当我尝试执行此操作时收到此警告消息:

Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) : 0 (non-NA) cases In addition: Warning message: In Ops.factor(X, Y, ...) : ‘^’ not meaningful for factors

谁能告诉我为什么会这样?更重要的是,我所做的是否正确?

我的第二个问题是关于回归中的 NA 值。在上面的数据集中,Value 列中有一个NA 值。据我了解,R 会忽略列中具有NA 值的行。但是如果我有很多 NA 值怎么办?此外,如果一列中只有一个 NA 值,那么自动消除整行似乎是浪费数据,所以我想知道是否有更好的方法来解决或解决这个问题。谢谢!

编辑:我还有一个问题:在我创建的回归模型中,测试数据中似乎存在新的“级别”,而这些新“级别”不在训练数据中(例如,错误为 factor(Town) has new levels)。对于这种情况,应该怎么做?

【问题讨论】:

  • polym 中删除因子 - 您正在尝试对无意义的因子变量求平方。首先尝试lm(Size ~ factor(Item) + factor(Town) + Value,...),然后根据需要添加一个平方项Value
  • @RemkoDuursma 啊,谢谢,我现在就试试 :)

标签: r statistics regression


【解决方案1】:

是的,按照@RemkoDuursma 的建议使用lm(Size ~ factor(Item) + factor(Town) + Value,...) 并通过比较残差来查看其他度数(您选择平方的原因是什么?)。

关于替换 NA 值,您有很多选择:

  1. 用中间变量值替换所有变量
  2. 用平均变量值替换所有内容
  3. 用基于其他变量值的预测替换每个变量

祝你好运,下次你可能想看看https://stats.stackexchange.com/

【讨论】:

  • 谢谢!我会尝试相应地修改我的数据:)我还有最后一个问题,如果您有空闲时间,可以检查一下吗?
  • 当然!看看什么,哈哈?
  • 是错误还是警告?模型应该能够根据其他变量(即值)进行预测
  • 不幸的是,这是一个错误,完整的错误是Error in model.frame.default(Terms, newdata, na.action=na.action, xlev = object$xlevels): factor factor(Town) has new levels。有没有办法让它使用基于其他变量的预测?
  • hmm...我会在交叉验证中询问(我在答案中发布了链接),因为我的统计知识现在也只是在发展啊哈
猜你喜欢
  • 2020-02-13
  • 2020-04-25
  • 2017-03-31
  • 2022-11-29
  • 2020-07-16
  • 2019-06-03
  • 2020-04-07
  • 2013-09-11
  • 1970-01-01
相关资源
最近更新 更多