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

本文主要是介绍R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近我们被客户要求撰写关于多项式曲线回归的研究报告,包括一些图形和统计输出。本文使用的数据集记录了 1236 名新生婴儿的体重,以及他们母亲的其他协变量。

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

相关视频:非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析

非线性模型原理与R语言多项式回归、局部平滑样条、 广义相加模型GAM分析

,时长05:41


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,它删除了 NAs。

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

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

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号婴儿显示为异常值......这可以继续下去,直到我们都满意为止。你还会做哪些转化?将吸烟和妊娠期交互作用会更好吗?


这篇关于R语言多变量(多元)多项式曲线回归线性模型分析母亲吸烟对新生婴儿体重影响可视化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/228110

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

sysmain服务可以禁用吗? 电脑sysmain服务关闭后的影响与操作指南

《sysmain服务可以禁用吗?电脑sysmain服务关闭后的影响与操作指南》在Windows系统中,SysMain服务(原名Superfetch)作为一个旨在提升系统性能的关键组件,一直备受用户关... 在使用 Windows 系统时,有时候真有点像在「开盲盒」。全新安装系统后的「默认设置」,往往并不尽编

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Python实现数据可视化图表生成(适合新手入门)

《Python实现数据可视化图表生成(适合新手入门)》在数据科学和数据分析的新时代,高效、直观的数据可视化工具显得尤为重要,下面:本文主要介绍Python实现数据可视化图表生成的相关资料,文中通过... 目录前言为什么需要数据可视化准备工作基本图表绘制折线图柱状图散点图使用Seaborn创建高级图表箱线图热

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.