首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python的scipy.stats中的norm.ppf与norm.cdf

python的scipy.stats中的norm.ppf与norm.cdf
EN

Stack Overflow用户
提问于 2020-12-28 00:40:03
回答 1查看 3.9K关注 0票数 5

所以我已经粘贴了我的完整代码供您参考,我想知道ppf和cdf在这里的用途是什么?你能解释一下吗?我做了一些研究,发现ppf (百分比点函数)是cdf (累积分布函数)的逆,如果真的是这样,如果我将ppf和cdf分别替换为1/cdf和1/ppf,这段代码不是应该起作用吗?

请给我解释一下,这两者之间的区别。以及如何以及何时使用

顺便说一句,这是假设检验。很抱歉有这么多的评论,只是为了将来的参考而解释一切的习惯。(如果我的任何评论是错误的,请指出)

代码语言:javascript
运行
复制
ball_bearing_radius = [2.99, 2.99, 2.70, 2.92, 2.88, 2.92, 2.82, 2.83, 3.06, 2.85]




import numpy as np

from math import sqrt
from scipy.stats import norm

# h1 : u != U_0
# h0 : u = u_0
#case study : ball bearing example, claim is that radius = 3, do hypothesis testing 
mu_0 = 3
sigma = 0.1

#collect sample
sample = ball_bearing_radius

#compute mean
mean = np.mean(sample)

#compute n
n = len(sample)

#compute test statistic
z = (mean - mu_0) /(sigma/sqrt(n))

#set alpha
a = 0.01

#-------------------------

#calculate the z_a/2, by using percent point function of the norm of scipy
#ppf = percent point function, inverse of CDF(comulative distribution function)
#also, CDF = pr(X<=x), i.e., probability to the left of the distribution

z_critical = norm.ppf(1-a/2)    #this returns a value for which the probab to the left is 0.975

p_value = 2*(1 - norm.cdf(np.abs(z)))

p_value = float("{:.4f}".format(p_value))


print('z : ',z)
print('\nz_critical :', z_critical)
print('\nmean :', mean, "\n\n")

#test the hypothesis

if (np.abs(z) > z_critical):
    print("\nREJECT THE NULL HYPOTHESIS : \n p-value = ", p_value, "\n Alpha = ", a )

else:
    print("CANNOT REJECT THE NULL HYPOTHESIS. NOT ENOUGH EVIDENCE TO REJECT IT: \n p-value = ", p_value, "\n Alpha = ", a )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-28 16:54:35

.ppf()函数计算给定正态分布值的概率,而.cdf()函数计算给定概率为所需值的正态分布值。在这个特定的意义上,这些是彼此相反的。

要演示此计算,请检查以下示例代码。

代码语言:javascript
运行
复制
from scipy.stats import norm
print(norm.ppf(0.95))
print(norm.cdf(1.6448536269514722))

这张带有上面代码的图像应该会让你明白这一点。

谢谢!

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65468026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档