案例:
tt = (sm-m)/np.sqrt(sv/float(n)) # t-statistic for mean
pval = stats.t.sf(np.abs(tt), n-1)*2 # two-sided pvalue = Prob(abs(t)>tt)
print 't-statistic = %6.3f pvalue = %6.4f' % (tt, pval)
t-statistic = 0.391 pvalue = 0.6955
链接:
https://stackoverflow.com/questions/17559897/python-p-value-from-t-statistic
http://docs.scipy.org/doc/scipy/reference/tutorial/stats.html
可执行代码
# coding: utf-8
from __future__ import division
import numpy as np
from scipy import stats
means = [0.0539, 4,8,3,6,9,1]
stds = [5,4,8,3,6,7,9]
mu = [0, 4.1, 7, 2, 5, 8, 0]
n = 20
output = []
for sm, std, m in zip(means, stds, mu):
# print("value:", sm, std)
tt = (sm-m)/(std/np.sqrt(float(n))) # t-statistic for mean
pval = stats.t.sf(np.abs(tt), n-1)*2 # two-sided pvalue = Prob(abs(t)>tt)
# print('t-statistic = %6.3f pvalue = %6.4f' % (tt, pval))
output.append(format(pval))
print("\t".join(output))
以上这篇python中p-value的实现方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。
Powered By python教程网 鲁ICP备18013710号
python博客 - 小白学python最友好的网站!