在 R 中绘制 GLM 的结果

机器算法验证 r 数据可视化 广义线性模型 散点图
2022-04-02 20:12:06

我在 Excel 中将此数据绘制为散点图:

在此处输入图像描述

我在 Excel 中做了一个回归,p 值为 2.14E-05,而 R-值为 0.32。有人告诉我,与 p 值的显着性相比,R 值太低,并被告知通过带有准泊松误差的 GLM 通过 R 运行数据来控制数据的分散。

这给了我

glm(formula = encno ~ temp, family = quasipoisson(link = log), 
    data = encnotemp)

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-6.008  -2.431  -1.021   1.353   9.441  

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 2.005807   0.174628  11.486  < 2e-16 ***
temp        0.029065   0.006528   4.453 1.53e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for quasipoisson family taken to be 10.19898)

    Null deviance: 1807.4  on 171  degrees of freedom
Residual deviance: 1620.1  on 170  degrees of freedom
AIC: NA

Number of Fisher Scoring iterations: 5

我如何分析这个输出?

问题是散点图数据过于分散,我想从准泊松 GLM 输出中制作一个散点图,显示分散程度较低(更合适)的数据点。这可能吗?

1个回答

有人告诉我,与 p 值的重要性相比,R 值太低了”——对我来说听起来像是胡说八道。

另一方面,某种形式的 glm 可能是个好主意(但在我看来,价差的增加可能比您对准泊松的预期增加得更多)。

请注意,glm 并没有改变数据的传播——它只是模拟改变传播(以特定方式)。数据仍然是数据,如果您绘制它们,它们仍然看起来像它们一样。

您可以通过转换更改数据的外观当泊松参数不是非常小时,近似稳定方差的一种方法是如果泊松参数可以取小值,您可能想尝试代替(在我看来,这可能好吧,您的价值很小)。yy+38y+y+1

另一方面,对拟合模型进行线性化的方法是对数(但这仅适用于没有精确零点的情况)。

--

虽然它不会让您满意,但您可以通过以下方式绘制拟合曲线

plot(temp,encno,xlim=c(0,60))
newdat <- data.frame(temp=seq(9,48,.5))
encnoglm1 <- glm(formula = encno ~ temp, family = quasipoisson(link = log), 
                     data = encnotemp)
fit <- predict(encnoglm1,newdata=newdat,type="response")
lines(fit~temp,data=newdat,type="l",col=4)

或者,如果您想查看如果准泊松合适,那么几乎恒定的方差:

 plot(temp,sqrt(encno+3/8),xlim=c(0,60))
 lines(sqrt(fit+3/8)~temp,data=newdat,type="l",col=2)