原文链接:http://tecdat.cn/?p=26147
本文应用的数据集记录了 1236 名新生婴儿的体重,以及他们母亲的其余协变量。
本钻研的目标是测量吸烟对新生儿体重的影响。钻研人员须要通过管制其余协变量(例如母亲的体重和身高)来隔离其影响。这能够通过应用多元回归模型来实现,例如,通过思考权重 Y_i 能够建模为
Y\_i = beta\_0 + beta\_1 x\_{i,1} + ldots + beta\_p x\_{i,p} + varepsilon_i
str(babis)
数据集的形容如下:
bwt
是因变量,新生儿体重以盎司为单位。数据集应用 999 作为缺失值。gestation
是怀孕的工夫,以天为单位。999 是缺失值的代码。parity
第一胎应用 0,否则应用 1,缺失值应用 9。age
是母亲的年龄,整数。99 是缺失值。height
是母亲的身高。99 是缺失值。weight
是母亲的体重,以磅为单位。999 是一个缺失值。smoke
是一个分类变量,示意母亲当初是否吸烟 (1) (0)。9 是缺失值。
这个问题的钻研人员想要判断以下内容:
- 吸烟的母亲会减少早产率。
- 吸烟者的新生儿在每个胎龄都较小。
- 与母亲的孕前身高和体重、产次、既往妊娠终局史或婴儿性别(这最初两个协变量不可用)相比,吸烟仿佛是出世体重的一个更重要的决定因素。
咱们将专一于第二个判断
从 str()命令中留神到,所有的变量都被存储为整数。我将把缺失值转换为 NAs,这是 R 中缺失值的正确示意。
bwt == 999\] <- NA
# 有多少察看后果是缺失的?sapply(babies, couna)
每当您在 R 中应用函数时,请记住,默认状况下它可能有也可能没有 na-action。例如,该 mean()
函数没有,并且 NA
在将短少值的参数传递给它时简略地返回:
sapply(babies, mean)
您能够通过查看 mean()
函数帮忙来纠正它,通过一个参数 na.rm=TRUE
,它删除了 NA
s。
sapply(babies, mean, na.rm = TRUE)
另一方面,默认状况下summary()
会删除 NA
s,并输入找到的 NA
s 数量,这使其成为汇总数据时的首选。
summary(babies)
咱们能够看到转换因子显示了不同的摘要,因为 summary() 操作依据变量类型而变动:
parity <- factor(parity, levels)
绘制数据是您应该采取的第一个操作。我将应用 lattice
包来绘制它,因为它的最大劣势在于解决多变量数据。
require(lattice)
xyplot
为了拟合多元回归模型,咱们应用命令 lm()
。
model <- lm(bwt ~ ., data = babies)
这是总结:
summary(model)
留神 R 的默认动作是删除信息缺失的行。不过,如何解释这些系数呢?
如果 j 协变量 xj 是实值,那么系数 βj 的值就是在其余协变量不变的状况下,将 xij 减少 1 个单位对 Yi 的均匀影响。
如果 j 协变量 xj 是分类的,那么系数 βj 的值是对 Yi 从参考类别到指定程度的均匀增量影响,而其余协变量放弃不变。参考类别的平均值是截距(或参考类别,如果模型中有一个以上的分类协变量)。
为了验证这些假如,R 有一个绘图计划。
残差中的曲率表明,须要进行一些转换。尝试取 bwt 的对数,以取得更好的拟合(与妊娠期相比)。
summary(model.log)
为了简略起见,我会保留线性模型。给妊娠期减少一个二次项可能有用。公式通常保留 ^ 作为交互作用的快捷方式,所以(妊娠期 + 烟)^2 与妊娠期 * 烟或妊娠期 + 烟 + 妊娠期:烟雷同。二次项。
改良依然很小,但它当初的确将察看 261 显示为异样值。这个察看有什么问题?
babies\[261, \]
咱们能够看到,而母亲的身高、年龄等都十分正当;这个婴儿异样早产。因而,将他 / 她剔除出模型。
拟合度有所提高,但当初 870 号婴儿显示为异样值 …… 这能够继续下去,直到咱们都称心为止。你还会做哪些转化?将吸烟和妊娠期交互作用会更好吗?
最受欢迎的见解
1.R 语言多元 Logistic 逻辑回归 利用案例
2. 面板平滑转移回归 (PSTR) 剖析案例实现剖析案例实现 ”)
3.matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)
4.R 语言泊松 Poisson 回归模型剖析案例
5.R 语言混合效应逻辑回归 Logistic 模型剖析肺癌
6.r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现
7.R 语言逻辑回归、Naive Bayes 贝叶斯、决策树、随机森林算法预测心脏病
8.python 用线性回归预测股票价格
9.R 语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测