python做显著性检验,python T检验
你需要numpy图书馆。
将numpy作为np导入
将scipy.stats作为统计数据导入
将scipy.optimize作为选项导入
首先,让我们创建两个数组作为测试数据。
n=200
Norm _ dist=stats.norm (loc=0.5,scale=10) #构造一个均值为0.5,标准差为10的正态分布。“标准差”也叫“均方差”,是方差的根数。
Dat=norm_dist.rvs(size=n) #随机取200分
print(数据的平均值是: str(np.mean(dat)))
print(数据的中位数是: str(np.median(dat)))
Print(数据的标准差为: str (NP。STD (DAT)) #因为这200个点是随机得到的,可能和原来的正态分布有些出入。
norm_dist2=stats.norm(loc=0.2,scale=1)
DAT=norm _ dist2.rvs (size=n/2) #随机选择100个点
print(数据的平均值是: str(np.mean(dat2)))
print(数据的中位数是: str(np.median(dat2)))
print(数据的标准偏差为: str(np.std(dat2)))
分析这两个数组的差异——两个样本的T检验。
stat_val,p_val=stats.ttest_ind(dat,dat2,equal_var=False)
#查看两种分布的平均值是否有显著差异
#注意我们这里生成的第二组数据的样本量和方差不等于第一组的,所以应用T检验时需要Welch的T检验。
#即指定了ttest_ind中的equal_var=False。
print(双样本t统计量D=%6.3f,p值=%6.4f % (stat_val,p_val))
计算两个序列的相关性,做显著性检验。
将scipy.stats作为统计数据导入
x=[76,81,78,76,76,78,76,78,98,88,76,66,44,67,65,59,87,77,79,85,68,76,77,98,99,98,87,67,78]
y=[43,33,23,34,31,51,56,43,44,45,32,33,28,39,31,38,21,27,43,46,41,41,48,56,55,45,68,54,33]
r,p=stats.pearsonr(x,y)
[out]:(0.39341862097439129,0.0332953336)
相关系数为0.39,表明两个序列之间存在一定的相关性。
p值为0.035,表明结果具有统计学意义。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。