城镇居民家庭人均可支配收入与城市
人均住宅面积一元线性回归分析(MATLAB)
-------- 袁来 SCAU
回归分析是研究变量之间相关关系的一种统计推断法。
例如,人的血压 y 与年龄 x 有关,这里 x 是一个普通变量,y 是随机变量。
Y 与 x 之间的相依关系 f(x)受随机误差ε的干扰使之不能完全确定,故可设有:
=
ε+
)(xf
y
(1)
式中f(x)称作回归函数,ε为随机误差或随机干扰,它是一个分布与x无关
的随机变量,我们常假定它是均值为 0 的正态变量。为估计未知的回归函数f(x),
我们通过n次独立观测,得x与y的n对实测数据(xi,yi)i=1,……,n,对f(x)作估计。
一、一元线性回归的数学模型
在一元线性回归中,有两个变量,其中 x 是可观测、可控制的普通变量,常
称它为自变量或控制变量,y 为随机变量,常称其为因变量或响应变量。通过散
点图或计算相关系数判定 y 与 x之间存在着显著的线性相关关系,即 y 与 x 之间
存在如下关系:
y=a+bx+ε (2)
通常认为 ε~N(0,σ2)且假设σ2与x无关。将观测数据(xi,yi)(i=1,……,
n)代入(2)再注意样本为简单随机样本得:
i
a
y
+=
,
εε
n
1
+
ε
i
i
bx
(
i
N
独立同分布
=
n
),
,1
,0(
)
σ
2
(3)
称(2)或(3)(又称为数据结构式)所确定的模型为一元(正态)线性回归模型。
对其进行统计分析称为一元线性回归分析。
模型(3)中 EY=a+bx,若记 y=E(Y),则 y=a+bx,就是所谓的一元线性回归方程,
其图象就是回归直线,b 为回归系数,a 称为回归常数,有时也通称 a、b 为回归
系数。
二、a、b 的最小二乘估计、经验公式
现讨论如何根据观测值(xi,yi),i=1,2,……,n估计模型(9.2)中回归函数
f(x)=a+bx中的回归系数。
采用最小二乘法,记平方和
ba
),(Q
=
n
∑
t
1
=
(
y
t
−−
a
tbx
2)
(9.5)
找使 Q(a.b)达到最小的 a、b 作为其估计,即
Q
)ˆ,ˆ(
ba
=
为此,令
ba
),(
n
∑
t
1
=
=
2
min
Q
⎧ ∂
Q
⎪
a
∂⎪
⎪
⎨
⎪
Q
∂⎪
⎪ ∂⎩
b
[
y
t
− −
a bx
t
] 0
=
=
2
n
∑
t
1
=
(
y
t
− −
a bx x
)
t
t
=
0
化简得方程组(称为模型的正规方程)
解得
(9.6)
(9.6)所示的 分别称为 a、b 的最小二乘估计,式中
L
⎧
xy
ˆ
b
=⎪
L
⎨
xx
⎪ = −
ˆ
ˆ
a
y bx
⎩
ba ˆ,ˆ
)
x
(
x
i
∑
−
n
2
=
i
1
=
n
L
xx
=
−
L
xy
称
ˆ
y
=
(
x
∑
i
i
1
=
ˆ
ˆ
xba
+=
n
∑
1
=
x
2
i
−
−
y
)
=
i
yx
)(
i
n
∑
x
i
2
)
1
=
yx
i
−
i
(1
n
∑
n
i
i
1
=
(1
n
n
∑
1
x
i
)(
n
∑
1
y
i
)
为经验回归(直线方程),或经验公式。
把计算得到的 与 代入
ˆa
ˆb
ˆ
y
ˆ
ˆ
xba
+=
就得到所求的线性方程.
三、实验数据
城 镇 居 民 家
庭 人 均 可 支
配收入
343.4
477.6
739.1
1373.9
1510.2
1700.6
2026.6
2577.4
3496.2
4283.0
4838.9
5160.3
5425.1
5854.0
6280.0
6859.6
7702.8
8472.2
9421.6
10493.0
城市人均住
宅面积
6.7
7.2
10.0
13.5
13.7
14.2
14.8
15.2
15.7
16.3
17.0
17.8
18.7
19.4
20.3
20.8
22.8
23.7
25.0
26.1
四、实验数据散点图(Matlab 程序)
x=[343.4 477.6 739.1 1373.9 1510.2 1700.6 2026.6 2577.4 3496.2 4283.0
4838.9 5160.3 5425.1 5854.0 6280.0 6859.6 7702.8 8472.2 9421.6 10493.0]
y=[6.7 7.2 10.0 13.5 13.7 14.2 14.8 15.2 15.7 16.3 17.0 17.8 18.7 19.4
20.3 20.8 22.8 23.7 25.0 26.1]
plot(x,y,'*r')
title('城镇居民家庭人均可支配收入')
xlabel('城镇居民家庭人均可支配收入')
ylabel('城市人均住宅面积')
[n1,n2]=size(x);
lxx=0;
lxy=0
for k=1:n2
lxx=lxx+(x(k)-mean(x))^2
lxy=lxy+(x(k)-mean(x))*(y(k)-mean(y))
end
b=lxy/lxx
a=mean(y)-b*mean(x)
运行得一元回归系数为:b =0.0017 a =9.4866, 故: y=9.4866+0.0017x 为所求。
一元回归分析拟合过程如下:
clear all
clc
x=[343.4 477.6 739.1 1373.9 1510.2 1700.6 2026.6 2577.4 3496.2 4283.0
4838.9 5160.3 5425.1 5854.0 6280.0 6859.6 7702.8 8472.2 9421.6 10493.0];
y=[6.7 7.2 10.0 13.5 13.7 14.2 14.8 15.2 15.7 16.3 17.0 17.8 18.7 19.4
20.3 20.8 22.8 23.7 25.0 26.1];
plot(x,y,'*r')
title('实验数据散点图与回归直线')
xlabel('城镇居民家庭人均可支配收入')
ylabel('城市人均住宅面积')
[n1,n2]=size(x);
lxx=0;
lxy=0
for k=1:n2
lxx=lxx+(x(k)-mean(x))^2
lxy=lxy+(x(k)-mean(x))*(y(k)-mean(y))
end
b=lxy/lxx
a=mean(y)-b*mean(x)
xx=linspace(0,12000,500)
yy=a+b*xx;
hold on
plot(xx,yy,'b-')
text(6000,15,'FitFunction: y=a+b*x')
2007-1-18