【数学】python中p-value的实现

案例:

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]
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))

猜你喜欢

转载自blog.csdn.net/ztf312/article/details/80205728