全文链接:http://tecdat.cn/?p=26147
最近咱们被客户要求撰写对于多项式曲线回归的钻研报告,包含一些图形和统计输入。
本文应用的数据集记录了 1236 名新生婴儿的体重(查看文末理解数据获取形式),以及他们母亲的其余协变量
本钻研的目标是测量吸烟对新生儿体重的影响。钻研人员须要通过管制其余协变量(例如母亲的体重和身高)来隔离其影响。这能够通过应用多元回归模型来实现,例如,通过思考权重 Y\_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()
。
点击题目查阅往期内容
[](http://mp.weixin.qq.com/s?__biz=MzU4NTA1MDk4MA==\&mid=2247497153\&idx=1\&sn=e3f38dfefab414599123af8865af8568\&chksm=fd92cbcacae542dc298239c9ad3944391481619166f8d5d0fb37582286f4d395edc9d45d3966\&scene=21#wechat_redirect)应用 R 语言进行多项式回归、非线性回归模型曲线拟合
左右滑动查看更多
01
02
03
04
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 语言多变量(多元)多项式曲线回归线性模型剖析母亲吸烟对新生婴儿体重影响可视化 》,点击“ 浏览原文”获取全文残缺材料。
点击题目查阅往期内容
面板平滑转换回归 (PSTR) 剖析案例实现 \
R 语言时变面板平滑转换回归模型 TV-PSTR 剖析债权程度对投资的影响 \
面板平滑转换回归 (PSTR) 剖析案例实现 \
R 语言自适应平滑样条回归剖析 \
R 语言工夫序列数据指数平滑法分析交互式动静可视化 \
R 语言中的狭义线性模型(GLM)和狭义相加模型(GAM):多元(平滑)回归剖析保险资金投资组合信用风险敞口 \
R 语言预测人口死亡率:用李·卡特(Lee-Carter)模型、非线性模型进行平滑预计 \
基于 R 统计软件的三次样条和平滑样条模型数据拟合及预测 \
R 语言实现 CNN(卷积神经网络)模型进行回归数据分析 \
R 语言中的多项式回归、B 样条曲线 (B-spline Curves) 回归 \
R 语言泊松 Poisson 回归模型剖析案例 \
在 R 语言中实现 Logistic 逻辑回归 \
R 语言用多项式回归和 ARIMA 模型预测电力负荷工夫序列数据 \
R 语言用逻辑回归、决策树和随机森林对信贷数据集进行分类预测 \
R 语言机器学习实战之多项式回归 \
R 语言自适应平滑样条回归剖析 \
R 语言区间数据回归剖析 \
R 语言逻辑回归和泊松回归模型对产生交通事故概率建模 R 语言线性回归和工夫序列剖析北京房价影响因素可视化案例 \
R 语言惩办 logistic 逻辑回归(LASSO, 岭回归)高维变量抉择的分类模型案例 \
R 语言用规范最小二乘 OLS,狭义相加模型 GAM,样条函数进行逻辑回归 LOGISTIC 分类 \
R 语言实现 CNN(卷积神经网络)模型进行回归数据分析 \
R 语言中实现狭义相加模型 GAM 和一般最小二乘 (OLS) 回归 \
R 语言中应用非凸惩办函数回归 (SCAD、MCP) 剖析前列腺数据 \
【视频】R 语言实现 CNN(卷积神经网络)模型进行回归数据分析 \
R 语言 ISLR 工资数据进行多项式回归和样条回归剖析 \
R 语言中的多项式回归、部分回归、核平滑和平滑样条回归模型 \
R 语言随机搜寻变量抉择 SSVS 预计贝叶斯向量自回归(BVAR)模型 \
R 语言如何和何时应用 glmnet 岭回归 \
R 语言基于线性回归的资本资产定价模型(CAPM)\
Matlab 马尔可夫区制转换动静回归模型预计 GDP 增长率 \
R 语言 MCMC:Metropolis-Hastings 采样用于回归的贝叶斯预计