TASK03|回归

目录

*

+ 条件均值建模
+ 一般回归模型
+ 线性回归模型
+ 多元线性回归
+ exp2
+ ols估计及其性质
+ OLS估计的求解
+ OLS矩阵的求解
+ 拟合优度
+ OLS估计的代数性质
+ 经典线性模型假设(6)下的OLS估计的性质
+ OLS估计的性质-最优的线性无偏估计
+ OLS系数估计的抽样分布:t分布
+ 回归分析的重要任务——推断/假设检验
+
* t检验
*
t检验的思想(单参数检验)
* p值
+ 计算t值仍然是第一步
+ 参数线性组合的检验-巧用模型变式
+ F检验F检验是回归分析中多个线性假设检验问题的常用检验方法。多个线性假设检验问题可分为如下:
+
* F和T检验
* 一般多参数检验问题
+ 更广义的”线性”回归——多种形式自变量
+ 带有定性变量的回归分析
+ 二分类变量
+ 交互效应模型——定性变量间的交互效应

回归分析中我们主要学习经典线性模型(CLM, Classical Linear Model)与最小二乘估计(OLS),广义线性模型(GLM)只做简单介绍;
分类分析中我们主要学习基于线性模型的Logistics模型与Probit模型。

  • 回归的思想与线性回归模型介绍

· OLS估计在经典线性回归模型假设下的统计推断

· 线性回归模型中的参数检验

· 线性回归模型设定的误差分析

· 异方差下回归建模的解决方法

条件均值建模

scipy.stats.norm函数 可以实现正态分布

scipy.stats.poisson.rvs(loc=期望, scale=标准差, size=生成随机数的个数) #从泊松分布中生成指定个数的随机数

正态分布在x处的概率密度函数的函数值f(x)

scipy.stats.norm.pdf(x, loc=期望, scale=标准差)

scipy.stats.norm.pmf(x, loc=期望, scale=标准差) #pdf目前改为pmf

rvs:产生服从指定分布的随机数
pdf:概率密度函数
cdf:累计分布函数
sf:残存函数(1-CDF)
ppf:分位点函数(CDF的逆)
isf:逆残存函数(sf的逆)
fit:对一组随机取样进行拟合,最大似然估计方法找出最适合取样数据的概率密度函数系数。

参数

绘制线性拟合图
seaborn.regplot(x, y, data=None, x_estimator=None, x_bins=None, x_ci=’ci’, scatter=True, fit_reg=True, ci=95,
n_boot=1000, units=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=False, dropna=True,
x_jitter=None, y_jitter=None, label=None, color=None, marker=’o’, scatter_kws=None, line_kws=None, ax=None)

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
import seaborn as sns
from IPython.display import display

sns.regplot(x='x',y='y',data=df)

x=list()
y=list()
for i in [1,2,3,4,5]:
    y_norm=stats.norm.rvs(i,1,20,random_state=i).tolist()
    y.extend(y_norm)
    x1=np.ones(20)*i
    x1=x1.tolist()
    x.extend(x1)

data={'x':x,'y':y}
df=pd.DataFrame(data)

sns.regplot(x='x',y='y',data=df)
plt.title('E(Y|X)')

TASK03|回归
线性关系可用y=x+u

一般回归模型

将上述公式中的x x x泛化成条件均值E ( y ∣ x ) E(y|x)E (y ∣x )
y = E ( y ∣ x ) + u y=E(y|x)+u y =E (y ∣x )+u
回归模型的建模, 本质上就是条件均值建模
回归模型y = E ( y ∣ x ) + u y=E(y|x)+u y =E (y ∣x )+u暗含假设

  1. 随机误差的条件期望E ( u ∣ x ) = 0 E(u|x)=0 E (u ∣x )=0
  2. 推论1. 随机误差的无条件期望E ( u ) = 0 E(u)=0 E (u )=0——这表示其他因素对y y y的平均影响为0

推论2. 随机误差u u u与自变量x x x协方差C o v ( u , x ) = 0 Cov(u,x)=0 C o v (u ,x )=0——这表示其他因素与参与回归的x x x不相关!
根据假设1,我们可以将一般回归模型表示成一种新的形式:
y = E ( y ∣ x ) + u ⟺ y = m ( x ) + u , w h e r e E ( u ∣ x ) = 0 y=E(y|x)+u\Longleftrightarrow y=m\left( x \right) +u, where\,\,E\left( u|x \right) =0 y =E (y ∣x )+u ⟺y =m (x )+u ,w h ere E (u ∣x )=0

