特征筛选利器:详解T-test(T检验)原理、参数分析、单\双尾检验选择
当笔者使用SPSS,或者调用很多sk-learn函数包时,常常会用并不是最难的,**会选择包,会阅读结果,会得出统计学答案**才是最难的。
统计学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ˉA−XˉB)XˉA−XˉB
其中SE指Standard Error。
单样本T值
对于单样本来说
t
=
m
−
μ
s
/
n
t=\frac{m-\mu}{s / \sqrt{n}}
t=s/nm−μ
其中m为样本均值,
μ
\mu
μ为理论均值,s是样本标准差,n是样本量。
阈值和结果阅读
如果第一组均值大于第二组均值,则t值将为正;如果较小,则t值将为负。
一旦T值确定,则必须在阅读t检验表(见附录)
α
\alpha
α选定0.05,自由度dF:
d
f
=
n
−
1
df=n-1
df=n−1
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+nBS2mA−mB
其中
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+nB−2∑(x−mA)2+∑(x−mB)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+nBSB2mA−mB
其中
配对样本 T 检验(paired t-test)
如果对相同的人或事,有两个测量值(before/after)选择配对 T 检验。
要比较配对样本的均值,首先要计算出所有配对的差值 d。
m:d 的平均值;
s:d 的标准差;
n:d 的数量。
自由度: d f = n d − 1 df=n_{d}-1 df=nd−1
机器学习中使用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/
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)