统计系列二:线性回归


一切为了数据挖掘的准备

1.线性回归
  • 用一个模型概括x,y的关系
  • 因变量:预测的变量
  • 自变量:用来预测因变量的一个或多个变量
  • 简单线性回归:只包括一个自变量和一个因变量,两者之间的关系可以用一条直线近似表示
2.回归模型
  • 回归分析:求一个说明因变量y如何依赖自变量x的方程。
  • 回归模型:描述y如何依赖于x和误差项的方程:
    y = β 0 + β 1 x + ϵ y = \beta_0 + \beta_1x + \epsilon 其中 β 0 \beta_0 , β 1 \beta_1 为模型的参数。 ϵ \epsilon 是随机变量,被称为模型的误差项。误差项说明不能被xy之间线性关系解释的变异性
  • 回归方程:描述y的期望值E(y)如何依赖于x的方程。 E ( y ) = β 0 + β 1 x E(y) = \beta_0 + \beta_1x
    在样本中,每个x对应一个y分布,y的每个分布都有自己的平均值或期望值。
  • 估计的回归方程:实际中总体参数 β 0 \beta_0 , β 1 \beta_1 未知,必须使用样本统计量 b 0 b_0 , b 1 b_1 作为总体参数 β 0 \beta_0 , β 1 \beta_1 的点估计量。得到回归估计方程 y ^ = b 0 + b 1 x \hat{y} = b_0 + b_1x