此处E ( u ∣ x ) = 0 E(u|x)=0 E (u ∣x )=0等价于m ( x ) = E ( y ∣ x ) m(x)=E(y|x)m (x )=E (y ∣x )
只要假定随机误差u u u与x x x不相关(这里可理解为其他影响y y y的外生因素与内生因素x x x不相关),我们就可以根据需要假定回归模型的具体形式。

线性回归模型

线性模型假设有:
m ( x ) = β 0 + β 1 x 1 + ⋯ + β p x p m(x)=\beta_{0}+\beta_{1} x_{1}+\cdots+\beta_{p} x_{p}m (x )=β0 ​+β1 ​x 1 ​+⋯+βp ​x p ​

线性回归模型可表示为:
y = β 0 + β 1 x 1 + ⋯ + β p x p + u , E ( u ∣ x 1 , ⋯ , x p ) = 0 y=\beta_{0}+\beta_{1} x_{1}+\cdots+\beta_{p} x_{p}+u, \quad E\left(u \mid x_{1}, \cdots, x_{p}\right)=0 y =β0 ​+β1 ​x 1 ​+⋯+βp ​x p ​+u ,E (u ∣x 1 ​,⋯,x p ​)=0

此后,我们将默认模型含有E ( u ∣ x ) = 0 E(u|x)=0 E (u ∣x )=0的设定(因为只有这样模型才代表回归模型)

多元线性回归

  1. 在实际问题中,因变量y y y通常受多个因素影响,这些因素之间可能彼此之间存在线性相关性
    (多重共线性)
  2. 推断一个变量对另一个变量的因果关系,就要保持尽可能多的其他因素的不变,因此需要尽量把关键因素纳入到回归模型当中,这样便可以控制多个变量,查看某个特定变量变化对自变量的影响
  3. 多元线性回归模型可写成:
    y = β 0 + β 1 x 1 + ⋯ + β k x k + u y=\beta_{0}+\beta_{1} x_{1}+\cdots+\beta_{k} x_{k}+u y =β0 ​+β1 ​x 1 ​+⋯+βk ​x k ​+u
    u u u:随机误差,除x 1 x_1 x 1 ​,…,x k x_k x k ​以外的其他因素对因变量y y y的影响
    满足假设
    E ( u ∣ x 1 , ⋯ , x k ) = 0 E\left(u \mid x_{1}, \cdots, x_{k}\right)=0 E (u ∣x 1 ​,⋯,x k ​)=0
    模型变为
    c o l G P A = β 0 + β 1 h s G P A + β 2 A C T + u \mathrm{colGPA}=\beta _0+\beta _1\mathrm{hsGPA}+\beta _2\mathrm{ACT}+u colGPA =β0 ​+β1 ​hsGPA +β2 ​ACT +u

exp2

· Example2. 依旧以上面的大学成绩例子为例,这一次我们增加一个高中成绩hsGPA变量,此时模型变为
c o l G P A = β 0 + β 1 h s G P A + β 2 A C T + u \mathrm{colGPA}=\beta _0+\beta _1\mathrm{hsGPA}+\beta _2\mathrm{ACT}+u colGPA =β0 ​+β1 ​hsGPA +β2 ​ACT +u
在模型增加了一个我们认为非常重要的变量后,模型的估计会产生怎样的变化呢?我们使用python对该例的数据集进行回归分析,比较两种模型的区别。具体的python实现过程我们将稍后介绍,大家只需要关注这里的结果即可。

import statsmodels.api as sm

gpa1=pd.read_stata('gpa')

X1=gpa1.ACT
X2=gpa1[['ACT','hsGPA']]

y=gpal.colGPA

X1=sm.add_constant(X1)
X2=sm.add_constant(X2)
display(X2)

gpa_lm1=sm.OLS(y,X1).fit()
gpa_lm2=sm.OLS(y,X2).fit()

p1=pd.DataFrame(gpa_lm1.pvalues,columns=['pvalue'])
c1=pd.DataFrame(gpa_lm1.params,columns=['params'])
p2=pd.DataFrame(gpa_lm2.pvalues,columns=['pvalue'])
c2=pd.DataFrame(gpa_lm2.params,columns=['params'])
display(c1.join(p1,how='right'))
display(c2.join(p2,how='right'))

