【机器学习】监督学习之一元多项式回归和多元线性回归
一元线性回归假定了因变量与自变量是线性的(即因变量和自变量的关系可以用一条直线来近似表示),然而这种关系也可能是非线性的,此时就需要用到多项式回归;或是因变量受到多个自变量的影响,这时就需要多元线性回归。
一元多项式回归
多项式回归是使用一个因变量与一个或多个自变量多项式的回归分析方法,来建立非线性模型,从一定角度来讲,多项式回归可算作多元线性回归的一个特例。
在R中,拟合一元多项式回归函数也是lm(),参数相同,有区别的地方在于formula的形式设定。
lm(formula, data)
比如一个三阶一元多项式回归的formula是这个样子的:
y~x1+I(x1^2)+I(x1^3)
备注:I()为R中表达式另一个常用符号,用来从算数的角度来解释括号中的元素。例如:y~x+(z+w)^2展开为y~x+z+w+z:w。相反,y~x+I((z+w)^2)将展开为y~x+z^2+w^2+2wz。
>>> 示例
某单位对12名女工进行体检,体检项目包括体重(W/kg)和肺活量(L/L),数据如下,试建立肺活量(因变量)与体重(自变量)的回归模型。:
如果要建立一个二阶多项式回归模型,其步骤如下:
作图看一下拟合的效果如何:
多元线性回归
多元线性回归是指在回归分析中,有两个或两个以上的自变量,它常常由多个自变量的最优组合共同来预测或估计因变量,而实际生活中一种现象通常不是一个因素决定的,例如消费水平会受到工资水平、受教育程度、家庭负担等因素的影响,而多元回归能够将多个自变量对因变量的影响描述出来,因而有着极其广泛的应用。
>>> 示例
现测量了 30 名被怀疑患有动脉硬化的就诊患者的载脂蛋白AI(X1)、载脂蛋白 B (X2)、载脂蛋白 E(X3) 、载脂蛋白 C(X4) 、低密度脂蛋白(Y)中的胆固醇含量(单位:mg/dl),资料如下表所示,试构建Y关于X1,X2,X3,X4的回归方程。
注:示例数据较多,未完全截取,需要获取源数据进行练习的话,可以回复关键字下载。
重要的是如何解释这个模型:
⊙ 上图中告诉我们模型构建了这样的方程,
Y=-0.829+0.2331X1+1.3251X2-0.1243X3-2.3853X4
换种说法是,以载脂蛋白B(X2)为例,在其他自变量不变时,载脂蛋白B升高1mg/dl,低密度脂蛋白就升高1.3251mg/dl;
⊙ 通过模型参数的检验来看,载脂蛋白B(X2)和载脂蛋白 C(X4)的系数与0有显著性差异,即这两者对低密度脂蛋白有显著性影响;
⊙ 相关指数告诉我们这个模型可以解释低密度脂蛋白56%的方差。
拓展延伸
⊙ R中自带数据集state.x77,它提供了一个州的犯罪率和其他因素的关系包括人口、文盲率、平均收入和结霜天数,有兴趣的读者可以操作尝试。
⊙ 如果有交互项的回归分析,应该如何拟合模型?
推荐公众号:数据科学自媒体
微信号:DataScienceWeMedia
这里都是分享数据科学的好东东哦
数据科学自媒体,专注数据科学的好东西。
长按图片,识别二维码,关注我们。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!