才子佳人博客

我的故事我讲述

双样本T检验可用于特征选择
###SmallArticleTitle###
来源:xjh;  编辑:xjh;  2020-05-29

T检验分单样本T检验和双样本T检验,单样本T检验检验的是样本的均值是否能代表总体的均值。双样本T检验检验的是两个独立样本所代表的总体数据均值差异是否显著。换句话说就是检验两个总体是否是存在差异。双样本T检验适用条件如下:

•两样本均来自于正态总体

•两样本相互独立

•满足方差齐性,方差齐次性指的是样本的方差在一个数量级水平上(通过方差齐性检验)

接下来按照假设检验流程:

1.原假设:两个独立样本所代表的总体数据均值相同(H0),备择假设:两个独立样本所代表的总体数据均值不相同(H1);

2.P值定为0.05;

3.计算两组样本的均值,标准差然后带入t(n1+n2-2)公式后求得t值,然后查T检验表得到P值。

4.如果P<0.05,则两组数据均值不同,数据间存在差异,如果P>0.05,则两组数据均值相同。

5.如果X和Y中一个为二分类数值类型时,一个为连续数值类型时即可以使用双样本T检验。

例如:给定boston房价预测数据:boston(,,,,CHAS,Price)

准备样本

将CHAS = 0 的房价Price 样本 和 将CHAS = 1 的房价Price 样本 分别抽取出来。

CHAS_0 = list(data[data["CHAS"]==0].Price)

CHAS_1 = list(data[data["CHAS"]==1].Price)

CHAS这列是二分类数值类型,506个样本中CHAS = 0的有471个样本,CHAS = 1的有35个样本,而boston房价预测数据中Price是连续数值类型,所以我们可以采用双样本T检验去检验CHAS(0或者1)的不同是否会对房价有影响,换句话说就是去检验CHAS这列特征和房价是否有关联。

双样本T检验

接着做双样本T检验,依然是一行代码。注意由于两组样本之间的方差不满足齐次性,需要加一个参数equal_var=False。此API默认为equal_var=Ture。
stats.ttest_ind(CHAS_0,CHAS_1,equal_var=False)

结果如下:
Ttest_indResult(statistic=-3.113291312794837,pvalue=0.003567170098137517)

P=0.003小于0.05,证明双样本T检验的原假设不成立,即两个总体之间的均值存在差异。

结论

下面结果显示:CHAS = 0的这一波房子的房价均值为22,而CHAS = 1的这一波房价的均值为26,说明CHAS = 1的房子比CHAS = 0的房子要贵。所以CHAS这列特征和房价还是很相关。而且T检验也证明其相关性还是很显著,所以这列特征,不能随意扔掉。

来源参考:
http://www.itale.cn/archives/2018/11/20181104155637.html
https://www.jianshu.com/p/7555c4311a57

分类:网络日志 | 评论数:0 | 浏览数:49
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: