一切为了数据挖掘的准备
1.线性回归
- 用一个模型概括x,y的关系
- 因变量:预测的变量
- 自变量:用来预测因变量的一个或多个变量
- 简单线性回归:只包括一个自变量和一个因变量,两者之间的关系可以用一条直线近似表示
2.回归模型
- 回归分析:求一个说明因变量y如何依赖自变量x的方程。
- 回归模型:描述y如何依赖于x和误差项的方程:
y=β0+β1x+ϵ其中
β0,
β1为模型的参数。
ϵ是随机变量,被称为模型的误差项。误差项说明不能被xy之间线性关系解释的变异性
- 回归方程:描述y的期望值E(y)如何依赖于x的方程。
E(y)=β0+β1x。
在样本中,每个x对应一个y分布,y的每个分布都有自己的平均值或期望值。
- 估计的回归方程:实际中总体参数
β0,
β1未知,必须使用样本统计量
b0,
b1作为总体参数
β0,
β1的点估计量。得到回归估计方程
y^=b0+b1x
3.最小二乘法
- 使样本点到直线的距离最小;使观测值
yi与预测值
yi^之间差的平方和最小
- 最小二乘法
min∑(yi−yi^)2
yi:实际值
yi^:预测值
- 样本估计量(偏导可得):
b1=∑(xi−x)2∑(xi−x)((yi−y)
b0=y−b1x
- 使用判定系数评估模型
- 误差/残差平方和
SSE=∑(yi−yi^)2
- 总的平方和
SST=∑(yi−y)2
- 回归平方和
SSR=∑(yi^−y)2
- 三者之间关系
SST=SSR+SSE
- 判定系数:
r2=SSTSSR。值越接近1,拟合越好,越接近0,拟合越差。
判定系数为总平方和中能被估计的回归方程解释的百分比。适用于非线性关系及有两个以上的自变量情况,适用范围更广。
- 相关系数评估模型:
rxy=r2
。相关系数只适用于两变量间存在线性关系的情况。
4.显著性检验
E(y)=β0+β1x,如果
β1为0,y的平均值或期望不依赖于x的值。需要用一个假设检验判定
β1是否等于0.
ϵ(误差项)的方差
σ2的估计
-
ϵ(误差项)的方差
σ2也是y关于回归直线的方差。可能是因为如下方程
y=β0+β1x+ϵ
- 残差平方和SSE是实际观测值关于估计的回归线变异性
ϵ的度量。
SSE=∑(yi−yi^)2。有点像
∑ϵi2(我猜的)
- 利用SSE除以自己的自由度,得到均方误差MSE。MSE是
σ2的一个估计量.
MSE=n−2SSE=n−2∑(yi−y1^)
- 为了计算SSE,必须估计两个参数,
β0,
β1,所以SSE的自由度是n-2
- 均方误差:
s2=MSE=n−2SSE=n−2∑(yi−y1^)
- 标准误差:
s=MES
t检验
- 构建关于
β1的双侧检验
假设:
H0:β1=0,H1:β1̸=0
- 点估计的抽样分布:
b1,
b0是
β1,
β0的点估计。如果使用不同的样本会得出不同的值,有自己的抽样分布。
-
E(b1)=β1
-
sb1=∑(xi−x)2
s. 可能和以下公式有关,我猜的 :
b1=∑(xi−x)2∑(x1−x)(yi−y)
- 正态分布
- t检验的检验统计量为:
sb1b1−β1,服从 自由度为n-2的t分布。
- 假设原假设成立,
β1=0,t=sb1b1
- 求出p-value,与显著水平对比,得出结论,是否拒绝原假设。
-
β1的置信区间为
b1±tα/2sb1
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的估计值
yp^=β0+β1xp
- 估计值的估计方差(其中n为样本的个数)
s^yp^2=s2[n1+∑(xi−x)2(xp−x)2],
s2=MSE=n−2SSE=n−2∑(yi−y1^)
- 估计值的估计标准差
s^yp^=sn1+∑(xi−x)2(xp−x)2
- 置信区间
yp^±tα/2syp^t分布的自由度是n-2
- 当
xp=x时,能够得到y的平均值的最佳估计量(此时估计两的估计标准差为0),
xp离
x越小,平均值的置信区间越大
y的一个个别值的预测区间
- 给定x的预测值
yp^=β0+β1xp
- 预测值的方差由两部分组成
- y关于平均值
E(yp)的方差,估计量为
s2
- 利用
yp^估计
E(yp)的方差,估计量为
s^yp^2
sind=s2+s^yp^2=s2+s2[n1+∑(xi−x)2(xp−x)2]=s2[1+n1+∑(xi−x)2(xp−x)2]
sind=s1+n1+∑(xi−x)2(xp−x)2
- 预测区间
yp^±tα/2sindt分布的自由度是n-2
y个别值的预测区间比平均值的置信区间大