个人记录,大部分摘自概率论与数理统计
一元线性回归模型
设y与x间有相关关系,称x为自变量,y为因变量,我们只考虑在x是可控变量,只有y是随机变量,那么他们之间的相关关系可以表示为
y=f(x)+ε
其中ε是随机误差,一般假设ε~N(0,σ2)。由于ε是随机变量,导致y也是随机变量。
进行回归分析首先是回归函数形式的选择。通常采用画散点图来进行选择。
有一份合金钢强度y与碳含量x的数据表
数据散点图如下
可以看出,数据点基本在一条直线上,说明两个数据有线性相关关系,可以表示为
y=β0+β1x+ε
这是y关于x的一元线性回归的数据结构,其中β0,β1
分别是截距和斜率。 ε~N(0,σ2)
则回归方程为
回归系数的最小二乘法估计。
我们首先令偏差平方和
Q(β0,β1)=∑ni=1(yi-β0-β1xi)2
最小二乘法就是尽量使Q(β0,β1)=∑ni=1(yi-β0-β1xi)2=0,分别对β0,β1求偏导
整理后可知方程组 1
如无特殊声明Σ均表示Σni=1,则有
解方程组1 可知
python代码
1 import numpy as np 2 #导入回归数据 3 x=np.array([0.1,0.11,0.12,0.13,0.14,0.15,0.16,0.17,0.18,0.2,0.21,0.23]) 4 y=np.array([42,43,45,45,45,47.5,49,53,50,55,55,60]) 5 #x求和 6 sx=sum(x) 7 # y求和 8 sy=sum(y) 9 #参数个数 10 n=len(x) 11 #x的平均值 12 mx=np.mean(x) 13 #y的平均值 14 my=np.mean(y) 15 #∑(xi)^2,所有xi的平方和 16 sx2=sum(x*x) 17 #∑(yi)^2所有yi的平方和 18 sy2=sum(y*y) 19 #∑xiyi 所有xiyi的和 20 sxy=sum(x*y) 21 #lxx 22 lxx=sx2-1/n*pow(sx,2) 23 #lxy 24 lxy=sxy-1/n*sx*sy 25 #lyy 26 lyy=sy2-1/n*pow(sy,2) 27 #β1 28 β1=lxy/lxx 29 #β0 30 β0=my-mx*β1 31 32 #结果 y=28.08+132.90
到此结束