R语言机器学习入门——18

174 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第12天,点击查看活动详情 下面进入我们最实在的实战项目,广义线性模型————比一般的线性模型不同的点在于数据无规则分布的,要通过数据分析找到规律

项目实操——广义线性模型

在现实生活中,大部分数据都是无规则分布的,要通过数据分析找到规律。

广义线性模型扩展了线性模型的框架,它包含了非正态因变量的分析,在R中可以通过glm()函数进行广义线性回归分析(具体可以参考R语言实战p283)

这里我们使用breslow数据集进行演示,这个数据集是遭受轻微或严重性癫痫病的病人的年龄和发病数进行的记录

响应变量是后八周内癫痫病发病数sumy,预测变量为治疗条件(trt),年龄(age)以及前八周的基础癫痫病发病数(base),之所以包含年龄(age)以及发病数(base),是因为他们对响应变量有潜在的影响,属于协变量,在解释这些协变量之后,才能知道药物治疗对癫痫病的影响

data(breslow.dat,package="robust")
summary(breslow.dat)

接下来使用glm()函数进行泊松回归:

attach(breslow.dat)
fit <- glm(sumY ~ Base+Age+Trt,data = breslow.dat,family = poisson(link = 'log'))
summary(fit)

在线性回归中使用的函数在广义线性模型中同样可以使用,我们可以使用coef()函数查-/看回归结果的系数项:

coef(fit)

由于泊松回归的系数是对数形式,我们可以再对其取指数:

exp(coef(fit))

结果表明,当年龄增加一岁时,平均数的癫痫发病数将乘以1.023,也就是癫痫发病数的期望值将乘以1.023,这就代表,年龄的增加与较高的癫痫发病率存在关联。