【问题标题】:predict values for glm model build without the case itself在没有案例本身的情况下预测 glm 模型构建的值
【发布时间】:2013-05-28 15:36:15
【问题描述】:

我想使用生成的模型来预测值。这是最简单的部分:

predicted = fitted.values(glm(dep ~ indep, family = myFamily, maxit = myMaxit)

但是:对于每种情况,我都不想使用这种情况来构建模型(不使用 for 循环)

例子:

Grade  Sex  Age  Course  School
-------------------------------
  1    m    11   math    St.Adam
  2    w    12   engl    St.Adam
  3    m    13   fren    St.Adam
  4    w    14   math    St.Eve
  5    m    15   engl    St.Eve
  6    w    16   fren    St.Eve
    …   …     …     …        …

假设我想预测 St.Adam 学生的平均成绩,但不想用它们来构建模型。

【问题讨论】:

  • 所以你实际上是在尝试做一种留一式验证/预测的形式?您能否提供更多背景信息和可重复的示例?您能解释一下为什么要避免循环吗? (原则上,您可以创建一个函数,尝试通过省略/添加单个案例来有效地更新模型,但我不知道您将如何完全避免循环......)
  • 我了解到 Matlab、R 等“语言”中的循环通常较慢,因此我正在寻找“本机”解决方案。如果 for 循环是本机解决方案,我很抱歉造成误解。
  • “循环很慢”有点过度概括,尽管作为第一遍还不错。更好的说法是“矢量化解决方案在起作用时要快得多”。在这种情况下,我认为没有一种简单的方法可以创建矢量化解决方案。

标签: r glm predict


【解决方案1】:

也许是……

lapply(1:dim(df)[1], FUN = function(x)
    fitted.values(glm(dep ~ indep, family = myFamily, maxit = myMaxit, data=df[-x,])) )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-07
    • 2010-11-20
    • 2015-09-22
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 2012-11-03
    相关资源
    最近更新 更多