我想问是否有任何流行的包,如:numpy,scipy 等有一个内置的函数来计算 Z 分数,如果我知道已经 crital 值,均值和 st dev。
我通常这样做:
def Zscore(xcritical, mean, stdev):
return (xcritical - mean)/stdev
#example:
xcritical = 73.06
mean = 72
stdev = 0.5
zscore = Zscore(xcritical, mean, stdev)
后来我使用scipy.stats.norm.cdf
来计算 x 低于 xcritical 的概率。
import scipy.stats as st
print(st.norm.cdf(zscore))
我知道有scipy.stats.zscore
函数,但它需要一个样本数组,而不是样本统计。

从Python 3.9
开始,标准库在NormalDist
对象上提供zscore
函数,作为statistics
模块的一部分:
NormalDist(mu=72, sigma=.5).zscore(73.06)
# 2.1200000000000045
在你的问题中,我不知道你的意思是计算 'x' 低于 'xcritical' 的概率,因为你没有定义 'x'。
通过scipy.stats.norm文档here,似乎没有一个内置的方法来计算值的 z 分数(在您的情况下为“xcritical”),给定平均值和标准偏差。但是,您可以使用内置方法cdf和
xcritical = 73.06
mean = 72
stdev = 0.5
p = norm.cdf(x=xcritical,loc=mean,scale=stdev)
z_score = norm.ppf(p)
print('The z-score for {} corresonding to {} mean and {} std deviation is: {:.3f}'.format(xcritical,mean,stdev,z_score))
在这里,我们首先计算获得 'xcritical' 值的累积概率 'p'。在给定 'mean' 和 'stdev' 的情况下,使用norm.cdf ().norm.cdf ()计算相应的 'x' 值的正态分布曲线下的面积百分比normal.z ()。
希望有帮助!

你可以在一行中做到这一点;像这样:
>>> import scipy.stats as st
>>> st.norm(mean, stdev).cdf(xcritical))
已知电池的小时寿命近似正态分布,标准偏差 σ = 1.25 小时。10 个电池的随机样本的平均寿命为 x = 40.5 小时。a.是否有证据支持电池寿命超过 40 小时的说法?使用 α = 0.5。
normal.sf,因为我想知道的钟形曲线的右侧回答,如果它超过了阿尔法。
norm.sf(40.5, loc=40, scale=1.25/np.sqrt(10)) #recall the z score formula
p 值 = 0.102
Ho:u = 40;Ha:u & gt;40
因此,p 值大于 α,因此我们无法拒绝零假设,并得出结论,确实有证据支持电池寿命超过 40 小时。P 值为 0.10 & gt;0.05 alpha
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(79条)