R语言实战笔记–第十三章 广义线性模型
标签(空格分隔): R语言 广义线性模型 logistic回归 泊松回归
广义线性回归
我们知道,OLS回归的要求是假设因变量是正态分布(还有独立性、线性及同方差性),但是,我们在使用时,因变量通常会出现二值变量(如是/否、通过/不通过之类)或多分类变量(如优/良/中/差等),又或者为计数变量(如一周的交通事故次数这类非负有限值)。而广义线性回归就是能够解决此类问题的回归。书中只介绍了Logistic回归及泊松回归两个回归的一般方法(像稳健、多项、有序等并未涉及)。
OLS回归的函数式为: μY=β0+∑pj=1βjXj ,其中Y呈正态分布, μY 为Y的均值
广义线性的函数式为: g(μY)=β0+∑pj=1βjXj ,其中 g(μY) 是条件均值的函数(称为连接函数)
同OLS回归,广义线性的使用也是由一个函数统领,为glm()函数,它与OLS回归相似,但多了一些参数,最主要的是family参数,它指定了概率分布及相应默认的连接函数,如下表:
分 布 族 | 默认的连接函数 |
---|---|
binomial | (link = “logit”) |
gaussian | (link = “identity”) |
gamma | (link = “inverse”) |
inverse.gaussian | (link = “1/mu^2”) |
poisson | (link = “log”) |
quasi | (link = “identity”, variance = “constant”) |
quasibinomial | (link = “logit”) |
quasipoisson | (link = “log”) |
另外,lm模型的部分函数可以用于glm模型,如summary、coefficient/coef、confit等。
模型的适用性是每个模型必不可少的一个判断,模型的拟合和回归诊断。当评价模型适用性时,可以使用初始响应变量的预测值与残差的图形来进行判断。
plot(predict(glmModel,type=”response”),residuals=(glmModel,type=”deviance”)
书中提到,对广义线性模型的异常点识别仍然未有统一答案,但可以通过帽子值,学生化残差和Cook距离找出异常大的值,然后通过相互比较来进行判断异常,这是一个方法。代码:
plot(hatvalues(glmModel))
plot(rstudent(glmModel))
plot(cooks.distance(glmModel))
还可以使用car包中的一种方法,在OLM回归的时候也有提到的强影响点
library(car)
influencePlot(glmModel)
当响应变量(因变量)的值较多的时候,诊断图较为有用,当响应变量只有有限个时,诊断图的功效会降低很多。
Logistic回归
原理
简单说一下它的公式: