【机器学习实战】多元线性回归模型,实战线性回归模型


在许多实际问题中,影响因变量Y的自变量不止一个,通常设为p个,此时无法借助于图形的帮助来确定模型,这里则使用一种最为简单且普遍的模型——多元线性模型来进行回归计算。


1、数学模型


当影响Y值的因素不唯一时,我们可以使用多元线性回归模型:


当未知参数有两个时,我们可以画出此方程的图形表示(此时是一个平面,如图)。如果未知数大于2时,则很难把此超平面给画出来。


如上图,为了求得等参数的值,我们由各个样本点(图中为红点)做一条平行于Y轴的直线,此直线交平面方程于一点,然后我们求得此线段的程度,并进行平方,最后将所有的这些线段的平方和加到一起,得到残差平方和,公式如下:


当残差平方和最小时,此线性回归达到最好,所以这里用RSS分别对等进行求偏导,得到一个m+1方程组,从而可以求得等的值,即可得到对应的线性回归方程。


2、R回归建模


在R中提供了一个内置的数据集Swiss,这个数据时瑞士1888年影响国民经济的各个因素数据,关于此数据的具体介绍,可以在R中输入help(swiss)进行了解,或者直接访问http://stat.ethz.ch/R-manual/R-patched/library/datasets/html/swiss.html进行了解,swiss的部分数据如下:


下面我们就做一下Fertility和Agriculture、Examination、Education、Catholic、Infant.Mortality五个参数之间的回归模型。


使用R的回归函数lm进行回归如下:



通过summary函数查看回归结果:


此时的P值非常小,我们可以得知此模型的正确性很高。从* 的个数来看,Examination的几乎没有相关度,所以后续可以考虑将此参数去掉。




多元线性回归模型的MATLAB程序

%首先输入下列系数:
f = [13 9 10 11 12 8];
A = [0.4 1.1 1 0 0 0
0 0 0 0.5 1.2 1.3];
b = [800; 900];
Aeq=[1 0 0 1 0 0
0 1 0 0 1 0
0 0 1 0 0 1];
beq=[400 600 500];
vlb = zeros(6,1);
vub=[];
%然后调用linprog函数:
[x,fval] = linprog(f,A,b,Aeq,beq,vlb,vub)



 

多元线性回归模型中,自相关性的分析

滞后期p一般是1个1个往上加 每加一个就用t,F统计检验看看各个系数
然后断定是否继续加这样
 

相关内容