当前位置:天才代写 > tutorial > 其他教程 > 再谈广义线性模子

再谈广义线性模子

2017-12-04 08:00 星期一 所属: 其他教程 浏览:500

广义线性模子(generalized linear model, GLM)是简朴最小二乘回归(OLS)的扩展,在OLS的假设中,响应变量是持续数值数据且听从正态漫衍,并且响应变量期望值与预测变量之间的干系是线性干系。而广义线性模子则放宽其假设,首先响应变量可以是正整数或分类数据,其漫衍为某指数漫衍族。其次响应变量期望值的函数(毗连函数)与预测变量之间的干系为线性干系。因此在举办GLM建模时,需要指定漫衍范例和毗连函数。

在R中凡是利用glm函数结构广义线性模子,个中漫衍参数包罗了binomaial(两项漫衍)、gaussian(正态漫衍)、gamma(伽马漫衍)、poisson(泊松漫衍)等。和lm函数雷同,glm的建模功效可以通过下述的泛型函数举办二次处理惩罚,如summary()、coef()、confint()、residuals()、anova()、plot()、predict()


一、Logistic回归
Logistic回归中假设响应变量听从二项漫衍,参数family配置为binomial,毗连函数link配置为logit,我们以AER包中的Affairs数据集作为例子。该数据集是关于婚姻出轨,个中affairs变量暗示出轨次数,数据会合还包罗成婚时间、教诲、宗教等其它变量。由于affairs为正整数,为了举办Logistic回归先要将其转化为二元变量。
data(Affairs, package=’AER’)

Affairs$ynaffair[Affairs$affairs > 0] <- 1
Affairs$ynaffair[Affairs$affairs > 0] <- 0
Affairs$ynaffair <- factor(Affairs$ynaffair,
levels=c(0,1),
labels=c(“No”,”Yes”))
model.L <- glm(ynaffair ~ age + yearsmarried + religiousness +rating, data=Affairs, family=binomial())
summary(model.L)
若样本视察值变异性过大,即呈现了太过离散现象,此时仍利用二项漫衍假设就会影响系数检测的显著性。那么调停的要领是利用准二项漫衍(quasibinomial)。首先要检测样本是否存在太过离散现象,要领是用残差除以残差自由度,若高出1则意味着太过离散。那么将family参数改为quasibinomial。
其它和Logistic回归相关的函数还包罗:robust包中的glmRob函数实施稳健GLM;mlogit包中的mlogit函数对多分类变量举办logistic回归;rms包中的lrm函数对顺序变量举办Logistic回归。之前的这篇博文对Logistic回归亦有必然的涉及。

二、Poisson回归
泊松回归假设响应变量听从泊松漫衍,而毗连函数为log函数。仍以前面未转化的Affairs数据集为例。成立模子后通过coef函数来提取模子系数,因为泊松回归中响应变量颠末尾log函数调动,所以对系数举办指数调动可更好的对功效举办表明。从中调查到,在其它变量稳定前提下,成婚时间增长1年,那么出轨次数期望值则变为之前的1.11倍。
model.P <- glm(affairs ~ age + yearsmarried + religiousness +rating, data=Affairs, family=poisson())
exp(coef(model.P))
(Intercept) age yearsmarried religiousness rating
15.6175253 0.9733061 1.1163656 0.6971279 0.6691823
同样,在举办泊松漫衍也要思量太过离散现象。其检测要领同样是残差除以其自由度。若确定太过离散存在,则要将family参数配置为准泊松漫衍(quasipoisson)。
 

    关键字:

天才代写-代写联系方式