0
点赞
收藏
分享

微信扫一扫

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化

本文使用的数据集记录了 1236 名新生婴儿的体重,以及他们母亲的其他协变量。

本研究的目的是测量吸烟对新生儿体重的影响。研究人员需要通过控制其他协变量(例如母亲的体重和身高)来隔离其影响。这可以通过使用​​多元回归​​模型来完成,例如,通过考虑权重  Y_i  可以建模为

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_数据

  1.   
  2.  str(babis)

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_数据_02

数据集的描述如下:

  • ​bwt​​ 是因变量,新生儿体重以盎司为单位。数据集使用 999 作为缺失值。
  • ​gestation​​ 是怀孕的时间,以天为单位。999 是缺失值的代码。
  • ​parity​​ 第一胎使用 0,否则使用 1,缺失值使用 9。
  • ​age​​ 是母亲的年龄,整数。99 是缺失值。
  • ​height​​ 是母亲的身高。99 是缺失值。
  • ​weight​​ 是母亲的体重,以磅为单位。999 是一个缺失值。
  • ​smoke​​ 是一个分类变量,表示母亲现在是否吸烟 (1) (0)。9 是缺失值。

这个问题的研究人员想要判断以下内容:

  • 吸烟的母亲会增加早产率。
  • 吸烟者的新生儿在每个胎龄都较小。
  • 与母亲的孕前身高和体重、产次、既往妊娠结局史或婴儿性别(这最后两个协变量不可用)相比,吸烟似乎是出生体重的一个更重要的决定因素。

我们将专注于第二个判断

从str()命令中注意到,所有的变量都被存储为整数。我将把缺失值转换为NAs,这是R中缺失值的正确表示。

  1.  bwt == 999] <- NA
  2.   
  3.   
  4.  # 有多少观察结果是缺失的?
  5.   
  6.  sapply(babies, couna)

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_03

每当您在 R 中使用函数时,请记住,默认情况下它可能有也可能没有 na-action。例如,该 ​​mean()​​​ 函数没有,并且 ​​NA​​ 在将缺少值的参数传递给它时简单地返回:

  1.  sapply(babies, mean)
  2.   

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_r语言_04

您可以通过检查 ​​mean()​​​ 函数帮助来纠正它,通过一个参数 ​​na.rm=TRUE​​​,它删除了 ​​NA​​s。

sapply(babies, mean, na.rm = TRUE)

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_05

另一方面, 默认情况下​​summary()​​​ 会删除 ​​NA​​​s,并输出找到的 ​​NA​​s 数量,这使其成为汇总数据时的首选。

summary(babies)

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_数据_06

我们可以看到转换因子显示了不同的摘要,因为 summary() 操作根据变量类型而变化:

parity <- factor(parity, levels )

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_07

绘制数据是您应该采取的第一个操作。我将使用 ​​lattice​​ 包来绘制它,因为它的最大优势在于处理多变量数据。

  1.  require(lattice)
  2.  xyplot

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_数据_08

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_数据_09

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_10

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_数据_11

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_12

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_13

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_14

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_15

为了拟合多元回归模型,我们使用命令 ​​lm()​​。

model <- lm(bwt ~ ., data = babies)

这是总结:

summary(model)

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_r语言_16

注意R的默认动作是删除信息缺失的行。不过,如何解释这些系数呢?

如果j协变量xj是实值,那么系数βj的值就是在其他协变量不变的情况下,将xij增加1个单位对Yi的平均影响。
如果j协变量xj是分类的,那么系数βj的值是对Yi从参考类别到指定水平的平均增量影响,而其他协变量保持不变。参考类别的平均值是截距(或参考类别,如果模型中有一个以上的分类协变量)。
为了验证这些假设,R有一个绘图方案。
 

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_r语言_17

残差中的曲率表明,需要进行一些转换。尝试取bwt的对数,以获得更好的拟合(与妊娠期相比)。 

summary(model.log)

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_18

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_19

为了简单起见,我会保留​​线性​​模型。给妊娠期增加一个二次项可能有用。公式通常保存^作为交互作用的快捷方式,所以(妊娠期+烟)^2与妊娠期*烟或妊娠期+烟+妊娠期:烟相同。二次项。

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_数据_20

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_数据_21

改进仍然很小,但它现在确实将观察 261 显示为异常值。这个观察有什么问题?

babies[261, ]

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_r语言_22

我们可以看到,而母亲的身高、年龄等都非常合理;这个婴儿异常早产。因此,将他/她剔除出模型。

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_23

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_24

拟合度有所提高,但现在870号婴儿显示为异常值......这可以继续下去,直到我们都满意为止。你还会做哪些转化?将吸烟和妊娠期交互作用会更好吗?

拓端tecdat|R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化_缺失值_25


举报

相关推荐

0 条评论