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

打印 上一主题 下一主题

主题 548|帖子 548|积分 1644

弁言

关于数学建模的基本方法


  • 机理驱动
    由于客观事物内部规律的复杂及人们认识程度的限定,无法得到内在因果关系,创建合乎机理规律的数学模型
  • 数据驱动
    直接从数据出发,找到隐含在数据背后的最佳模型,是数学模型创建的另一大思路
    统计回归方法是基于统计理论创建的最基本的一类数据驱动建模方法
学习目的


  • 用统计回归方法估计数据中隐含的模型
  • 对模型参数和模型结果的可靠性做必要检验
  • 分析建模过程中的一些细节问题:异常数据的辨识与处理,变量的筛选
  • 用MATLAB软件实现
一元线性回归模型的概念

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

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


  •                                                    β                               0                                      ,                                       β                               1                                            \beta_{0},\beta_{1}                     β0​,β1​为回归系数
  •                                         x                                  x                     x为自变量、回归变量或表明变量
  •                                         y                                  y                     y为因变量或被表明变量
  •                                         ε                                  \varepsilon                     ε为随机误差
随机误差                                   ε                              \varepsilon                  ε的基本假设


  • 高斯-马尔科夫条件
                                                  {                                                                                                     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的取值无关

  • 正太分布假设
                                                  ε                               ∼                               N                               (                               0                               ,                                           σ                                  2                                          )                                      \varepsilon \sim N(0,\sigma^{2})                        ε∼N(0,σ2)
    随机误差项要服从0均值的正太分布,并且方差同样是恒定的,与                                        x                                  x                     x无关
一元线性回归分析的重要任务


  • 基于样本数据,对参数                                                   β                               0                                      ,                                       β                               1                                      ,                            σ                                  \beta_{0},\beta_{1},\sigma                     β0​,β1​,σ做参数估计
  • 对模型参数                                                   β                               0                                      ,                                       β                               1                                            \beta_{0},\beta_{1}                     β0​,β1​以及模型显著性作假设检验分析
  • 对                                        y                                  y                     y的值作预测,即对                                        y                                  y                     y作点(区间)估计
Matlab实现

  1. [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​+β1​xi​+εi​, i=1,2,…,nE(εi​)=0, var(εi​)=σ2​
此中,                                             ε                            1                                  ,                                   ε                            2                                  ,                         …                         ,                                   ε                            n                                       \varepsilon_{1},\varepsilon_{2},\dots,\varepsilon_{n}                  ε1​,ε2​,…,εn​相互独立



  • 拟合误差或残差:                                                   r                               i                                      =                                       y                               i                                      −                                       y                               i                               ′                                            r_{i}=y_{i}-y'_{i}                     ri​=yi​−yi′​
  • 最好直线:使残差平方和最小的直线
                                                  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=1∑n​(yi​−yi′​)2=i=1∑n​(yi​−β0​−βi​xi​)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.                     {∂β0​∂Q​=0∂β1​∂Q​=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ˉ​−β^​1​xˉβ^​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ˉ=n1​i=1∑n​xi​,yˉ​=n1​i=1∑n​yi​,
                                                                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=n1​i=1∑n​xi2​,xˉyˉ​=n1​i=1∑n​xi​yi​
Matlab实现

regress下令
  1. 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​+β1​xi​+ε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}                                    ​y1​y2​…yn​​               ​=               ​11…1​​x1​x2​…xn​​               ​[β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]';
  2. X=[ones(16,1)x];
  3. 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. 参数估计
  1. b=regress(Y, X)
复制代码
得b
  1. 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)                     β^​0​∼N(β0​,(n1​+Lxx​x^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=1∑n​(xi​−xˉ)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′​−β1​​∼t(n−2)
此中
                                                    L                                           x                                  x                                                 =                                       ∑                                           i                                  =                                  1                                          n                                      (                                       x                               i                                      −                                       x                               ˉ                                                 )                               2                                            L_{xx}=\sum_{i=1}^{n}(x_{i}-\bar{x})^{2}                     Lxx​=i=1∑n​(xi​−xˉ)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=n−21​i=1∑n​(yi​−y^​i​)2

                                         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​​(n−2)<Lxx​σ^2​                     ​β1​^​−β2​​<t2a​​(n−2)               ​=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]                                    ​β1′​−t2a​​(n−2)Lxx​(σ′)2​              ​,β1′​+t2a​​(n−2)Lxx​(σ′)2​              ​               ​
同理也可以得到                                             β                            0                                       \beta_{0}                  β0​的置信区间估计
Matlab实现

  1. [b, bint]=regress(Y, X, 0.05)
复制代码
bint就是区间估计结果
Y,隐变量的取值向量
X,系数矩阵
0.05,置信水平=1-0.05=95%
用上面的数据得
  1. b = -16.0730
  2.         0.7194
  3. bint = -33.7071  1.5612
  4.                 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​=yi​−yi′​
残差向量:全部样本的拟合误差,构成的列向量
                                         r                            =                                       [                                                                                                     r                                              1                                                                                                                                                  r                                              2                                                                                                                                  …                                                                                                                                   r                                              n                                                                                                ]                                            r=\begin{bmatrix} r_{1} \\ r_{2} \\ \dots \\ r_{n} \end{bmatrix}                     r=               ​r1​r2​…rn​​               ​
残差应该满意的一些基本性子
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​)=(1−hii​)σ2
残差图分析


横坐标是自变量x,纵坐标是残差
残差是在0附近随机波动,残差与残差之间不存在明显的关联性

异方差现象,与x有关系,不符合条件

不是0均值,残差与残差之间有接洽

前后之间有关联,不是随机波动
软件实现

简单残差图下令
  1. plot(r, '*')
  2. hold on
  3. ezplot('0',[1,length(r)])
复制代码
用plot下令画出残差,用星号表现
hold on,表现前面的不要擦除,继续画图
ezplot,画出0的基准线

Matlab残差图作图下令
  1. rcoplot(r, rint)
复制代码
r表现残差向量
rint表现残差的置信区间

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


  • 一般以为,正常的样本,残差的置信区间,应该是要超过0的
  • 如果置信区间明显远离0,表现这个样本是异常的
模型的检验与软件实现

模型检验之决定系数

总体平方和
                                         T                            S                            S                            =                                       ∑                                           i                                  =                                  1                                          n                                      (                                       y                               i                                      −                                       y                               ˉ                                                 )                               2                                            TSS=\sum_{i=1}^{n}(y_{i}-\bar{y})^{2}                     TSS=i=1∑n​(yi​−yˉ​)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=1∑n​(yi​−yˉ​)2=i=1∑n​(yi​−yi​^​+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=1∑n​(y^​i​−yˉ​)2+(yi​−y^​i​)2+2(yi​−y^​i​)(y^​i​−yˉ​)
                                         =                                       ∑                                           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=1∑n​(y^​i​−yˉ​)2+i=1∑n​(yi​−y^​i​)2+i=1∑n​2(yi​−y^​i​)(y^​i​−yˉ​)
交错项的和严酷等于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=1∑n​(yi​−yˉ​)2=i=1∑n​(y^​i​−yˉ​)2+i=1∑n​(yi​−y^​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​=1−TSSRSS​
                                              R                            2                                       R^{2}                  R2也被称为判定系数或拟合优度


  • 取值范围肯定在01之间
  • 越靠近1,样本数据拟合结果越好
Matlab实现

  1. [b, bint, r, rint, stats] = regress(Y, X, 0.05)
复制代码

  1. stats:
  2.         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​+β1​x不显著成立
也就是线性项可有可无,即                                             β                            1                                  =                         0                              \beta_{1}=0                  β1​=0
备择假设                                             H                            1                                       H_{1}                  H1​回归方程                                   y                         =                                   β                            0                                  +                                   β                            1                                  x                              y=\beta_{0}+\beta_{1}x                  y=β0​+β1​x显著成立
即                                             β                            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=n−2RSS​1ESS​​∼F(1,n−2)
此中
                                         E                            S                            S                            =                                       ∑                                           i                                  =                                  1                                          n                                      (                                                   y                                  ^                                          i                                      −                                       y                               ˉ                                                 )                               2                                            ESS=\sum_{i=1}^{n}(\hat{y}_{i}-\bar{y})^{2}                     ESS=i=1∑n​(y^​i​−yˉ​)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=1∑n​(yi​−y^​i​)2
自由度是n-2

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

  1. [b, bint, r, rint, stats] = regress(Y, X, 0.05)
复制代码

  1. stats:
  2.         0.9282 180.9531 0.0000 1.7437
复制代码
因此F值=180.9531
因为数据是16个人的数据,临界值                                             F                            α                                  (                         1                         ,                         n                         −                         2                         )                              F_{\alpha}(1,n-2)                  Fα​(1,n−2),就是                                             F                            α                                  (                         1                         ,                         14                         )                              F_{\alpha}(1,14)                  Fα​(1,14)
                                    α                              \alpha                  α取0.05
可以查询F分布表,查到分位点

  1. 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)                  F值≫F0.05​(1,14),可以得出拒绝原假设得结论,以是线性回归关系是显著成立的
与F值对应的p值


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,n−2)>F值∣H0​成立)


  • p值可以理解为接受回归模型的风险,即犯错的概率
