如何解释glm模型的异常结果?

时间:2014-09-25 14:18:32

标签: r glm logistic-regression

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

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。我对模型输出的解释是不正确的,或者我编码错误。我该如何解释这些结果?

enter image description here


  # 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)

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

输出正确。您应该将这些值解释为概率。 Base类设置概率是多少。

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

如果你想要二进制类,你必须决定概率的截止值。如果患病率为50%,则0.5应足以作为临界值。