从均值和stdev计算 Z分数

我想问是否有任何流行的包,如:numpy,scipy 等有一个内置的函数来计算 Z 分数,如果我知道已经 crital 值,均值和 st dev。

我想问是否有任何流行的包,如: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函数,但它需要一个样本数组,而不是样本统计。

4

Python 3.9开始,标准库在NormalDist对象上提供zscore函数,作为statistics模块的一部分:

NormalDist(mu=72, sigma=.5).zscore(73.06)
# 2.1200000000000045
1

在你的问题中,我不知道你的意思是计算 'x' 低于 'xcritical' 的概率,因为你没有定义 'x'。

通过scipy.stats.norm文档here,似乎没有一个内置的方法来计算值的 z 分数(在您的情况下为“xcritical”),给定平均值和标准偏差。但是,您可以使用内置方法cdff来计算相同的值,在您的地方

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 ()。

希望有帮助!

1

你可以在一行中做到这一点;像这样:

>>> import scipy.stats as st
>>> st.norm(mean, stdev).cdf(xcritical))
0

已知电池的小时寿命近似正态分布,标准偏差 σ = 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

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(402)
如何在 Windows中的两个程序之间快速交换
上一篇
Discord.JS 使用画布在 For循环中显示多个用户配置文件图片
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(10条)