Matlab实现

  1. [b, bint, r, rint, stats] = regress(Y, X, 0.05)
复制代码

  1. stats:
  2.         0.9282 180.9531 0.0000 1.7437
复制代码
p值是0.000
  1. >> stats(3)
复制代码
输入以上语句来得到p值
  1. ans=
  2.         2.1312e-09
复制代码
                                        2.1312                            ×                            1                                       0                                           −                                  9                                                       2.1312\times 10^{-9}                     2.1312×10−9
因此,接受回归模型正确的风险为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=n−21​i=1∑n​εi2​=n−21​i=1∑n​(yi​−y^​i​)2
残差平方和除以自由度n-2
模型预测


  • 点预测
    将对                                                   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​+β^​1​x0​
  • 区间预测
    置信水平                                        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​(x0​−xˉ)2​              ​t2a​​(n−2)
                                                              X                                  T                                          X                               =                               (                                           C                                               i                                     j                                                      )                                      X^{T}X=(C_{ij})                        XTX=(Cij​)
Matalab实现

  1. y_hat = b(1)+b(2)*x
  2. plot(x, Y, 'k+', x, y_hat, 'r')
复制代码
把x的取值向量,直接代入到经验回归模型当中
b(1)就是                                             β                            0                                       \beta_{0}                  β0​
b(2)就是                                             β                            1                                       \beta_{1}                  β1​
y_hat是预测值
Y表现原始的样本观测值,用黑色加号表现
预测值用赤色的实线表现

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

