解释 glm 模型输出,评估拟合质量

机器算法验证 r 回归 广义线性模型 解释 拟合优度
2022-04-07 00:54:59

我对随机过程(特别是非平稳信号的分析)有一定的了解,但除了是 R 的初学者之外,我以前从未使用过回归模型。好吧,当使用适合我的数据的 glm 模型的结果时,我对理解 R 中函数 summary() 的结果有一些疑问。好吧,假设我使用以下命令将广义线性模型拟合到我的数据:**

glm_model <- glm(Output ~ (Input1*Input2) + Input3 + Input4, data = mydata)

然后我使用 summary(glm_model) 获得以下内容:

Call: 
glm(formula = Output ~ (Input1*Input2) + Input3 + Input4, data = mydata)
Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-7.4583  -0.8985   0.1628   1.0670   6.0673  
Coefficients:

Estimate Std. Error t value Pr(>|t|)    
(Intercept)        8.522e+00  6.553e-02 130.041  < 2e-16 ***
Input1            -3.819e-04  3.021e-05 -12.642  < 2e-16 ***
Input2            -2.557e-04  2.518e-05 -10.156  < 2e-16 ***    
Input3            -3.202e-02  1.102e-02  -2.906  0.00367 **     
Input4            -1.268e-01  7.608e-02  -1.666  0.09570 .      
Input1:Input2      1.525e-08  2.521e-09   6.051 1.53e-09 ***    
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

(Dispersion parameter for gaussian family taken to be 2.487504)
    Null deviance: 18544  on 5959  degrees of freedom
Residual deviance: 14811  on 5954  degrees of freedom
  (1708 observations deleted due to missingness)
AIC: 22353
Number of Fisher Scoring iterations: 2

从估计理论的角度来看,我理解“估计”和“标准误差”是我模型的未知参数(beta1、beta2、...)的估计值和标准差。但是,有些事情我不明白:

  1. 我如何从 的输出中评估我的合身程度summary()我们不能仅使用参数估计量的标准差信息来评估拟合优度。例如,我希望能够访问给定参数估计器的采样分布,以了解 +- 1std、+-0.5std 或任何 +-x*std 内的估计百分比。其他选择是知道参数估计器的理论分布,以便尝试计算其 Cramer Rao 下界并与计算的 std 进行比较。

  2. t 值(或 Pr(>|t|) )与拟合优度有什么关系?由于我不熟悉回归模型,因此我不知道学生 t 分布与模型参数估计之间的联系。这是什么意思?glm 模型的参数估计量是否根据学生 t pdf 分布(如未知总体小样本的样本估计量)?我应该从 Pr(>|t|) 中得出什么结论?

  3. 我们是否有更一般的形式来评估拟合优度,例如衡量我的模型可以捕获的数据的可变性,或者在给定一定的显着性水平的情况下,这种衡量标准的临界值表?**

  4. 在拟合 glm 模型时,我们是否需要指定显着性水平?如果是,为什么摘要功能没有提供这样的信息?

  5. summary函数输出一些基于信息论的度量,比如AIC:22353。我们可以为AIC定义一个最优的参考值吗?什么是好的 AIC 值?我的直觉是我们不能这样做,就像其他信息论测量(互信息,熵,......)

2个回答

首先,由于您之前对回归模型几乎没有经验,我建议您获取两个免费的参考资料。An Introduction to Statistical Learning涵盖了线性回归和广义线性模型在有用的广泛背景下的一些示例。Faraway 的Practical Regression and Anova using R更专注于您的一些问题。

其次,glm您提供的模型似乎等同于通常lm在 R 中分析的标准线性回归模型。如果您的问题是标准线性回归,则结果的输出summary可能lm更有用。glm用于将线性回归技术推广到“输出”或响应变量的模型,例如,分类或计数而不是连续实数。汇总可能会省略这些广义模型未正确提供的glm某些类型的lm汇总值,但它确实提供了适用于通过所使用的最大似然方法拟合的模型的 AIC 值glm

第三,您需要注意“拟合优度”的不同含义之间的重要区别。从 的输出中很容易捕捉到的一个含义lm是模型与您拥有的特定数据样本的拟合程度。但是,根据您的应用程序,您可能对模型对新数据样本的泛化程度更感兴趣。对于后一种兴趣,您必须将回归与引导或交叉验证等技术结合起来。

第四,当您将预测变量列为“输入”并将结果变量列为“输出”时,您可能正在分析时间序列变量。在这种情况下,可能需要更专业的技术来考虑趋势和自相关等问题。请参阅此交叉验证页面作为开始的地方。

现在为您的问题:

  1. 模型的包括summary一个lm“调整后的 R 平方”值,它是对整体拟合优度的简单总结;它本质上是模型所考虑的总体方差分数的度量,并校正了模型拟合的变量数量。然而,这不足以测试线性回归的有效性。为此,您需要评估残差是否相对独立于拟合值,特定数据点是否过度影响结果等等。一个模型plotlm一个很好的开始方式。上面提到的 Faraway 参考资料进行了一些详细说明。(有关置信区间,请参见下文。)

  2. 在线性回归的通常假设下,估计的回归系数遵循学生 t 分布。摘要中列出的概率指定了偶然发现该量级系数的频率,如果该系数在该估计标准误差下确实为 0。标准误差可用于设置系数的置信区间(问题 1),如 Faraway 参考所示。

  3. 这基本上包含在上面对(1)的答案中。我提醒您不要关注拟合优度的一般度量,而要多关注上面提到的更详细的测试,这些测试记录了线性模型是否甚至是合理的拟合开始。

  4. 在标准的常客统计测试中,阈值 p 值是预先指定的,并且那些通过该阈值的案例被认为是“重要的”。如果您预先指定了 p < 0.05,则根据 (2 )。

  5. AIC 值可用于在相同数据的不同模型之间进行比较。维基百科页面很好地解释了它,Faraway 的参考资料也在线性回归模型中进行选择的背景下解释了它。AIC 是对模型可能性(在技术意义上)的度量,根据模型拟合的参数值的数量进行了校正。至于任何这样的衡量标准,什么是“好”的 AIC 在很大程度上取决于主题;对于临床研究来说可能非常好的东西,对于粒子物理学来说却是可怕的。一些软件报告的 AIC 值没有常数项,在模型比较中可以忽略这些常数项,其中只有 AIC 的差异很重要。因此,我建议您不要相信特定统计包报告的 AIC 值是“真实的”AIC 值,除非您非常了解该包。

让我添加一些关于 lm 输出和 glm 输出的消息。

  1. 关于lm输出,这个页面可能对你有很大帮助。它解释lm()函数输出summary()
  2. 关于glm此页面中的信息可能会有所帮助。
  3. 此外,AIC是一个常数的估计加上数据的未知真实似然函数与模型的拟合似然函数之间的相对距离,因此较低的 AIC 意味着模型被认为更接近真相。
  4. 尝试理解这些测试和统计数据有助于理解模型。