python求f的倒数,python - 如何计算python中非中心f分布的倒数? - SO中文参考 - www.soinside.com...

要获得逆CDF,您必须调用百分点函数,即PPF。

首先,有关于你的nc参数的问题 - 它大约是5,000,000,这在图中非常明显。所以,代码

import numpy as np

import matplotlib.pyplot as plt

from scipy.stats import ncf

dfn = 2

dfd = 3

nc = 5 / (0.001042**2) # 1.0

rv = ncf(dfn, dfd, nc) # RV of non-central F distribution

x = np.linspace(0.01, 0.99, 100) # for inverse CDF, [0...1] is proper X interval

fig, ax = plt.subplots(1, 1)

ax.plot(x, rv.ppf(x), 'r-', lw=5, alpha=0.6, label='ncf PPF(inv.CDF)')

plt.show()

print(rv.ppf(0.9973))

会产生图表

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9tUlRVSC5wbmcifQ==

如果你将nc改为某种合理的1.0,你就会得到图表

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9CQUtuZy5wbmcifQ==

无论如何,这里是你要求的逆CDF(又名PPF)的代码。最后一个问题是什么是0.9973 as the p - 剩下的唯一参数是比例或位置。你可以轻松地将它添加到ncf(dfn, dfd, nc, loc, scale)电话。

UPDATE

实际上,如果你搞砸了nc实际上等于0.9973的参数,那么我的第二个图就会是你问题的答案。

更新II

好吧,如果nc真的大约有500万,那么print(rv.ppf(0.9973))真的产生了1100的输出。看看左上角的第一个图表和注释编号。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值