3.最小二乘法
  • 使样本点到直线的距离最小;使观测值 y i y_i 与预测值 y i ^ \hat{y_i} 之间差的平方和最小
  • 最小二乘法
    m i n ( y i y i ^ ) 2 min\sum{(y_i - \hat{y_i})^2}
    y i y_i :实际值
    y i ^ \hat{y_i} :预测值
  • 样本估计量(偏导可得):
    b 1 = ( x i x ) ( ( y i y ) ( x i x ) 2 b_1=\frac{\sum{(x_i-\overline{x}})((y_i-\overline{y})}{\sum(x_i-\overline{x})^2}
    b 0 = y b 1 x b_0=\overline{y}-b_1\overline{x}
  • 使用判定系数评估模型
    • 误差/残差平方和 S S E = ( y i y i ^ ) 2 SSE=\sum{(y_i-\hat{y_i})^2}
    • 总的平方和 S S T = ( y i y ) 2 SST=\sum{(y_i-\overline{y})^2}
    • 回归平方和 S S R = ( y i ^ y ) 2 SSR=\sum{(\hat{y_i}-\overline y)^2}
    • 三者之间关系 S S T = S S R + S S E SST = SSR + SSE
    • 判定系数: r 2 = S S R S S T r^2=\frac{SSR}{SST} 。值越接近1,拟合越好,越接近0,拟合越差。
      判定系数为总平方和中能被估计的回归方程解释的百分比。适用于非线性关系及有两个以上的自变量情况,适用范围更广。
  • 相关系数评估模型:
    r x y = r 2 r_{xy} = \sqrt{r^2} 。相关系数只适用于两变量间存在线性关系的情况。
4.显著性检验

E ( y ) = β 0 + β 1 x E(y) = \beta_0 + \beta_1x ,如果 β 1 \beta_1 为0,y的平均值或期望不依赖于x的值。需要用一个假设检验判定 β 1 \beta_1 是否等于0.

ϵ \epsilon (误差项)的方差 σ 2 \sigma^2 的估计
  • ϵ \epsilon (误差项)的方差 σ 2 \sigma^2 也是y关于回归直线的方差。可能是因为如下方程 y = β 0 + β 1 x + ϵ y = \beta_0 + \beta_1x + \epsilon
  • 残差平方和SSE是实际观测值关于估计的回归线变异性 ϵ \epsilon 的度量。 S S E = ( y i y i ^ ) 2 SSE = \sum{(y_i- \hat{y_i})^2} 。有点像 ϵ i 2 \sum{\epsilon_i^2} (我猜的)
  • 利用SSE除以自己的自由度,得到均方误差MSE。MSE是 σ 2 \sigma^2 的一个估计量. M S E = S S E n 2 = ( y i y 1 ^ ) n 2 MSE = \frac{SSE}{n-2}=\frac{\sum{(y_i - \hat{y_1})}}{n-2}
  • 为了计算SSE,必须估计两个参数, β 0 \beta_0 , β 1 \beta_1 ,所以SSE的自由度是n-2
  • 均方误差: s 2 = M S E = S S E n 2 = ( y i y 1 ^ ) n 2 s^2=MSE=\frac{SSE}{n-2}=\frac{\sum{(y_i - \hat{y_1})}}{n-2}
  • 标准误差: s = M E S s=\sqrt{MES}
t检验
  • 构建关于 β 1 \beta_1 的双侧检验
    假设: H 0 : β 1 = 0 , H 1 : β 1 0 H_0:\beta_1=0,H_1:\beta_1 \neq 0
  • 点估计的抽样分布:
    b 1 b_1 , b 0 b_0 β 1 \beta_1 , β 0 \beta_0 的点估计。如果使用不同的样本会得出不同的值,有自己的抽样分布。
    • E ( b 1 ) = β 1 E(b_1)=\beta_1
    • s b 1 = s ( x i x ) 2 s_{b_1}=\frac{s}{\sqrt{\sum(x_i-\overline{x})^2}} . 可能和以下公式有关,我猜的 : b 1 = ( x 1 x ) ( y i y ) ( x i x ) 2 b_1 = \frac{\sum(x_1-\overline{x})(y_i-\overline{y})}{\sum(x_i-\overline{x})^2}
    • 正态分布
  • t检验的检验统计量为: b 1 β 1 s b 1 \frac{b_1-\beta_1}{s_{b_1}} ,服从 自由度为n-2的t分布。
  • 假设原假设成立, β 1 = 0 , t = b 1 s b 1 \beta_1=0,t=\frac{b_1}{s_{b_1}}
  • 求出p-value,与显著水平对比,得出结论,是否拒绝原假设。
  • β 1 \beta1 的置信区间为 b 1 ± t α / 2 s b 1 b1 \pm t_{\alpha/2}s_{b_1}
python解析
from statsmodels.formula.api import ols
import pandas as pd
df = pd.read_csv(filename)
df_model = ols("y列名 ~ x列名",data=df).fit()
print(df_model.summary())
5.区间估计
  • 置信区间:对于x的一个给定值,y的平均值的区间估计
  • 预测区间:对于x的一个给定值,对应y的一个新的观测值,即对y的一个个别值进行预测的区间估计。
  • 一个个别值的预测值和y的平均值的点估计是相同的,但区间估计不同
置信区间
  • 给定x的估计值
    y p ^ = β 0 + β 1 x p \hat{y_p}=\beta_0 + \beta_1x_p
  • 估计值的估计方差(其中n为样本的个数)
    s ^ y p ^ 2 = s 2 [ 1 n + ( x p x ) 2 ( x i x ) 2 ] \hat{s}_{\hat{y_p}}^2 = s^2[\frac{1}{n}+\frac{(x_p - \overline{x})^2}{\sum(x_i-\overline{x})^2}] , s 2 = M S E = S S E n 2 = ( y i y 1 ^ ) n 2 s^2=MSE=\frac{SSE}{n-2}=\frac{\sum{(y_i - \hat{y_1})}}{n-2}
  • 估计值的估计标准差
    s ^ y p ^ = s 1 n + ( x p x ) 2 ( x i x ) 2 \hat{s}_{\hat{y_p}} = s\sqrt{\frac{1}{n}+\frac{(x_p - \overline{x})^2}{\sum(x_i-\overline{x})^2}}
  • 置信区间
    y p ^ ± t α / 2 s y p ^ \hat{y_p} \pm t_{\alpha/2}s_{\hat{y_p}} t分布的自由度是n-2
  • x p = x x_p=\overline{x} 时,能够得到y的平均值的最佳估计量(此时估计两的估计标准差为0), x p x_p x \overline{x} 越小,平均值的置信区间越大
y的一个个别值的预测区间
  • 给定x的预测值
    y p ^ = β 0 + β 1 x p \hat{y_p}=\beta_0 + \beta_1x_p
  • 预测值的方差由两部分组成
    • y关于平均值 E ( y p ) E(y_p) 的方差,估计量为 s 2 s^2
    • 利用 y p ^ \hat{y_p} 估计 E ( y p ) E(y_p) 的方差,估计量为 s ^ y p ^ 2 \hat{s}_{\hat{y_p}}^2
      s i n d = s 2 + s ^ y p ^ 2 = s 2 + s 2 [ 1 n + ( x p x ) 2 ( x i x ) 2 ] = s 2 [ 1 + 1 n + ( x p x ) 2 ( x i x ) 2 ] s_{ind}=s^2+\hat{s}_{\hat{y_p}}^2=s^2 + s^2[\frac{1}{n}+\frac{(x_p - \overline{x})^2}{\sum(x_i-\overline{x})^2}]=s^2[1+\frac{1}{n}+\frac{(x_p - \overline{x})^2}{\sum(x_i-\overline{x})^2}]
      s i n d = s 1 + 1 n + ( x p x ) 2 ( x i x ) 2 s_{ind}=s\sqrt{1+\frac{1}{n}+\frac{(x_p - \overline{x})^2}{\sum(x_i-\overline{x})^2}}
  • 预测区间
    y p ^ ± t α / 2 s i n d \hat{y_p} \pm t_{\alpha/2}s_{ind} t分布的自由度是n-2
y个别值的预测区间比平均值的置信区间大

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/liuerin/article/details/88917495