glm拟合值镜像/赢得匹配

时间:2017-08-11 15:25:57

标签: r plot glm predict

我在绘制一个glm的拟合值时遇到了一个奇怪的问题。

我的代码是:

Data <- data.frame("Sp" = c(111.4, 185, 231, 272.5, 309, 342, 371, 399, 
  424, 447, 469, 489, 508, 527, 543, 560, 575, 589, 603, 616, 630, 642, 653,   
  664, 675, 685, 695, 705, 714, 725, 731, 740), "nrC" = 1:32)

modell <- glm(Sp ~ nrC, data = Data, family = Gamma)
pred <- predict(modell, newdata = data.frame("nrC" = 1:32), type = "response")

plot(Data$nrC, Data$Sp, xlim = c(0, 40), ylim = c(50, 1000))
lines(Data$nrC, pred, col = "blue")

除了水平镜像外,表示拟合值的蓝线似乎没问题 我对此比较陌生,所以也许我在这里遗漏了一些明显的东西,但我无法弄清楚出了什么问题。
对所提供的数据here执行相同操作非常正常。

我很感激任何暗示!

1 个答案:

答案 0 :(得分:1)

此数据集的伽马分布并不完全正确。您制定的图中显示的数据显示了平方根看起来的功能。尝试像这样指定模型:

modell <- glm(Sp ~ sqrt(nrC), data = Data, family = gaussian)
pred <- predict(modell, newdata = data.frame("nrC" = 1:32), type = "response")

plot(Data$nrC, Data$Sp, xlim = c(0, 40), ylim = c(50, 1000))
lines(Data$nrC, pred, col = "blue")