统计学nb。当笔者使用SPSS,或者调用很多sk-learn函数包时,常常会用并不是最难的,会选择包,会阅读结果,会得出统计学答案才是最难的。

T-Value

T-value 就是组间差异与组内差异的比值。
t = X ˉ A − X ˉ B S E ( X ˉ A − X ˉ B ) t=\frac{\bar{X}_{A}-\bar{X}_{B}}{S E\left(\bar{X}_{A}-\bar{X}_{B}\right)} t=SE(XˉAXˉB)XˉAXˉB
其中SE指Standard Error。

单样本T值

对于单样本来说
t = m − μ s / n t=\frac{m-\mu}{s / \sqrt{n}} t=s/n mμ
其中m为样本均值, μ \mu μ为理论均值,s是样本标准差,n是样本量。

阈值和结果阅读

如果第一组均值大于第二组均值,则t值将为正;如果较小,则t值将为负。
一旦T值确定,则必须在阅读t检验表(见附录)

α \alpha α选定0.05,自由度dF:
d f = n − 1 df=n-1 df=n1

T-test解释

t检验评估两组的均值是否在统计学上彼此不同。每当您想比较两组均值时,此分析都是合适的,尤其适合作为posttest-only two-group randomized experimental design.
在这里插入图片描述
但上图仅仅是一个理想分布,实际情况中,由于结果的可变范围不同,在相同的均值差下,可能看起来会有几乎完全不同的效果,如下图:
在这里插入图片描述

当我们查看两组分数之间的差异时,我们必须判断其均值相对于分数分布或变异性的差异。T检验就是这样做的。
在这里插入图片描述

T-Test单双尾检验选择

t -test 首先要服从正态分布,如果不服从正态分布,可以使用非参数检验
在这里插入图片描述

附录:T-test表

在这里插入图片描述
表格来源:http://www.sthda.com/english/wiki/t-distribution-table

扩展阅读

同方差(pooled variances)t-test

t = m A − m B S 2 n A + S 2 n B t=\frac{m_{A}-m_{B}}{\sqrt{\frac{S^{2}}{n_{A}}+\frac{S^{2}}{n_{B}}}} t=nAS2+nBS2 mAmB
其中
S 2 = ∑ ( x − m A ) 2 + ∑ ( x − m B ) 2 n A + n B − 2 S^{2}=\frac{\sum\left(x-m_{A}\right)^{2}+\sum\left(x-m_{B}\right)^{2}}{n_{A}+n_{B}-2} S2=nA+nB2(xmA)2+(xmB)2

异方差(separate variance)t-test

t = m A − m B s A 2 n A + S B 2 n B t=\frac{m_{A}-m_{B}}{\sqrt{\frac{s_{A}^{2}}{n_{A}}+\frac{S_{B}^{2}}{n_{B}}}} t=nAsA2+nBSB2 mAmB
其中
在这里插入图片描述

配对样本 T 检验(paired t-test)

如果对相同的人或事,有两个测量值(before/after)选择配对 T 检验。

要比较配对样本的均值,首先要计算出所有配对的差值 d。

在这里插入图片描述
m:d 的平均值;

s:d 的标准差;

n:d 的数量。

自由度: d f = n d − 1 df=n_{d}-1 df=nd1

机器学习中使用T-Test做特征筛选

机器学习中有三种特征筛选方法:

  • Filter approach和“任务”无关
  • Wrapper approach用predictor来评估参数,和任务有关
  • Embedding approach用predictor来构建一个模型,之后用模型来选择,Lasso也属于这里

使用T-test做二分类问题的参数选择如下图:右侧是比较好的特征
在这里插入图片描述

T-Test的R语言实战

https://zhuanlan.zhihu.com/p/38243421

参考文献

https://www.statisticshowto.datasciencecentral.com/probability-and-statistics/t-test/
http://www.sthda.com/english/wiki/t-test-formula
https://socialresearchmethods.net/kb/statistical-student-t-test/

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