变量ACT在两个回归模型中的系数并不一致,在单独回归是变量显著,增添了变量hsGPA后边的不显明多个变量共同回归绝不等同于多个变量各自进行单变量回归

ols估计及其性质

y = β 0 + β 1 x + u y=\beta_{0}+\beta_{1} x+u y =β0 ​+β1 ​x +u
将模型回归参数分别记为β ^ 0 \hat{\beta}{0}β^​0 ​,β ^ 1 \hat{\beta}{1}β^​1 ​,并定义y ^ i = β ^ 0 + β ^ 1 x i \hat{y}{i}=\hat{\beta}{0}+\hat{\beta}{1} x{i}y ^​i ​=β^​0 ​+β^​1 ​x i ​为样本在自变量为x i x_i x i ​下的拟合值,记样本实际观测值y i y_i y i ​与拟合值y ^ i \hat{y}{i}y ^​i ​之差为拟合残差
u ^ i = y i − y ^ i \hat{u}
{i}=y_{i}-\hat{y}_{i}u ^i ​=y i ​−y ^​i ​。

OLS对距离的定义是:残差的平方u ^ i 2 {\hat{u}_i}^2 u ^i ​2
估计的思想是: OLS估计求得的系数β ^ 0 \hat{\beta}{0}β^​0 ​、β ^ 1 \hat{\beta}{1}β^​1 ​ ,将使直线与所有样本的拟合残差的平方和最小

( β ^ 0 , β ^ 1 ) = argmin ⁡ ∑ i = 1 n ( y i − β ^ 0 − β ^ 1 x i ) 2 \left(\hat{\beta}{0}, \hat{\beta}{1}\right)=\operatorname{argmin} \sum_{i=1}^{n}\left(y_{i}-\hat{\beta}{0}-\hat{\beta}{1} x_{i}\right)^{2}(β^​0 ​,β^​1 ​)=argmin i =1 ∑n ​(y i ​−β^​0 ​−β^​1 ​x i ​)2
相应的

多元线性回归的模型不是一条直线,而是一个多维的超平面。对于多元线性回归的OLS估计目标函数,有
( β ^ 0 , ⋯ , β ^ k ) = a r g min ⁡ ∑ i = 1 n ( y i − β ^ 0 − β ^ 1 x 1 i − β ^ k x k i ) 2 \left( \hat{\beta}0,\cdots ,\hat{\beta}_k \right) =\mathrm{arg}\min \sum{i=1}^n{\left( y_i-\hat{\beta}0-\hat{\beta}_1x{1i}-\hat{\beta}kx{ki} \right) ^2}(β^​0 ​,⋯,β^​k ​)=arg min i =1 ∑n ​(y i ​−β^​0 ​−β^​1 ​x 1 i ​−β^​k ​x ki ​)2

OLS估计的求解

  • 优化角度看OLS求解

记目标函数为
Q ( β ^ 0 , β ^ 1 , ⋯ , β ^ k ) = ∑ i = 1 n ( y i − β ^ 0 − β ^ 1 x i 1 − ⋯ − β ^ k x i k ) 2 Q\left(\hat{\beta}{0}, \hat{\beta}{1}, \cdots, \hat{\beta}{k}\right)=\sum{i=1}^{n}\left(y_{i}-\hat{\beta}{0}-\hat{\beta}{1} x_{i 1}-\cdots-\hat{\beta}{k} x{i k}\right)^{2}Q (β^​0 ​,β^​1 ​,⋯,β^​k ​)=i =1 ∑n ​(y i ​−β^​0 ​−β^​1 ​x i 1 ​−⋯−β^​k ​x ik ​)2

