统计回归与Matlab软件实现上(一元多元线性回归模型)

news2024/11/13 9:11:20

引言

关于数学建模的基本方法
  1. 机理驱动
    由于客观事物内部规律的复杂及人们认识程度的限制,无法得到内在因果关系,建立合乎机理规律的数学模型
  2. 数据驱动
    直接从数据出发,找到隐含在数据背后的最佳模型,是数学模型建立的另一大思路
    统计回归方法是基于统计理论建立的最基本的一类数据驱动建模方法
学习目的
  1. 用统计回归方法估计数据中隐含的模型
  2. 对模型参数和模型结果的可靠性做必要检验
  3. 分析建模过程中的一些细节问题:异常数据的辨识与处理,变量的筛选
  4. 用MATLAB软件实现

一元线性回归模型的概念

一元线性回归模型基本概念

一般地,称由
y = β 0 + β 1 x + ε y=\beta_{0}+\beta_{1}x+\varepsilon y=β0+β1x+ε
确定的模型为一元线性回归模型

  • β 0 , β 1 \beta_{0},\beta_{1} β0,β1为回归系数
  • x x x为自变量、回归变量或解释变量
  • y y y为因变量或被解释变量
  • ε \varepsilon ε为随机误差
随机误差 ε \varepsilon ε的基本假设
  1. 高斯-马尔科夫条件
    { E ( ε ) = 0 c o v ( ε , ε ) = σ 2 \left\{\begin{matrix} E(\varepsilon)=0 \\ cov(\varepsilon,\varepsilon)=\sigma^{2} \end{matrix}\right. {E(ε)=0cov(ε,ε)=σ2
  • 随机误差项必须是0均值的
  • 方差等于 σ 2 \sigma^{2} σ2,是恒定的,即与 x x x的取值无关
  1. 正太分布假设
    ε ∼ N ( 0 , σ 2 ) \varepsilon \sim N(0,\sigma^{2}) εN(0,σ2)
    随机误差项要服从0均值的正太分布,并且方差同样是恒定的,与 x x x无关
一元线性回归分析的主要任务
  1. 基于样本数据,对参数 β 0 , β 1 , σ \beta_{0},\beta_{1},\sigma β0,β1,σ做参数估计
  2. 对模型参数 β 0 , β 1 \beta_{0},\beta_{1} β0,β1以及模型显著性作假设检验分析
  3. y y y的值作预测,即对 y y y作点(区间)估计
Matlab实现
[b, bint, r, rint, stats]=regress(Y,X,alpha)
  • bint,回归系数的区间估计
  • r,残差
  • rint,残差的置信区间
  • stats,检验回归模型的统计量:决定系数 r 2 r^{2} r2,F值,与F值对应的概率p
  • alpha,显著性水平,缺省时为0.05

模型的参数估计与软件实现

回归系数的最小二乘估计

n n n组独立样本: ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x n , y ( n ) ) (x_{1},y_{1}),(x_{2},y_{2}),\dots,(x_{n},y(n)) (x1,y1),(x2,y2),,(xn,y(n)),带入回归方程可得
{ y i = β 0 + β 1 x i + ε i ,   i = 1 , 2 , … , n E ( ε i ) = 0 ,   v a r ( ε i ) = σ 2 \left\{\begin{matrix} y_{i}=\beta_{0}+\beta_{1}x_{i}+\varepsilon_{i},\ i=1,2,\dots,n \\ E(\varepsilon_{i})=0,\ var(\varepsilon_{i})=\sigma^{2} \end{matrix}\right. {yi=β0+β1xi+εi, i=1,2,,nE(εi)=0, var(εi)=σ2
其中, ε 1 , ε 2 , … , ε n \varepsilon_{1},\varepsilon_{2},\dots,\varepsilon_{n} ε1,ε2,,εn相互独立
![[Pasted image 20240811090041.png]]

  • 拟合误差或残差: r i = y i − y i ′ r_{i}=y_{i}-y'_{i} ri=yiyi
  • 最好直线:使残差平方和最小的直线
    Q ( β 0 , β 1 ) = ∑ i = 1 n ( y i − y i ′ ) 2 = ∑ i = 1 n ( y i − β 0 − β i x i ) 2 Q(\beta_{0},\beta_{1})=\sum_{i=1}^{n}(y_{i}-y'_{i})^{2}=\sum_{i=1}^{n}(y_{i}-\beta_{0}-\beta_{i}x_{i})^{2} Q(β0,β1)=i=1n(yiyi)2=i=1n(yiβ0βixi)2
    最小化的参数值 β 0 ′ , β 1 ′ \beta'_{0},\beta'_{1} β0,β1称为 β 0 , β 1 \beta_{0},\beta_{1} β0,β1的最小二乘估计

该优化问题的求解,可以基于极值原理实现
通过残差平方和,分别对 β 0 , β 1 \beta_{0},\beta_{1} β0,β1求偏导数,令偏导数等于0
{ ∂ Q ∂ β 0 = 0 ∂ Q ∂ β 1 = 0 \left\{\begin{matrix} \frac{\partial Q}{\partial \beta_{0}}=0 \\ \frac{\partial Q}{\partial \beta_{1}}=0 \end{matrix}\right. {β0Q=0β1Q=0
得到的是二元一次线性方程组

相应的最小二乘估计为
{ β ^ 0 = y ˉ − β ^ 1 x ˉ β ^ 1 = x ˉ y ˉ − x ˉ y ˉ x 2 ˉ − x ˉ 2 \left\{\begin{matrix} \hat{\beta}_{0}=\bar{y}-\hat{\beta}_{1}\bar{x} \\ \hat{\beta}_{1}=\frac{\bar{x}\bar{y}-\bar{x}\bar{y}}{\bar{x^{2}}-\bar{x}^{2}} \end{matrix}\right. {β^0=yˉβ^1xˉβ^1=x2ˉxˉ2xˉyˉxˉyˉ
其中
x ˉ = 1 n ∑ i = 1 n x i , y ˉ = 1 n ∑ i = 1 n y i , \bar{x}=\frac{1}{n}\sum_{i=1}^{n}x_{i},\quad \bar{y}=\frac{1}{n}\sum_{i=1}^{n}y_{i}, xˉ=n1i=1nxi,yˉ=n1i=1nyi,
x ˉ 2 = 1 n ∑ i = 1 n x i 2 , x ˉ y ˉ = 1 n ∑ i = 1 n x i y i \bar{x}^{2}=\frac{1}{n}\sum_{i=1}^{n}x_{i}^{2},\quad \bar{x}\bar{y}=\frac{1}{n}\sum_{i=1}^{n}x_{i}y_{i} xˉ2=n1i=1nxi2,xˉyˉ=n1i=1nxiyi

Matlab实现

regress命令

b=regress(Y, X)

待求解的线性方程组
y i = β 0 + β 1 x i + ε i ,   i = 1 , 2 , … , n y_{i}=\beta_{0}+\beta_{1}x_{i}+\varepsilon_{i},\ i=1,2,\dots,n yi=β0+β1xi+εi, i=1,2,,n
[ y 1 y 2 … y n ] = [ 1 x 1 1 x 2 … … 1 x n ] [ β 0 β 1 ] \begin{bmatrix} y_{1} \\ y_{2} \\ \dots \\ y_{n} \end{bmatrix}=\begin{bmatrix} 1&&x_{1} \\ 1&&x_{2} \\ \dots&&\dots \\ 1&&x_{n} \end{bmatrix}\begin{bmatrix} \beta_{0} \\ \beta_{1} \end{bmatrix} y1y2yn = 111x1x2xn [β0β1]

  • Y指的是y的矩阵向量
  • X指的是系数矩阵x
  • 等式左边的b指的是参数 β \beta β的最小二乘估计
  1. 输入数据
x=[143 145 146 147 149 150 153 154 155 156 157 158 159 160 162 164]';
X=[ones(16,1)x];
Y=[88 85 88 91 92 93 93 95 96 98 97 96 98 99 100 102]';

x表示所有的自变量,16各人的身高数据,是列向量,‘是转秩
X是两列的矩阵,第一个是16个1组成的列向量,第二个是自变量x的列向量
Y是16个腿长数据,也是列向量
2. 参数估计

b=regress(Y, X)

得b

b=[-16.0730 0.7194]'

β 0 ′ = − 16.0730 ;   β 1 ′ = 0.7194 \beta'_{0}=-16.0730;\ \beta'_{1}=0.7194 β0=16.0730; β1=0.7194
经验回归方程
y = − 16.0739 + 0.7194 x y=-16.0739+0.7194x y=16.0739+0.7194x

回归系数的置信区间估计

在正太假设的前提下
β ^ 0 ∼ N ( β 0 , ( 1 n + x ^ 2 L x x ) σ 2 ) \hat{\beta}_{0}\sim N\left( \beta_{0},\left( \frac{1}{n}+\frac{\hat{x}^{2}}{L_{xx}} \right)\sigma^{2} \right) β^0N(β0,(n1+Lxxx^2)σ2)
β 1 ^ ∼ N ( β 1 , σ 2 L x x ) \hat{\beta_{1}}\sim N\left( \beta_{1}, \frac{\sigma^{2}}{L_{xx}} \right) β1^N(β1,Lxxσ2)
其中
L x x = ∑ i = 1 n ( x i − x ˉ ) 2 L_{xx}=\sum_{i=1}^{n}(x_{i}-\bar{x})^{2} Lxx=i=1n(xixˉ)2

由于 σ \sigma σ未知,可以构造t统计量来进行区间估计
t = β 1 ′ − β 1 ( σ ′ ) 2 L x x ∼ t ( n − 2 ) t=\frac{\beta'_{1}-\beta_{1}}{\sqrt{ \frac{(\sigma')^{2}}{L_{xx}} }}\sim t(n-2) t=Lxx(σ)2 β1β1t(n2)
其中
L x x = ∑ i = 1 n ( x i − x ˉ ) 2 L_{xx}=\sum_{i=1}^{n}(x_{i}-\bar{x})^{2} Lxx=i=1n(xixˉ)2
σ ^ 2 = 1 n − 2 ∑ i = 1 n ( y i − y ^ i ) 2 \hat{\sigma}^{2}=\frac{1}{n-2}\sum_{i=1}^{n}(y_{i}-\hat{y}_{i})^{2} σ^2=n21i=1n(yiy^i)2

![[Pasted image 20240811095120.png]]

P ( − t a 2 ( n − 2 ) < β 1 ^ − β 2 σ ^ 2 L x x < t a 2 ( n − 2 ) ) = 1 − α P\left( -t_{\frac{a}{2}}(n-2)<\frac{\hat{\beta_{1}}-\beta_{2}}{\sqrt{ \frac{\hat{ \sigma}^{2}}{L_{xx}} }}<t_{\frac{a}{2}}(n-2) \right)=1-\alpha P t2a(n2)<Lxxσ^2 β1^β2<t2a(n2) =1α
t统计量落在这两个值之间的概率是 1 − α 1-\alpha 1α

β 1 \beta_{1} β1的置信水平为 1 − α 1-\alpha 1α的置信区间估计为
[ β 1 ′ − t a 2 ( n − 2 ) ( σ ′ ) 2 L x x , β 1 ′ + t a 2 ( n − 2 ) ( σ ′ ) 2 L x x ] \left[ \beta'_{1}-t_{\frac{a}{2}}(n-2)\sqrt{ \frac{(\sigma')^{2}}{L_{xx}} } ,\beta'_{1}+t_{\frac{a}{2}}(n-2)\sqrt{ \frac{(\sigma')^{2}}{L_{xx}} } \right] β1t2a(n2)Lxx(σ)2 ,β1+t2a(n2)Lxx(σ)2
同理也可以得到 β 0 \beta_{0} β0的置信区间估计

Matlab实现
[b, bint]=regress(Y, X, 0.05)

bint就是区间估计结果
Y,隐变量的取值向量
X,系数矩阵
0.05,置信水平=1-0.05=95%

用上面的数据得

b = -16.0730 
	0.7194

bint = -33.7071  1.5612
		0.6047   0.8340

bint第一行是 β 0 ′ \beta'_{0} β0的置信区间估计结果
第二行是 β 1 ′ \beta'_{1} β1的置信区间估计结果
置信水平是95%的区级估计
[ − 33.71 , 1.56 ] 和 [ 0.60 , 0.83 ] [-33.71,1.56]和[0.60,0.83] [33.71,1.56][0.60,0.83]

模型的残差分析

残差分析的基本概念

残差:样本的观测值与样本的预测值之差
r i = y i − y i ′ r_{i}=y_{i}-y'_{i} ri=yiyi
残差向量:所有样本的拟合误差,组成的列向量
r = [ r 1 r 2 … r n ] r=\begin{bmatrix} r_{1} \\ r_{2} \\ \dots \\ r_{n} \end{bmatrix} r= r1r2rn
残差应该满足的一些基本性质
0均值
E ( ε i ) = 0 E(\varepsilon_{i})=0 E(εi)=0
残差与残差之间是不相关的
c o v ( ε i , ε j ) = 0 cov(\varepsilon_{i},\varepsilon_{j})=0 cov(εi,εj)=0
残差的方差
v a r ( ε i ) = ( 1 − h i i ) σ 2 var(\varepsilon_{i})=(1-h_{ii})\sigma^{2} var(εi)=(1hii)σ2

残差图分析

![[Pasted image 20240811101029.png]]

横坐标是自变量x,纵坐标是残差
残差是在0附近随机波动,残差与残差之间不存在明显的关联性
![[Pasted image 20240811101153.png]]

异方差现象,与x有关系,不符合条件
![[Pasted image 20240811101229.png]]

不是0均值,残差与残差之间有联系
![[Pasted image 20240811101301.png]]

前后之间有关联,不是随机波动

软件实现

简单残差图命令

plot(r, '*')
hold on
ezplot('0',[1,length(r)])

用plot命令画出残差,用星号表示
hold on,表示前面的不要擦除,继续画图
ezplot,画出0的基准线
![[Pasted image 20240811101944.png]]

Matlab残差图作图命令

rcoplot(r, rint)

r表示残差向量
rint表示残差的置信区间
![[Pasted image 20240811102204.png]]

中间的圆圈,表示残差
每个残差都有区间线段,表示置信区间

  • 一般认为,正常的样本,残差的置信区间,应该是要跨越0的
  • 如果置信区间明显远离0,表示这个样本是异常的

模型的检验与软件实现

模型检验之决定系数

总体平方和
T S S = ∑ i = 1 n ( y i − y ˉ ) 2 TSS=\sum_{i=1}^{n}(y_{i}-\bar{y})^{2} TSS=i=1n(yiyˉ)2
隐变量的观测值减去观测值得平均值的平方和
能够反应样本观测值与中心的偏离程度

能够近似衡量样本观测值序列所包含的信息的多少

TSS的分解
T S S = ∑ i = 1 n ( y i − y ˉ ) 2 = ∑ i = 1 n ( y i − y i ^ + y i ^ − y ˉ ) 2 TSS=\sum_{i=1}^{n}(y_{i}-\bar{y})^{2}=\sum_{i=1}^{n}(y_{i}-\hat{y_{i}}+\hat{y_{i}}-\bar{y})^{2} TSS=i=1n(yiyˉ)2=i=1n(yiyi^+yi^yˉ)2
= ∑ i = 1 n ( y ^ i − y ˉ ) 2 + ( y i − y ^ i ) 2 + 2 ( y i − y ^ i ) ( y ^ i − y ˉ ) =\sum_{i=1}^{n}(\hat{y}_{i}-\bar{y})^{2}+(y_{i}-\hat{y}_{i})^{2}+2(y_{i}-\hat{y}_{i})(\hat{y}_{i}-\bar{y}) =i=1n(y^iyˉ)2+(yiy^i)2+2(yiy^i)(y^iyˉ)
= ∑ i = 1 n ( y ^ i − y ˉ ) 2 + ∑ i = 1 n ( y i − y ^ i ) 2 + ∑ i = 1 n 2 ( y i − y ^ i ) ( y ^ i − y ˉ ) =\sum_{i=1}^{n}(\hat{y}_{i}-\bar{y})^{2}+\sum_{i=1}^{n}(y_{i}-\hat{y}_{i})^{2}+\sum_{i=1}^{n}2(y_{i}-\hat{y}_{i})(\hat{y}_{i}-\bar{y}) =i=1n(y^iyˉ)2+i=1n(yiy^i)2+i=1n2(yiy^i)(y^iyˉ)
交叉项的和严格等于0
∑ i = 1 n ( y i − y ˉ ) 2 = ∑ i = 1 n ( y ^ i − y ˉ ) 2 + ∑ i = 1 n ( y i − y ^ i ) 2 \sum_{i=1}^{n}(y_{i}-\bar{y})^{2}=\sum_{i=1}^{n}(\hat{y}_{i}-\bar{y})^{2}+\sum_{i=1}^{n}(y_{i}-\hat{y}_{i})^{2} i=1n(yiyˉ)2=i=1n(y^iyˉ)2+i=1n(yiy^i)2
总体平方和=回归平方和(ESS)+残差平方和(RSS)

  • 回归平方和表示的是模型能够解释的那一部分平方和的信息,反应的是回归模型能够解释的观测值中的信息的多少
  • 残差平方和表示模型没有学习到的信息的多少

决定模型 R 2 R^{2} R2统计量:
R 2 = E S S T S S = 1 − R S S T S S R^{2}=\frac{ESS}{TSS}=1- \frac{RSS}{TSS} R2=TSSESS=1TSSRSS
R 2 R^{2} R2也被称为判定系数或拟合优度

  • 取值范围一定在01之间
  • 越接近1,样本数据拟合效果越好
Matlab实现
[b, bint, r, rint, stats] = regress(Y, X, 0.05)

stats:
	0.9282 180.9531 0.0000 1.7437

因此 R 2 = 0.9282 R^{2}=0.9282 R2=0.9282

模型检验之F统计量检验

原假设 H 0 H_{0} H0:回归方程 y = β 0 + β 1 x y=\beta_{0}+\beta_{1}x y=β0+β1x不显著成立
也就是线性项可有可无,即 β 1 = 0 \beta_{1}=0 β1=0
备择假设 H 1 H_{1} H1回归方程 y = β 0 + β 1 x y=\beta_{0}+\beta_{1}x y=β0+β1x显著成立
β 1 ≠ 0 \beta_{1}\ne 0 β1=0

H 0 H_{0} H0成立的假定下,构造统计量
F = E S S 1 R S S n − 2 ∼ F ( 1 , n − 2 ) F=\frac{\frac{ESS}{1}}{\frac{RSS}{n-2}}\sim F(1,n-2) F=n2RSS1ESSF(1,n2)
其中
E S S = ∑ i = 1 n ( y ^ i − y ˉ ) 2 ESS=\sum_{i=1}^{n}(\hat{y}_{i}-\bar{y})^{2} ESS=i=1n(y^iyˉ)2
自由度是1
R S S = ∑ i = 1 n ( y i − y ^ i ) 2 RSS=\sum_{i=1}^{n}(y_{i}-\hat{y}_{i})^{2} RSS=i=1n(yiy^i)2
自由度是n-2
![[Pasted image 20240811113722.png]]

概率密度曲线
F α F_{\alpha} Fα:上 α \alpha α分位点,临界值点
如果F值,大于临界值,就拒绝原假设,即线性回归模型显著
如果F值。小于临界值,接受原假设,即线性回归模型不显著

Matlab实现
[b, bint, r, rint, stats] = regress(Y, X, 0.05)

stats:
	0.9282 180.9531 0.0000 1.7437

因此F值=180.9531
因为数据是16个人的数据,临界值 F α ( 1 , n − 2 ) F_{\alpha}(1,n-2) Fα(1,n2),就是 F α ( 1 , 14 ) F_{\alpha}(1,14) Fα(1,14)
α \alpha α取0.05
可以查询F分布表,查到分位点

x_a = finv(0.95, 1, 14)

0.95表示落在临界值左侧的概率
1和14分别表示F分布的两个自由度
返回值就是临界值
得: F 0.05 ( 1 , 14 ) = 4.6001 F_{0.05}(1,14)=4.6001 F0.05(1,14)=4.6001
F 值 ≫ F 0.05 ( 1 , 14 ) F值\gg F_{0.05}(1,14) FF0.05(1,14),可以得出拒绝原假设得结论,所以线性回归关系是显著成立的

与F值对应的p值

![[Pasted image 20240811113722.png]]

F值对应的右侧的这一块面积,就是p值
是分布落在F值右边的概率
当原假设成立的前提下,自由度是1和n-2的随机变量落在F值右侧的概率
p = P ( F ( 1 , n − 2 ) > F 值 ∣ H 0 成立 ) p=P(F(1,n-2)>F值|H_{0}成立) p=P(F(1,n2)>FH0成立)

  • p值可以理解为接受回归模型的风险,即犯错的概率
Matlab实现
[b, bint, r, rint, stats] = regress(Y, X, 0.05)

stats:
	0.9282 180.9531 0.0000 1.7437

p值是0.000

>> stats(3)

输入以上语句来得到p值

ans=
	2.1312e-09

2.1312 × 1 0 − 9 2.1312\times 10^{-9} 2.1312×109
因此,接受回归模型正确的风险为2.1312e-09

σ 2 \sigma^{2} σ2的无偏估计

stats的第四个统计指标
σ 2 \sigma^{2} σ2是模型的随机误差项的方差
σ ^ 2 = 1 n − 2 ∑ i = 1 n ε i 2 = 1 n − 2 ∑ i = 1 n ( y i − y ^ i ) 2 \hat{\sigma}^{2}=\frac{1}{n-2}\sum_{i=1}^{n}\varepsilon_{i}^{2}=\frac{1}{n-2}\sum_{i=1}^{n}(y_{i}-\hat{y}_{i})^{2} σ^2=n21i=1nεi2=n21i=1n(yiy^i)2
残差平方和除以自由度n-2

模型预测
  1. 点预测
    将对 x 0 x_{0} x0代入经验回归方程,得点预测结果
    y ^ 0 = β ^ 0 + β ^ 1 x 0 \hat{y}_{0}=\hat{\beta}_{0}+\hat{\beta}_{1}x_{0} y^0=β^0+β^1x0
  2. 区间预测
    置信水平 1 − α 1-\alpha 1α下,对 y 0 y_{0} y0进行区间估计
    [ y ^ − δ ( x 0 ) , y ^ + δ ( x 0 ) ] [\hat{y}-\delta(x_{0}), \quad \hat{y}+\delta(x_{0})] [y^δ(x0),y^+δ(x0)]
    其中
    δ ( x 0 ) = σ ^ 1 + 1 n + ( x 0 − x ˉ ) 2 L x x t a 2 ( n − 2 ) \delta(x_{0})=\hat{\sigma}\sqrt{ 1+ \frac{1}{n}+\frac{(x_{0}-\bar{x})^{2}}{L_{xx}} }t_{\frac{a}{2}}(n-2) δ(x0)=σ^1+n1+Lxx(x0xˉ)2 t2a(n2)
    X T X = ( C i j ) X^{T}X=(C_{ij}) XTX=(Cij)
Matalab实现
y_hat = b(1)+b(2)*x
plot(x, Y, 'k+', x, y_hat, 'r')

把x的取值向量,直接代入到经验回归模型当中
b(1)就是 β 0 \beta_{0} β0
b(2)就是 β 1 \beta_{1} β1
y_hat是预测值
Y表示原始的样本观测值,用黑色加号表示
预测值用红色的实线表示
![[Pasted image 20240811121841.png]]

多元线性回归模型与软件实现

基本概念

一般地,称由
y = β 0 + β 1 x 2 + ⋯ + β m x m + ϵ y=\beta_{0}+\beta_{1}x_{2}+\dots+\beta_{m}x_{m}+\epsilon y=β0+β1x2++βmxm+ϵ
确定的模型,为m元线性回归模型,也可表示为矩阵形式
{ Y = X β + ϵ E ( ε ) = 0 , c o v ( ε , ε ) = σ 2 I n \left\{\begin{matrix} Y=X\beta+\epsilon \\ E(\varepsilon)=0,cov(\varepsilon,\varepsilon)=\sigma^{2}I_{n} \end{matrix}\right. {Y=+ϵE(ε)=0,cov(ε,ε)=σ2In
其中
Y = ( y 1 y 2 … y n ) X = ( 1 x 11 x 12 … x 1 m 1 x 12 x 22 … x 2 m … … … … … 1 x 1 n x n 2 … x n m ) Y=\begin{pmatrix} y_{1} \\ y_{2} \\ \dots \\ y_{n} \end{pmatrix}\quad X=\begin{pmatrix} 1&&x_{11}&&x_{12}&&\dots&&x_{1m} \\ 1&&x_{12}&&x_{22}&&\dots&&x_{2m} \\ \dots&&\dots&&\dots&&\dots&&\dots \\ 1&&x_{1n}&&x_{n2}&&\dots&&x_{nm} \end{pmatrix} Y= y1y2yn X= 111x11x12x1nx12x22xn2x1mx2mxnm
β = ( β 0 β 1 … β n ) ε = ( ε 1 ε 2 … ε n ) \beta=\begin{pmatrix} \beta_{0} \\ \beta_{1} \\ \dots \\ \beta_{n} \end{pmatrix}\quad\varepsilon=\begin{pmatrix} \varepsilon_{1} \\ \varepsilon_{2} \\ \dots \\ \varepsilon_{n} \end{pmatrix} β= β0β1βn ε= ε1ε2εn

主要任务
  1. 对参数 β \beta β σ 2 \sigma^{2} σ2作点估计
  2. 对模型参数、模型显著性作检验分析
  3. y y y的值作预测,即对 y y y作点(区间)估计
模型参数的估计

用最小二乘法对 β 0 , β 1 … β m \beta_{0},\beta_{1}\dots \beta_{m} β0,β1βm进行参数估计
m i n β 0 , β 1 , … , β m Q = ∑ i = 1 n ( y − β 0 − β 1 x 1 − ⋯ − β m x m ) 2 min_{\beta_{0},\beta_{1},\dots,\beta_{m}}Q=\sum_{i=1}^{n}(y-\beta_{0}-\beta_{1}x_{1}-\dots-\beta_{m}x_{m})^{2} minβ0,β1,,βmQ=i=1n(yβ0β1x1βmxm)2
解得最小二乘估计为
β ^ = ( X T X ) − 1 ( X T Y ) \hat{\beta}=(X^{T}X)^{-1}(X^{{T}}Y) β^=(XTX)1(XTY)

模型的检验

类似于一元线性回归情形

  1. 拟合优度检验
  2. 方程显著性的F检验
  3. 变量显著性的t检验
    基于t统计量:
    t = β ^ i σ ^ c i i ∼ t ( n − k − 1 ) t=\frac{\hat{\beta}_{i}}{\hat{\sigma}\sqrt{ c_{ii} }}\sim t(n-k-1) t=σ^cii β^it(nk1)
    对参数 β i \beta_{i} βi进行显著性检验 ( H 0 : β i = 0 ) (H_{0}:\beta_{i}=0) (H0:βi=0)
    其中, X T X = ( c j j ) X^{T}X=(c_{jj}) XTX=(cjj)
模型的预测
  1. 点预测
    将对 ( x 1 ∗ , x 2 ∗ , … , x m ∗ ) (x_{1}^{*},x_{2}^{*},\dots,x_{m}^{*}) (x1,x2,,xm)代入经验回归方程,得点预测结果
    y ^ ∗ = β 0 ^ + β 1 ^ x 1 ∗ + β 2 ^ x 2 ∗ + ⋯ + β m ^ x m ∗ \hat{y}^{*}=\hat{\beta_{0}}+\hat{\beta_{1}}x_{1}^{*}+\hat{\beta_{2}}x_{2}^{*}+\dots+\hat{\beta_{m}}x_{m}^{*} y^=β0^+β1^x1+β2^x2++βm^xm
  2. 区间预测
    [ y ^ − σ t a 2 ( n − k − 1 ) 1 + ∑ i , j c i j x i x j , y ^ + σ ^ t a 2 ( n − k − 1 ) 1 + ∑ i , j c i j x i x j ^ ] \begin{bmatrix} \hat{y}-\hat{\sigma t_{\frac{a}{2}}(n-k-1)\sqrt{ 1+\sum_{i,j}c_{ij}x_{i}x_{j} } ,\hat{y}+\hat{\sigma}t_{\frac{a}{2}}(n-k-1)\sqrt{ 1+\sum_{i,j}c_{ij}x_{i}x_{j} }} \end{bmatrix} [y^σt2a(nk1)1+i,jcijxixj ,y^+σ^t2a(nk1)1+i,jcijxixj ^]
    其中 X T X = ( c i j ) X^{T}X=(c_{ij}) XTX=(cij)
Matlab实现
[b, bint, r, rint, stats]=regress(Y, X, alpha)
  • 拟合优度 r 2 r^{2} r2越接近1,说明回归方程越显著
  • F > F α ( m , n − m − 1 ) F>F_{\alpha}(m,n-m-1) F>Fα(m,nm1)时拒绝H0, F F F越大,说明回归方程越显著
  • F F F对应得概率 p < α p<\alpha p<α时拒绝H0,回归模型成立
建材销售量的回归模型

![[Pasted image 20240813111525.png]]

![[Pasted image 20240813111558.png]]

![[Pasted image 20240813111617.png]]

求解

  1. 建立建材销售量 y y y与推销开支 x 1 x_{1} x1、实际账目数 x 2 x_{2} x2、同类商品竞争数 x 3 x_{3} x3和地区销售潜力 x 4 x_{4} x4的线性回归模型
    y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + β 4 x 4 + ϵ y=\beta_{0}+\beta_{1}x_{1}+\beta_{2}x_{2}+\beta_{3}x_{3}+\beta_{4}x_{4}+\epsilon y=β0+β1x1+β2x2+β3x3+β4x4+ϵ
  2. 用regress命令进行线性回归模型求解
x1=[5.5 2.5 8 3 3 2.9 8 9 4 6.5 5.5 5 6 5 3.5 8 6 4 7.5 7]';
x2=[31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 70 40 50 62 59]';
x3=[10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9]';
x4=[8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11]';
y=[79.3 200.1 163.2 200.1 146 177.7 30.9 291.9 160 339.4 159.6 86.3 237.5 ... 107.2 155 201.4 100.2 135.8 223.3 195]';
x=[ones(size(x1)), x1, x2, x3, x4];
[b, bint, r, rint, stats]=regress(y, X);
  1. 程序求解结果分析
    ![[Pasted image 20240813174026.png]]
  • y的90.34%可由模型确定
  • F值远超过临界值 F 0.05 ( 4.15 ) = 3.0556 F_{0.05}(4.15)=3.0556 F0.05(4.15)=3.0556
  • p值远小于 σ = 0.05 \sigma=0.05 σ=0.05
  • 模型整体上成立
  • β 1 和 β 4 \beta_{1}和\beta_{4} β1β4置信区间包含零点, x 1 , x 4 x_{1},x_{4} x1,x4对y的影响不太显著
  1. 模型的残差分析
    ![[Pasted image 20240813174517.png]]

![[Pasted image 20240813174543.png]]

  • 第16个样本为异常样本
  1. 模型的改进
    首先,剔除异常样本,并重新回归计算
y(16)=[];
x(16,:)=[];
[b, bint, r, rint, stats]=regress(y, X);

![[Pasted image 20240813174800.png]]

R 2 。 F R^{2}。F R2F都有较大改进,但回归系数 β 4 \beta_{4} β4的置信区间包含零点
剔除不显著的变量 x 4 x_{4} x4
y = β 0 + β 1 x 1 + β 2 x 2 + β 3 x 3 + ϵ y=\beta_{0}+\beta_{1}x_{1}+\beta_{2}x_{2}+\beta_{3}x_{3}+\epsilon y=β0+β1x1+β2x2+β3x3+ϵ

[b, bint, r, rint, stats]=regress(y, X(:,1:end-1))

![[Pasted image 20240813175235.png]]

  • 置信区间越短了
    ![[Pasted image 20240813175330.png]]

  • 残差图基本正常

  • 最终模型具有较好的显著性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2036577.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构 - 位图 | 布隆过滤器

文章目录 一、位图1、位图概念2、实现一个简略的位3、位图的优缺点4、位图的应用场景 二、布隆过滤器1、提出2、概念3、布隆过滤器的实现 三、海量数据处理1、哈希切割2、面试题 一、位图 1、位图概念 位图&#xff08;Bitmap&#xff09;是一种非常高效的数据结构&#xff0c…

【ocr识别003】flask+paddleocr+bootstrap搭建OCR文本推理WEB服务

1.欢迎点赞、关注、批评、指正&#xff0c;互三走起来&#xff0c;小手动起来&#xff01; 2.了解、学习OCR相关技术知识领域&#xff0c;结合日常的场景进行测试、总结。如本文总结的flaskpaddleocrbootstrap搭建OCR文本推理WEB服务应用示例场景。 文章目录 1.代码结构2.效果演…

【算法】梯度下降

一、引言 梯度下降算法&#xff08;Gradient Descent&#xff09;是一种一阶迭代优化算法&#xff0c;用于求解最小化目标函数的问题&#xff0c;广泛应用于机器学习和人工智能中的参数优化。 用于优化问题的迭代算法&#xff0c;尤其在机器学习和深度学习中广泛用于最小化损失…

EMQX Platform Snowflake:构建可再生分布式能源的智慧未来

引言 可再生能源如风力和太阳能发电&#xff0c;具有低成本和环保的特性&#xff0c;是未来能源供应的主要方向。然而&#xff0c;这类发电方式存在供应分散、设备数量多、地区分布广等特点。再加上不同地区的季节和天气变化&#xff0c;不确定性极大。 随着社会用电需求的持…

11 Radiobutton组件

11 Radiobutton组件 Tkinter 是 Python 的标准图形用户界面库&#xff0c;它提供了一个 Radiobutton 控件&#xff0c;用于在一组选项中让用户选择一个选项。Radiobutton 通常用于提供一组互斥的选项&#xff0c;用户只能选择其中一个。 Radiobutton 组件基础 Radiobutton 控…

CMake详解-捡重要的讲

CMake 通常我们使用cmake构建C++项目,其实就是编写CMakeLists.txt文件,过程如下 首先在创建项目名称,我这里是CMake文件夹,在路径下创建CMakeLists.txt文件,也就是在工作空间的目录下创建,具体有几个要素要设置 CMake最低版本要求项目名称-自定义即可编译方法:Debug或…

html+css+js网页制作 自定义电商10个页面

htmlcssjs网页制作 自定义电商10个页面 网页作品代码简单&#xff0c;可使用任意HTML编辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#…

前端面试题整理-Javascript

JS组成&#xff1a; JS是运行在浏览器的一门编程语言 函数类型&#xff1a; 1. 说说 js 都有哪些数据类型&#xff0c;他们在内存存储上有什么不同 基本数据类型&#xff1a;number、boolean、string、null&#xff08;null就是特殊的object&#xff09;、undefined、Symbo…

循环神经网络三

一.介绍 在普通的神经网络中&#xff0c;信息的传递是单向的&#xff0c;这种限制虽然使得网络变得更容易学习&#xff0c;单在一定程度上也减弱了神经网络模型的能力。特别是在现实生活中&#xff0c;网络的输出不仅和当前时刻的输入相关&#xff0c;也过去一段时间的输出相关…

keepalived搭建与基础配置

目录 1 keepalived部署与环境准备 1.1 Keepalived 实验环境准备 1.2 Keepalived 相关文件 1.3 Keepalived 安装 1.4 KeepAlived 配置说明 1.5 配置语法说明 2 企业应用示例与配置 2.1 主从架构 2.1.1 启用keepalived日志功能 2.1.2 vrrp_iptables 参数 2.1.3 实现独立子配置文件…

python实现模型训练期间定时查询解析GPU资源详细信息,根据实际显存占用量动态启动新模型训练任务

经常要做模型开发训练的人一定对于GPU的查询不会陌生&#xff0c;实例如下&#xff1a; 详情数据如下&#xff1a; Tue Aug 13 16:42:31 2024 ----------------------------------------------------------------------------- | NVIDIA-SMI 450.80.02 Driver Versi…

oracle普通导出导入

原始的普通导出导入工具&#xff0c;是一个客户端工具。使用导出工具&#xff08;export utility简称exp&#xff09;是将数据从oracle数据库以二进制形式写入操作系统文件&#xff0c;这个文件存储在数据库之外&#xff0c;并且可以被另一个数据库使用导入工具&#xff08;imp…

大数据系列之:Flink Doris Connector,实时同步数据到Doris数据库

大数据系列之&#xff1a;Flink Doris Connector&#xff0c;实时同步数据到Doris数据库 一、版本兼容性二、使用三、Flink SQL四、DataStream五、Lookup Join六、配置通用配置项接收器配置项查找Join配置项 七、Doris 和 Flink 列类型映射八、使用Flink CDC访问Doris的示例九、…

Unity协程WaitForSeconds在编辑器和WebGL表现不同问题的解决方法参考

最近做的一个效果让下面为了让下面这种图片生成一个翻页效果&#xff08;使用ShaderGraph中的FlipBook节点&#xff09;&#xff0c;我通过携程来实现连续翻页。 先是定义一个Coroutine coroutine null&#xff1b; 然后在一定情况下执行coroutine StartCoroutine(KeepPrevie…

Spring入门讲解

这里写目录标题 Spring基础概念关键重点主要特性主要优势Spring与Java EE的对比Spring生态系统概述总结 Spring 基础概念 Spring是一个开源的轻量级Java开发框架&#xff0c;它提供了全面的基础设施支持&#xff0c;简化了企业级应用的开发和部署。Spring的核心理念是依赖注入…

基于华为atlas下的yolov5+BoT-SORT/ByteTrack煤矿箕斗状态识别大探索

写在前面&#xff1a; 本项目的代码原型基于yolov5yolov8。其中检测模型使用的yolov5&#xff0c;跟踪模型使用的yolov8。 这里说明以下&#xff0c;为什么不整体都选择yolov8呢&#xff0c;v8无疑是比v5优秀的&#xff0c;但是atlas这块经过不断尝试没有过去&#xff0c;所以…

前端进行分页Vue3+Setup写法

当后端不方便提供数据分页查询接口时&#xff0c;就需要前端来自己分割进行分页操作 在有可能的情况下还是建议用分页查询接口&#xff0c;减少网络数据传输 首先el-table绑定数组 分页组件&#xff0c;变量自己定义防止报错 <el-paginationlayout"->, total, siz…

Springboot实现doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频在线预览功能,你学“废”了吗?

最近工作中&#xff0c;客户需要生成包含动态内容的word/pdf报告&#xff0c;并且需要在线预览。 刚开始使用后台直接生成word文档&#xff0c;返回文件流给前端&#xff0c;浏览器预览会发生格式错乱问题&#xff0c;特别是文档中的图片有些还不显示。 想到最简单的办法就是…

在原生未启用kdump的BCLinux 8系列服务器上启用kdump及报错处理

本文记录了在原生未启用kdump的BCLinux 8系列操作系统的服务器上手动启用kdump服务及报错处理的过程。 一、问题描述 BCLinux 8系列操作系统&#xff0c;系统初始化安装时未启用kdump服务&#xff0c;手动启动时报以下“No memory reserved for crash kernel”或“ConditionK…

数学建模——评价决策类算法(层次分析法、Topsis)

一、层次分析法 概念原理 通过相互比较确定各准则对于目标的权重, 及各方案对于每一准则的权重&#xff0c;这些权重在人的思维过程中通常是定性的, 而在层次分析法中则要给出得到权重的定量方法. 将方案层对准则层的权重及准则层对目标层的权重进行综合, 最终确定方案层对目标…