python做显著性检验,python T检验

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: