用配方法推导线性回归方程

详细的步骤!!!

我们以一简单数据组来说明什么是线性回归。假设有一组数据型态为 y=y(x),其中
x={0, 1, 2, 3, 4, 5}, y={0, 20, 60, 68, 77, 110}
如果我们要以一个最简单的方程式来近似这组数据,则非一阶的线性方程式莫属。先将这组数据绘图如下
图中的斜线是我们随意假设一阶线性方程式 y=20x,用以代表这些数据的一个方程式。以下将上述绘图的 MATLAB 指令列出,并计算这个线性方程式的 y 值与原数据 y 值间误差平方的总合。

>> x=[0 1 2 3 4 5];
>> y=[0 20 60 68 77 110];
>> y1=20*x; % 一阶线性方程式的 y1 值
>> sum_sq = sum(y-y1).^2); % 误差平方总合为 573
>> axis([-1,6,-20,120])
>> plot(x,y1,x,y,'o'), title('Linear estimate'), grid
如此任意的假设一个线性方程式并无根据,如果换成其它人来设定就可能采用不同的线性方程式;所以我们 须要有比较精确方式决定理想的线性方程式。我们可以要求误差平方的总合为最小,做为决定理想的线性方 程式的准则,这样的方法就称为最小平方误差(least squares error)或是线性回归。MATLAB的polyfit函数提供了 从一阶到高阶多项式的回归法,其语法为polyfit(x,y,n),其中x,y为输入数据组n为多项式的阶数,n=1就是一阶 的线性回归法。polyfit函数所建立的多项式可以写成
从polyfit函数得到的输出值就是上述的各项系数,以一阶线性回归为例n=1,所以只有 二个输出值。如果指令为coef=polyfit(x,y,n),则coef(1)= , coef(2)=,...,coef(n+1)= 。注意上式对n 阶的多 项式会有 n+1 项的系数。我们来看以下的线性回归的示范:
>> x=[0 1 2 3 4 5];
>> y=[0 20 60 68 77 110];
>> coef=polyfit(x,y,1); % coef 代表线性回归的二个输出值
>> a0=coef(1); a1=coef(2);
>> ybest=a1*x+a0; % 由线性回归产生的一阶方程式
>> sum_sq=sum(y-ybest).^2); % 误差平方总合为 356.82
>> axis([-1,6,-20,120])
>> plot(x,ybest,x,y,'o'), title('Linear regression estimate'), grid
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-09
建立多元线性回归方程,实际上是对多元线性模型(2-2-4)进行估计,寻求估计式(2-2-3)的过程。与一元线性回归分析相同,其基本思想是根据最小二乘原理,求解 使全部观测值 与回归值 的残差平方和达到最小值。由于残差平方和

(2-2-5)

是 的非负二次式,所以它的最小值一定存在。

根据极值原理,当Q取得极值时, 应满足

由(2-2-5)式,即满足

(2-2-6)

(2-2-6)式称为正规方程组。它可以化为以下形式

(2-2-7)

如果用A表示上述方程组的系数矩阵可以看出A是对称矩阵。则有

(2-2-8)

式中X是多元线性回归模型中数据的结构矩阵, 是结构矩阵X的转置矩阵。

(2-2-7)式右端常数项也可用矩阵D来表示



因此(2-2-7)式可写成

Ab=D (2-2-10)



(2-2-11)

如果A满秩(即A的行列式 )那么A的逆矩阵A-1存在,则由(2-10)式和(2-11)式得 的最小二乘估计为

(2-2-12)

也就是多元线性回归方程的回归系数。

为了计算方便往往并不先求 ,再求b,而是通过解线性方程组(2-2-7)来求b。(2-2-7)是一个有p+1个未知量的线性方程组,它的第一个方程可化为

(2-2-13)

式中

(2-2-14)

将(2-2-13)式代入(2-2-7)式中的其余各方程,得

(2-2-15)

其中

(2-2-16)

将方程组(2-2-15)式用矩阵表示,则有

Lb=F (2-2-17)

其中

于是

b=L-1F (2-2-18)

因此求解多元线性回归方程的系数可由(2-2-16)式先求出L,然后将其代回(2-2-17)式中求解。求b时,可用克莱姆法则求解,也可通过高斯变换求解。如果把b直接代入(2-2-18)式,由于要先求出L的逆矩阵,因而相对复杂一些。

例2-2-1 表2-2-1为某地区土壤内含植物可给态磷(y)与土壤内所含无机磷浓度(x1)、土壤内溶于K2CO3溶液并受溴化物水解的有机磷浓度(x2)以及土壤内溶于K2CO3溶液但不溶于溴化物的有机磷(x3)的观察数据。求y对x1, x2, x3的线性回归方程 。

表2-2-1 土壤含磷情况观察数据

计算如下:

由(2-2-16)式

代入(2-2-15)式得

(2-2-19)

若用克莱姆法则解上述方程组,则其解为

(2-2-20)

其中

计算得

b1=1.7848,b2=-0.0834,b3=0.1611

回归方程为

应用克莱姆法则求解线性方程组计算量偏大,下面介绍更实用的方法——高斯消去法和消去变换。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yunhaiC/archive/2009/07/04/4321455.aspx

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yunhaiC/archive/2009/07/04/4321455.aspx

参考资料:111

第2个回答  2016-01-05
设PF1:y=k1(x+1),PF2=k2(x-1)

分别与椭圆联立方程
→(1+2k1²)x²+4k1²x+2k1²-2=0,(所以设A(x1,y1),B(x2,y2))
→x1+x2=-4k1²/(1+2k1²)①,x1x2=(2k1²-2)/(1+2k1²)②
同理,设C(x3,y3),D(x4,y4)
→(1+2k2²)x²-4k2²x+2k2²-2=0
→x3+x4=4k2²/(1+2k2²)③,x3x4=(2k2²-2)/(1+2k2²)④
根据kOA+kOB+kOC+kOD=0
→y1/x1+y2/x2+y3/x3+y4/x4=0
根据y=k1(x+1)→y1=k1(x1+1),y2~
根据y=k2(x-1)→y3=k2(x3-1),y4~
代入进行化简
→k1(2x1x2+x1+x2)/(x1x2)+k2[2x3x4-(x3+x4)]/x3x4=0
由①②③④→-2k1/(k1²-1)-2k2/(k2²-1)=0⑤
设P(n,2-n)→k1=(2-n-0)/(n+1)=(2-n)/(n+1),k2=(2-n)/(n-1)
代⑤→k1²k2+k1k2²=k1+k2
→k1k2(k2+k1)=k1+k2
→k1k2=1或者k1k2=0或者(k1+k2)=0
均成立
→n=5/4,n=2,n=0均可
→P(5/4,3/4),P(2,0),P(0,2)
第3个回答  2009-10-11
配方法只能适用二次函数,不能适用线性回归方程的一次函数!
相似回答