【问题标题】:How to interpret unusual results from glm model?如何解释 glm 模型的异常结果?
【发布时间】:2014-11-20 08:47:28
【问题描述】:

我正在使用逻辑回归模型来预测栅格数据集中的值。模型中使用的数据格式如下:

class     b1     b2     b3     b4
A         121    111    90     160
A         100    90     67     90
B         90     120    102    154
...

我希望模型的输出是分类的(A 或 B;只有两个类)。相反,glm 模型产生范围为 0 到 1 的连续值。要么我对模型输出的解释不正确,要么我编码错误。我应该如何解释这些结果?


  # GLM
  myglm = glm(factor(class) ~ b1 + b2 + b3 + b4), data = df, family = binomial(link = "logit"))

  # Predict results and write to image 
  predict(sf, myglm, outpath, type="response", 
          index=1, na.rm=TRUE, progress="text", overwrite=TRUE)

【问题讨论】:

  • @rawr 我不认为期望可以模拟二元结果是不合理的。
  • @jbaums 问题似乎是“为什么我的拟合值不是 As 和 Bs”还是我错了?
  • @jbaums 请回复
  • 所以我可以解决这个问题并通知解决相同问题的两个回答者(有两个赞成票)。谢谢
  • @rawr 当然,这就是问题所在。我只是说我可以看到 OP 如何期望 R 在这种情况下刺激二元结果(并随后返回一个向量,该向量的值与原始结果一致)。

标签: r glm logistic-regression


【解决方案1】:

看起来您的编码没有错误。听起来您正在预测目标事件的概率(因此为 0 到 1)。尝试堆栈交换统计以获取有关逻辑回归的更多信息:https://stats.stackexchange.com/

如果您想要一个纯粹的二元结果,您可以假设在哪里向上或向下舍入以强制将低于 0.55 的所有内容都设为 0,将高于 0.55 的所有内容设为 1。这在很大程度上取决于事件的稀有性和您想要在哪里添加截止值的您自己想要的结果。这不是我经常看到的方法,但它包含在一些软件包中,例如 TreeNet。

【讨论】:

    【解决方案2】:

    输出是正确的。您应该将这些值解释为概率。基类集是概率的用途。

    值 0.7 表示数据点属于 A(或 B)类的概率为 70%,具体取决于您设置级别的方式。

    如果你想要二元类,你必须决定概率的截止点。如果流行率为 50%,则 0.5 应足以作为截止值。

    【讨论】:

      猜你喜欢
      • 2022-01-27
      • 2020-03-30
      • 2016-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-24
      • 1970-01-01
      • 2014-07-10
      相关资源
      最近更新 更多