这是一个以( β ^ 0 , β ^ 1 , ⋯ , β ^ k ) (\hat{\beta}{0}, \hat{\beta}{1}, \cdots, \hat{\beta}{k})(β^​0 ​,β^​1 ​,⋯,β^​k ​)作为未知变量的多元函数,我们要求得最小值点,可以令各元偏导数等于0,构建一个k + 1 k+1 k +1维的方程组求解:
∑ i = 1 n ( y i − β ^ 0 − β ^ 1 x i 1 − ⋯ − β ^ k x i k ) = 0 ∑ i = 1 n ( y i − β ^ 0 − β ^ 1 x i 1 − ⋯ − β ^ k x i k ) x i 1 = 0 ∑ i = 1 n ( y i − β ^ 0 − β ^ 1 x i 1 − ⋯ − β ^ k x i k ) x i 2 = 0 ⋯ ⋯ ∑ i = 1 n ( y i − β ^ 0 − β ^ 1 x i 1 − ⋯ − β ^ k x i k ) x i k = 0 \begin{aligned} &\sum
{i=1}^{n}\left(y_{i}-\hat{\beta}{0}-\hat{\beta}{1} x_{i 1}-\cdots-\hat{\beta}{k} x{i k}\right)=0 \ &\sum_{i=1}^{n}\left(y_{i}-\hat{\beta}{0}-\hat{\beta}{1} x_{i 1}-\cdots-\hat{\beta}{k} x{i k}\right) x_{i 1}=0 \ &\sum_{i=1}^{n}\left(y_{i}-\hat{\beta}{0}-\hat{\beta}{1} x_{i 1}-\cdots-\hat{\beta}{k} x{i k}\right) x_{i 2}=0 \ &\cdots \quad \cdots \ &\sum_{i=1}^{n}\left(y_{i}-\hat{\beta}{0}-\hat{\beta}{1} x_{i 1}-\cdots-\hat{\beta}{k} x{i k}\right) x_{i k}=0 \end{aligned}​i =1 ∑n ​(y i ​−β^​0 ​−β^​1 ​x i 1 ​−⋯−β^​k ​x ik ​)=0 i =1 ∑n ​(y i ​−β^​0 ​−β^​1 ​x i 1 ​−⋯−β^​k ​x ik ​)x i 1 ​=0 i =1 ∑n ​(y i ​−β^​0 ​−β^​1 ​x i 1 ​−⋯−β^​k ​x ik ​)x i 2 ​=0 ⋯⋯i =1 ∑n ​(y i ​−β^​0 ​−β^​1 ​x i 1 ​−⋯−β^​k ​x ik ​)x ik ​=0 ​
以上方程组中,每个方程有k + 1 k+1 k +1个自变量,且有k + 1 k+1 k +1个方程,根据线性代数的知识,我们可以求得( β ^ 0 , β ^ 1 , ⋯ , β ^ k ) (\hat{\beta}{0}, \hat{\beta}{1}, \cdots, \hat{\beta}_{k})(β^​0 ​,β^​1 ​,⋯,β^​k ​)的唯一解

OLS矩阵的求解

我们有n n n个样本,因此根据模型有以下n n n个等式成立
y i = β 0 + β 1 x i 1 + ⋯ + β k x i k + u i , i = 1 , ⋯ , n y_{i}=\beta_{0}+\beta_{1} x_{i 1}+\cdots+\beta_{k} x_{i k}+u_{i}, \quad i=1, \cdots, n y i ​=β0 ​+β1 ​x i 1 ​+⋯+βk ​x ik ​+u i ​,i =1 ,⋯,n

联立方程组,并表示成矩阵形式
y = X β + u \boldsymbol{y}=\boldsymbol{X\beta }+\boldsymbol{u}y =Xβ+u
y = ( y 1 , y 2 , ⋯ , y n ) ′ , β = ( β 0 , β 1 , ⋯ , β k ) ′ , u = ( u 1 , u 2 , ⋯ , u n ) ′ \boldsymbol{y}=\left( y_1,y_2,\cdots ,y_n \right) ^{‘},\quad \boldsymbol{\beta} =\left( \beta _0,\beta _1,\cdots ,\beta _k \right) ^{‘},\quad \boldsymbol{u}=\left( u_1,u_2,\cdots ,u_n \right) ^{‘}y =(y 1 ​,y 2 ​,⋯,y n ​)′,β=(β0 ​,β1 ​,⋯,βk ​)′,u =(u 1 ​,u 2 ​,⋯,u n ​)′。

记:x i ′ = ( 1 , x i 1 , x i 2 , ⋯ , x i k ) , X = ( x 1 ′ , x 2 ′ , ⋯ , x n ′ ) ′ x_{i}^{\prime}=\left(1, x_{i 1}, x_{i 2}, \cdots, x_{i k}\right), \boldsymbol{X}=\left(x_{1}^{\prime}, x_{2}^{\prime}, \cdots, x_{n}^{\prime}\right)^{\prime}x i ′​=(1 ,x i 1 ​,x i 2 ​,⋯,x ik ​),X =(x 1 ′​,x 2 ′​,⋯,x n ′​)′
X \boldsymbol{X}X是一个n × ( k + 1 ) n\times \left( k+1 \right)n ×(k +1 )维的矩阵,n为样本个数,k为自变量个数,它也被称为设计阵。

