2017-08-11 23 views
1

我有一个奇怪的问题绘制glm的拟合值。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

对于这个数据集,gamma分布并不完全正确。图中显示的数据显示了一个平方根查找函数。尝试指定这样的模型:

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") 
+0

非常感谢!现在看起来好多了。好像我需要更多地发掘分布。 – Julian