通过均值和标准差对scipy中的负二项式进行参数化

路易斯·赞伊罗兹(Louiz Zanjroz)

我想我的数据拟合为负二项分布与包SciPy的Python中但是,我的验证似乎失败了。

这些是我的步骤:

  1. 我有一些需求数据,这些数据由统计信息描述:
mu = 1.4
std = 1.59
print(mu, std)
  1. 我用下面的参数化功能,从这个拍摄计算两个NB参数。
def convert_params(mu, theta):
    """
    Convert mean/dispersion parameterization of a negative binomial to the ones scipy supports

    See https://en.wikipedia.org/wiki/Negative_binomial_distribution#Alternative_formulations
    """
    r = theta
    var = mu + 1 / r * mu ** 2
    p = (var - mu) / var
    return r, 1 - p

我通过(希望正确......)我的两个数据-不同来源之间的命名约定,而混淆在这一点上prk

firstParam, secondParam = convert_params(mu, std)
  1. 然后,我将使用这两个参数来拟合分布:
from scipy.stats import nbinom

rv = nbinom(firstParam, secondParam)

然后,我R百分比点函数 计算一个值.ppf(0.95)R我的问题中的值是一个再订货点。

R = rv.ppf(0.95)
  1. 现在正是我希望验证前面的步骤,但我不设法找回我原来的统计数据 mu,并stdmeanmath.sqrt(var)分别。
import math

mean, var = nbinom.stats(firstParam, secondParam, moments='mv')
print(mean, math.sqrt(var))

我想念什么?有关在中实现的参数化的任何反馈Scipy

塞弗林·帕帕德(Severin Pappadeux)

转换代码是错误的,我相信SciPy不是使用Wiki约定,而是使用Mathematica约定

#%%
import numpy as np
from scipy.stats import nbinom

def convert_params(mean, std):
    """
    Convert mean/dispersion parameterization of a negative binomial to the ones scipy supports

    See https://mathworld.wolfram.com/NegativeBinomialDistribution.html
    """
    p = mean/std**2
    n = mean*p/(1.0 - p)
    return n, p

mean = 1.4
std  = 1.59

n, p = convert_params(mean, std)

print((n, p))

#%%

m, v = nbinom.stats(n, p, moments='mv')
print(m, np.sqrt(v))

代码打印回1.4、1.59对

并重新排序点计算为

rv = nbinom(n, p)
print("reorder point:", rv.ppf(0.95))

输出 5

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

10000 个数据点中 x>=5 的均值和标准差 二项式 (10, 1/4)

使用scipy.stats的分布均值和标准差

如何使用均值和标准差对图像进行归一化?

计算时间序列中的均值和标准差

如何从列表中获取均值、中值和标准差

字典列表中的 Python 均值和标准差

ggplot 中的多条(均值和标准差)

迅速加快均值和标准差

熊猫系列均值和标准差

向量的均值和标准差

分组的均值和标准差

计算均值和标准差

变量列表的均值和标准差

在R data.table中,如何使用训练集的均值和标准差标准化测试集

零膨胀负二项式模型的聚类标准误差

优化负对数似然总和中的alpha和beta,以实现beta二项式分布

使用Brm在R中使用BRM进行负二项式回归会导致错误

使用 dplyr 对数据集进行分组并汇总均值和 SD(标准差)

如何通过均值和标准差的特定转换来转换数据列

如何在C ++中计算(负二项式)分布PDF和CDF?

使用数据集的均值和标准差归一化图像

在 R 中使用 data.table() 和 dplyr() 按月对多级数据进行子集化和汇总(总和、均值和标准差)

计算负二项式响应的GLM的交叉验证

用偏移变量模拟负二项式分布

月份趋势的负二项式回归

glmmTMB截短的负二项式家族仍在开发中吗?

Python负二项式回归-结果与R中的结果不匹配

尝试使用R中的MASS包运行负二项式回归

如何在 sklearn 中对负二项式回归使用 K 折交叉验证?