基本概念

一般地,称由
                                         y                            =                                       β                               0                                      +                                       β                               1                                                 x                               2                                      +                            ⋯                            +                                       β                               m                                                 x                               m                                      +                            ϵ                                  y=\beta_{0}+\beta_{1}x_{2}+\dots+\beta_{m}x_{m}+\epsilon                     y=β0​+β1​x2​+⋯+βm​xm​+ϵ
确定的模型,为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=Xβ+ϵ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=               ​y1​y2​…yn​​               ​X=               ​11…1​​x11​x12​…x1n​​​x12​x22​…xn2​​​…………​​x1m​x2m​…xnm​​               ​
                                         β                            =                                       (                                                                                                     β                                              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​​               ​
重要任务


  • 对参数                                        β                                  \beta                     β和                                                   σ                               2                                            \sigma^{2}                     σ2作点估计
  • 对模型参数、模型显著性作检验分析
  • 对                                        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​,…,βm​​Q=i=1∑n​(y−β0​−β1​x1​−⋯−βm​xm​)2
解得最小二乘估计为
                                                    β                               ^                                      =                            (                                       X                               T                                      X                                       )                                           −                                  1                                                 (                                       X                               T                                      Y                            )                                  \hat{\beta}=(X^{T}X)^{-1}(X^{{T}}Y)                     β^​=(XTX)−1(XTY)
模型的检验

雷同于一元线性回归情形

  • 拟合优度检验
  • 方程显著性的F检验
  • 变量显著性的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​                     ​β^​i​​∼t(n−k−1)
    对参数                                                   β                               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​)
模型的预测


  • 点预测
    将对                                        (                                       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∗​
  • 区间预测
                                                  [                                                                                                                      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​​(n−k−1)1+∑i,j​cij​xi​xj​                             ​,y^​+σ^t2a​​(n−k−1)1+∑i,j​cij​xi​xj​                             ​^​​]
    此中                                                   X                               T                                      X                            =                            (                                       c                                           i                                  j                                                 )                                  X^{T}X=(c_{ij})                     XTX=(cij​)
Matlab实现

  1. [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,n−m−1)时拒绝H0,                                        F                                  F                     F越大,说明回归方程越显著
  • 与                                        F                                  F                     F对应得概率                                        p                            <                            α                                  p<\alpha                     p<α时拒绝H0,回归模型成立
建材销售量的回归模型




求解

  • 创建建材销售量                                        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​+β1​x1​+β2​x2​+β3​x3​+β4​x4​+ϵ
  • 用regress下令进行线性回归模型求解
  1. 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]';
  2. x2=[31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 70 40 50 62 59]';
  3. x3=[10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9]';
  4. x4=[8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11]';
  5. 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]';
  6. x=[ones(size(x1)), x1, x2, x3, x4];
  7. [b, bint, r, rint, stats]=regress(y, X);
复制代码

  • 步伐求解结果分析



  • 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的影响不太显著

  • 模型的残差分析




  • 第16个样本为异常样本

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

                                              R                            2                                  。                         F                              R^{2}。F                  R2。F都有较大改进,但回归系数                                             β                            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​+β1​x1​+β2​x2​+β3​x3​+ϵ
  1. [b, bint, r, rint, stats]=regress(y, X(:,1:end-1))
复制代码



  • 置信区间越短了

  • 残差图基本正常
  • 终极模型具有较好的显著性

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

飞不高

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表