python 线性回归显著性检验_【机器学习笔记】:大话线性回归(二)

本文介绍了Python中线性回归的拟合优度和显著性检验。通过判定系数R2和估计标准误差评估模型的拟合效果,R2值为0.97,表示拟合程度良好。接着探讨了线性关系检验和回归系数检验,包括F统计量和t统计量,以及Python实现显著性检验的方法。最后,文章涉及线性回归的残差分析,包括正态性、独立性和方差齐性检验,强调了残差分析在模型诊断中的重要性。
摘要由CSDN通过智能技术生成

▌线性回归拟合优度

1. 判定系数

回归直线与各观测点的接近程度成为回归直线对数据的拟合优度。而评判直线拟合优度需要一些指标,其中一个就是判定系数。

我们知道,因变量y值有来自两个方面的影响:

(1)来自x值的影响,也就是我们预测的主要依据

(2)来自无法预测的干扰项ϵ的影响

如果一个回归直线预测非常准确,那么它就需要让来自x的影响尽可能的大,而让来自无法预测干扰项的影响尽可能的小,也就是说x影响占比越高,预测效果就越好。下面我们看一下如何定义这些影响,并形成指标。

b7b72421e1a3b3832ec556d8ab91632e.png

SST(总平方和):变差总平方和

***(回归平方和):由x与y之间的线性关系引起的y变化

SSE(残差平方和):除x影响之外的其它因素引起的y变化

2be010c3ebe1b7c676233f5c241cade3.png

它们之间的关系是:

9e6567f318eea42dad8bd7993cc52fe8.png。根据我们前面的分析,***越高,则代表回归预测越准确,观测点越是靠近直线,也即

0cdd7978fb80e53ff2812b975a4ed5fb.png越大,直线拟合越好。因此,判定系数的定义就自然的引出来了,我们一般称为R2。

f275f805de49164ffb032ae1aa98215f.png

还是用上篇的数据为例,利用R2来测试一下拟合的效果是怎么样的。defR2square(yArr,y_hat):n = len(yArr)

yArr = np.array(yArr).reshape(n,1)

y_hat = np.array(y_hat).reshape(n,1)

# ***

diff_yhat = y_predict - np.mean(yArr)

*** = np.sum(np.power(diff_yhat,2))

# sst

diff_y = yArr - np.mean(yArr)

sst = np.sum(np.power(diff_y,2))

return round(***/sst,2)R2square(yArr,y_predict)

>>0.97

可以看到最后的得分是0.97,说明拟合程度还是很不错的。2. 估计标准误差判定系数R2的意义是由x引起的影响占总影响的比例来判断拟合程度的。当然,我们也可以从误差的角度去评估,也就是用残差SSE进行判断。估计标准误差是均方残差的平方根,可以度量各实际观测点在直线周围散布的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值