机器学习与统计学:R方代表什么?和P值的关系是什么?

2020-08-28 16:46:32 浏览数 (1)

作者:挂枝儿 原文:https://zhuanlan.zhihu.com/p/110886609

我们在做逻辑回归或是其他线性模型的时候,经常会遇到一个模型衡量指标叫做

R^2

,网上很多一个普遍的解释是:

R^2

表达了2个变量间关系的解释程度百分比程度 / 拟合曲线对于模型variance的减少百分比

用一个例子来理解一下。下图有蓝色的样本分布点,红线是我们的拟合曲线,灰线是平均值曲线

R方的公式是:

上图中分母和分子的左侧从数字上,可以理解为样本点到均值线的差平方和。分子的右侧代表预测结果与样本均值差的平方和。根据图像,我们其实可以将:

分子理解成:

样本标签本身的var - 将模型结果纳入考量后的var

分母理解成:

不考虑预测结果,样本标签本身的var

如果我们的拟合曲线与模型均值相同,那么我们的

R^2

=0,也就是说模型对于样本毫无解释能力,如果去蓝线的话,

R^2

将是一个非常接近于81%的数字,代表蓝线为均值线减少了81%的variance,模型结果可以解释81%的样本结果。

但需要注意的是,

R^2

并不能指定强关联的方向性,也就是说可能是正向的也可能是反向的。

那么逻辑回归的

R^2

是怎么回事呢?回归问题可以用量化的方差来计算,逻辑回归怎么计算呢?怎么定义

bar{y}

呢?

我们用LL(Over Probabilty)来代替上式的var(mean)

LL(Over Probabilty)的计算方式是:

得到概率后,我们将结果根据样本量log求和即可:

最后就可以计算

R^2

R^2的指标就介绍到这里,这是一个很好的量化模型结果对于响应变量解释程度的指标,那么接下来,我们怎么知道这个是不是随机造成造成的呢?怎么样确信这个结果不是偶然?

F检验和P值出场了 我其实一开始只想知道p-value在线性方程组里是怎么计算出来了,后来查到了是必须要通过F值才能够得到. F检验的公式形象化的理解就是:

pfit-pmean可以叫做:自由度,其实就是拟合方程的系数量-平均值的系数量(一般就是1)

n-pfit就是样本量数量-拟合方程的系数数量。要减去pfit的原因是随着你方程中的系数项越多,你也需要更多的样本数量才能够去拟合方程。比如你需要2个点才能确定一条直线,3个点来确定一个平面。

从上面的式子也看得出,这是一个分子大分母就小,分子小分母就大的式子,我甚至觉得长得有点像odds....

那么这个式子又怎么得到我们的P值呢?

P值是检验样置信度的一个指标,一般我们认为p<=0.05时(一般选择这个显著水平),模型的信号不存在偶然性,模型的结果可靠

我们可以古典查表法,当然实务肯定也是用Python模块计算

代码语言:javascript复制
import numpy as np
from scipy.stats import chi2_contingency, fisher_exact

obs = np.array([[8157, 8],[7906,10]])

g, p, dof, expctd = chi2_contingency(obs, correction = False)

p
0.59094761107842753

总结:

R^2可以量化模型响应变量与因变量间的关系强弱 p-value检验可以决定拟合方程的可靠程度。

0 人点赞