多元线性回归-Part2(以医疗费用为例)
在Part1中,我们已经根据保险受益者的数据拟合出线性回归模型,接下来要做的是评估和提高模型的性能。
(四)评估模型的性能
> summary(ins_model) ### summary()给出评估模型性能的信息。Call:lm(formula = charges ~ age + children + bmi+ sex + smoker +region, data = insurance)Residuals:Min 1Q Median 3Q Max-11304.9 -2848.1 -982.1 1393.9 29992.8Coefficients:Estimate Std. Error t valuePr(>|t|) (Intercept) -11938.5 987.8 -12.086 < 2e-16 ***age 256.9 11.9 21.587 < 2e-16 ***children 475.5 137.8 3.451 0.000577 ***bmi 339.2 28.6 11.860 < 2e-16 ***sexmale -131.3 332.9 -0.394 0.693348 smokeryes 23848.5 413.1 57.723 < 2e-16 ***regionnorthwest -353.0 476.3 -0.741 0.458769 regionsoutheast -1035.0 478.7 -2.162 0.030782 * regionsouthwest -960.0 477.9 -2.009 0.044765 * ---
评估模型的性能主要有3个方面:
Residuals(残差)部分提供了预测误差的主要统计量;
星号(如*)表示模型中每个特征的预测能力;
多元R方值(也称为判定系数)提供度量模型性能的方式。 (0.75是相当不错的)
(五)提高模型的性能
因为回归模型通常是由使用者选择特征和设定模型,所以如果具备了关于特征是如何与结果相关的学科知识,我们就可以使用该信息对模型进行设定,从而提高模型的性能。
1.模型的设定——添加非线性关系
线性回归的假设是自变量和因变量之间的关系是线性的,但是这并不一定正确。例如,对于所有年龄值而言,年龄对医疗费用的影响可能不是恒定的,对于年龄最大的人群,治疗费用可能就会比较高。
> insurance$age2 <- insurance$age^2
2.转换——数值型变量转换为二进制指标
如果一个特征的影响不是累积的,而是取值达到一个给定的阈值后才产生影响的,我们就可以通过创建一个二进制指标变量来建立关系。例如,对于在正常体重范围内的人来说,BMI对医疗费用的影响可能为0,但是对于肥胖者(即BMI不低于30)来说,它可能与较高的费用密切相关。因此,当BMI大于等于30时,我们设定为1,否则设定为0。
> insurance$bmi30 <-ifelse(insurance$bmi >= 30, 1, 0)
3.模型的设定——加入相互作用的影响
如果某些特征对因变量有综合影响,例如,吸烟和肥胖可能分别都会产生有害的影响,但是假设它们的共同影响可能会比它们每一个单独影响之和更糟糕是合理的。当两个特征存在共同的影响时,称为相互作用(interaction)。如果怀疑两个变量相互作用,可以通过在模型中添加它们的相互作用来检验这一假设。
4.改进的回归模型
基于医疗费用与患者特点相联系的学科知识,我们来改进回归模型:
- 增加一个非线性年龄项
- 为肥胖创建一个指标
- 指定肥胖与吸烟之间的相互作用
> ins_model2 <- lm(charges ~ age +age2 + children + bmi + sex + bmi30*smoker + region, data = insurance)> ins_model2Call:lm(formula = charges ~ age + age2 +children + bmi + sex + bmi30 *smoker + region, data = insurance)Coefficients:(Intercept) age age2 children bmi sexmale bmi30 134.251 -32.685 3.732 678.561 120.020 -496.824 -1000.140 smokeryes regionnorthwest regionsoutheast regionsouthwest bmi30:smokeryes 13404.687 -279.204 -828.547 -1222.644 19810.753 > summary(ins_model2)Call:lm(formula = charges ~ age + age2 +children + bmi + sex + bmi30 *smoker + region, data = insurance)Residuals:Min 1Q Median 3Q Max-17296.4 -1656.0 -1263.3 -722.1 24160.2Coefficients:Estimate Std. Error t valuePr(>|t|) (Intercept) 134.2509 1362.7511 0.099 0.921539 age -32.6851 59.8242 -0.546 0.584915 age2 3.7316 0.7463 5.000 6.50e-07 ***children 678.5612 105.8831 6.409 2.04e-10 ***bmi 120.0196 34.2660 3.503 0.000476 ***sexmale -496.8245 244.3659 -2.033 0.042240 * bmi30 -1000.1403 422.8402 -2.365 0.018159 * smokeryes 13404.6866 439.9491 30.469 < 2e-16 ***regionnorthwest -279.2038 349.2746 -0.799 0.424212 regionsoutheast -828.5467 351.6352 -2.356 0.018604 * regionsouthwest -1222.6437 350.5285 -3.488 0.000503 ***bmi30:smokeryes 19810.7533 604.6567 32.764 < 2e-16 ***---Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’1Residual standard error: 4445 on 1326degrees of freedomMultiple R-squared: 0.8664, Adjusted R-squared: 0.8653F-statistic: 781.7 on 11 and 1326 DF, p-value: < 2.2e-16
相较于第一个模型,判定系数从0.75提高到0.87,这说明回归模型的性能得到了提高,现在的模型能够解释医疗费用变化87%。此外,我们关于模型函数形式的理论也得到了验证,高阶项age2和肥胖指标bmi30在统计学上都是显著的。肥胖和吸烟之间的相互作用影响很大,除了单独吸烟增加的超过13404美元的费用外,肥胖的吸烟者每年要另外花费19810美元,这说明吸烟可能会加剧与肥胖相关的疾病。
多元线性回归-Part2(以医疗费用为例)相关推荐
- 多元线性回归-Part1(以医疗费用为例)
相较于一元线性回归,多元线性回归是用来确定2个或2个以上变量间的统计分析方法,其基本的分析方法和一元线性回归是类似的. 优点: 1.可适用于几乎所有的数据: 2.提供了特征与结果之间关系的强度和大小的 ...
- UA MATH571A R语言回归分析实践 多元回归1 医疗费用的决定
UA MATH571A R语言回归分析实践 多元回归1 医疗费用 基础回归分析 这一讲开始讨论多元回归,这里选择的例子是寻找家庭医疗费用的决定因素.家庭医疗费用由哪些因素决定是卫生经济学.保险精算等领 ...
- 数学建模——多元线性回归 /多元线性拟合 (工具:matlab)
文章目录 一.多元线性回归是什么 二.样例及代码 第一步:画散点图进行分析 第二步:拟合 三.总结: 四.参考附录: 技巧篇
- excel计算二元线性回归_用人话讲明白梯度下降Gradient Descent(以求解多元线性回归参数为例)...
文章目录 1.梯度 2.多元线性回归参数求解 3.梯度下降 4.梯度下降法求解多元线性回归 梯度下降算法在机器学习中出现频率特别高,是非常常用的优化算法. 本文借多元线性回归,用人话解释清楚梯度下降的 ...
- python实现多元线性回归,以2022数模国赛为例(实战必看,附源代码)
回归分析是确定变量间依赖关系的一种统计分析方法,属于监督学习方法.由变量的不同可以分为一元线性回归和多元线性回归 接下来以多元线性回归为例介绍 当待确定的变量超过一个时,就需要使用多元线性回归算法,下 ...
- 傻瓜攻略(九)——MATLAB实现简单的多元线性回归(以炼钢转炉炉龄问题为例)
1.多元线性回归 回归分析(Regression Analysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变量间是否相关.相关方向与强度,并建立数学模型以便观察特定变量来预测研究者感兴趣 ...
- UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定
UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定 系数的推断与模型预测 模型诊断 这一讲展示一下一元回归中的模型诊断的手段怎么用在多元回归中,同时介绍一下多元回归做推断和预测的方 ...
- 大数据(041)机器学习【多元线性回归实例】
一.前言 保险公司对个人投保时或根据历史数据生成的模型来计算个人保费,那么本次我们就以这个模型的求解过程为例来实践下多元线性回归. 二.数据&简单分析 我们已经获取到了一些数据(模拟数据),文 ...
- 回归方程的拟合优度检验_计量经济学第四讲(多元线性回归模型:基本假定,参数估计,统计检验)...
第三章.经典单方程计量经济学模型:多元线性回归模型 3.1多元线性回归模型及其基本假定 3.1.1多元回归模型及其表示 解释变量至少有两个的线性回归模型,一般形式为 如果不作说明, 是不包括常数项的解 ...
最新文章
- 相机模型--A Unifying Theory for Central Panoramic Systems and Practical Implications
- MySql按周,按月,按日分组统计数据
- 试试回答Frankyang的问题-什么样的人适合攻读博士学位?
- linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统
- typescript用什么软件写_为什么都2019年了大家还喜欢用TypeScript?
- [php入门] 4、HTML基础入门一篇概览
- matlab sar 斑马图,星载合成孔径雷达(SAR)斑马图仿真与研究
- 信息学奥赛C++语言:for_求和
- CSS 的三种样式 内联 内部 外部
- TensorFlow中文社区
- python语言应用章节答案_智慧树APPPython语言应用第十单元章节测试答案
- java的访问修饰符
- Android启动的init进程
- 安装3dmax出现:error 1311 找不到源文件
- linux d开头是什么文件夹,linux文件权限,p开头/d开头/l开头
- 进制转换之十进制转换为十六进制
- Java 数组和List的使用
- 大聪明教你学Java | 程序员的专属新年对联
- 股市java_Java获取股市交易日
- 【论文笔记】Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspectivewith Transformers