对于我们实际拟合的模型及其残差,其矩阵形式则为
y ^ = X β ^ , u ^ = y − y ^ \boldsymbol{\hat{y}}=\boldsymbol{X\hat{\beta}},\quad \boldsymbol{\hat{u}}=\boldsymbol{y}-\boldsymbol{\hat{y}}y ^​=X β^​,u ^=y −y ^​
根据令残差平方和偏导数为0的思想,有
Q ( β ^ ) = ∑ i = 1 n u ^ i 2 = u ^ ′ u ^ = ( y − X β ^ ) ′ ( y − X β ^ ) = y ′ y − 2 β ^ ′ X ′ y + β ^ ′ X ′ X β ^ Q(\hat{\beta})=\sum_{i=1}^{n} \hat{u}_{i}^{2}=\hat{u}^{\prime} \hat{u}=(y-X \hat{\beta})^{\prime}(y-X \hat{\beta})=y^{\prime} y-2 \hat{\beta}^{\prime} X^{\prime} y+\hat{\beta}^{\prime} X^{\prime} X \hat{\beta}Q (β^​)=i =1 ∑n ​u ^i 2 ​=u ^′u ^=(y −X β^​)′(y −X β^​)=y ′y −2 β^​′X ′y +β^​′X ′X β^​
运用向量求导的知识得
X ′ X β ^ = X ′ y ⇒ β ^ = ( X ′ X ) − 1 X ′ y X^{\prime} X \hat{\beta}=X^{\prime} y \Rightarrow \hat{\beta}=\left(X^{\prime} X\right)^{-1} X^{\prime} y X ′X β^​=X ′y ⇒β^​=(X ′X )−1 X ′y
至此,我们就得到了各系数估计向量β ^ \hat{\beta}β^​的矩阵表达式了。

拟合优度

对于多元线性模型
y = β 0 + β 1 x 1 + ⋯ + β k x k + u y=\beta_{0}+\beta_{1} x_{1}+\cdots+\beta_{k} x_{k}+u y =β0 ​+β1 ​x 1 ​+⋯+βk ​x k ​+u
我们使用OLS得到了一个拟合模型
y ^ = β ^ 0 + β ^ 1 x 1 + ⋯ + β ^ k x k \hat{y}=\hat{\beta}_0+\hat{\beta}_1x_1+\cdots +\hat{\beta}_kx_k y ^​=β^​0 ​+β^​1 ​x 1 ​+⋯+β^​k ​x k ​

  • TSS总平方和
    T S S = ∑ i = 1 n ( y i − y ˉ ) 2 T S S=\sum_{i=1}^n\left(y_{i}-\bar{y}\right)^{2}TSS =i =1 ∑n ​(y i ​−y ˉ​)2
  • ESS解释平方和
    E S S = ∑ i = 1 n ( y ^ i − y ˉ ) 2 E S S=\sum_{i=1}^{n}\left(\hat{y}_{i}-\bar{y}\right)^{2}ESS =i =1 ∑n ​(y ^​i ​−y ˉ​)2
  • RSS残差平方和
    R S S = ∑ i = 1 n ( y i − y ^ i ) 2 R S S =\sum_{i=1}^n\left(y_{i}-\hat{y}_{i}\right)^2 RSS =i =1 ∑n ​(y i ​−y ^​i ​)2

RSS是一个可以度量拟合优度的量,因为残差平方和越小,意味着预测值与真实值之间的差距越小。但是RSS的大小没有一个标准,它将随着样本量的增大而增大,因此单纯的RSS不是一个合格的衡量拟合优度的量。

· 回归拟合优度——R方

R 2 = E S S T S S R^{2}=\frac{E S S}{T S S}R 2 =TSS ESS ​
TSS度量了因变量y y y的总样本变异,而ESS度量了模型拟合值y ^ \hat{y}y ^​的总变异,也就是解释了的变异

三种平方和存在关系T S S = R S S + E S S TSS=RSS+ESS TSS =RSS +ESS

总变异可以被拆分为解释了变异和未被解释的变异,残差平方和度量了”剩余信息”。

numpy

Original: https://blog.csdn.net/m0_52024881/article/details/125876847
Author: speoki
Title: TASK03|回归

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/635957/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球