广义线性模型和 glm()函数介绍

您所在的位置:网站首页 r语言glm 广义线性模型和 glm()函数介绍

广义线性模型和 glm()函数介绍

2023-06-08 01:40| 来源: 网络整理| 查看: 265

1 广义线性模型和 glm()函数

广义线性模型扩展了线性模型的框架,它包含了非正态因变量的分析。重点关注该框架中两种流行的模型:Logistic回归(因变量为类别型),比如多分类变量(比如差/良好/优秀)和泊松回归(因变量为计数型),比如一周交通事故的数目,每日酒水消耗的数量。

1.1 glm()函数

R中可通过glm()函数(还可用其他专门的函数)拟合广义线性模型。它的形式与lm()类似,只是多了一些参数。函数的基本形式为:

glm(formula, family=family(link=function), data=)

下表列出了概率分布(family)和相应默认的连接函数(function)

假设你有一个响应变量(Y)、三个预测变量(X1、X2、X3)和一个包含数据的数据框(mydata)。Logistic回归适用于二值响应变量(0和1)。模型假设Y服从二项分布,线性模型的拟合形式为:

其中π=μY是Y的条件均值(即给定一系列X的值时Y=1的概率),(π/1–π)为Y=1时的优势比,log(π/1–π)为对数优势比,或logit。本例中,log(π/1–π)为连接函数,概率分布为二项分布,可用如下代码拟合Logistic回归模型:

glm(Y~X1+X2+X3, family=gaussian(link="identity"), data=mydata)

总之,广义线性模型通过拟合响应变量的条件均值的一个函数(不是响应变量的条件均值),

假设响应变量服从指数分布族中的某个分布(并不仅限于正态分布),极大地扩展了标准线性模型。模型参数估计的推导依据的是极大似然估计,而非最小二乘法。

1.2 连用的函数

与分析标准线性模型时lm()连用的许多函数在glm()中都有对应的形式,其中一些常见的函

数见下表所示:

  

1.3 模型拟合和回归诊断

当评价模型的适用性时,你可以绘制初始响应变量的预测值与残差的图形。例如,如下代码

可绘制一个常见的诊断图:

plot(predict(model, type="response"), residuals(model, type= "deviance"))

其中,model为glm()函数返回的对象。

R将列出帽子值(hat value)、学生化残差值和Cook距离统计量的近似值。不过,对于识别异常点的阈值,现在并没统一答案,它们都是通过相互比较来进行判断。其中一个方法就是绘制各统计量的参考图,然后找出异常大的值。例如,如下代码可创建三幅诊断图:

plot(hatvalues(model)) plot(rstudent(model)) plot(cooks.distance(model))

你还可以用其他方法,代码如下:

library(car) influencePlot(model)

它可以创建一个综合性的诊断图。在后面的图形中,横轴代表杠杆值,纵轴代表学生化残差值,而绘制的符号大小与Cook距离大小成正比。

当响应变量有许多值时,诊断图非常有用;而当响应变量只有有限个值时(比如Logistic回归),诊断图的功效就会降低很多。

本文来自博客园,作者:zhang-X,转载请注明原文链接:https://www.cnblogs.com/YY-zhang/p/15137793.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3