相较于一元线性回归,多元线性回归是用来确定2个或2个以上变量间的统计分析方法,其基本的分析方法和一元线性回归是类似的。
优点:
1.可适用于几乎所有的数据;
2.提供了特征与结果之间关系的强度和大小的估计。缺点:
1.对数据做出了很强的假设;
2.模型形式必须事先指定;
3.不能很好地处理缺失数据。基本步骤:对选取的多元数据集定义数学模型,进行参数估计,对参数进行显著性检验、残差分析、异常点检验,最后确定回归方程进行模型预测。特别地,对于多元回归方程有一项很重要的操作就是自变量的优化,要挑选出相关性最显著的自变量,同时去除不显著的自变量。
接下来以医疗费用为例,通过分析病人的数据,来预测这部分群体的平均医疗费用,从而来为年度保费价格的设定提供参考。
(一)收集和观察数据
数据来源:https://github.com/stedy/Machine-Learning-with-R-datasets/find/master里的insurance.csv文件,它是美国人口普查局(U.S. Census Bureau)的人口统计资料。
文件包含1338个案例,即目前已经登记过的保险计划受益者以及表示病人特点和历年计划计入的总医疗费用的特征。这些特征分别是:
- age:整数,受益者的年龄(不包括超过64岁的人,因为这部分人群的费用由政府承担);
- sex:保单持有人的性别,male或者female;
- bmi:身体质量指数(Body Mass Index, BMI),它等于体重(公斤)除以身高(米)的平方,理想的BMI指数在18.5和24.9之间;
- children:整数,保险计划中包括的孩子或者受抚养者的数量;
- smoker:被保险人是否吸烟,yes或者no;
- region:根据受益人在美国的居住地,分为4个地理区域,分别是northeast, southeast, southwest和northwest。
如何将这些变量与已结算的医疗费用联系起来很重要,在回归分析中,特征之间的关系通常是由使用者指定,而不是自动检测出来的。
(二)探索和准备数据
> insurance <- read.csv("insurance.csv", stringsAsFactors = T)
> str(insurance)
'data.frame': 1338 obs. of 9 variables:
$ age : int 19 18 28