毛刺分布scipy.统计

2024-09-30 14:32:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图计算平均值和标准差为毛刺分布,但我不太清楚如何输入这个。我使用的pdf是:IFoA公式中的f(x) = (alpha*gamma*lambda**alpha*x**(gamma-1))/(lambda+x**gamma)**(alpha+1)。你知道吗

我计算了参数:alpha=2.3361635751273977,lambda=10.596809948869414,gamma=0.5,得到平均值=500,std=600。你知道吗

有人能建议我应该如何将数据输入到scipy.stats.burrscipy.stats.burr12吗?你知道吗


Tags: 数据lambdaalpha参数pdfstatsscipy建议
1条回答
网友
1楼 · 发布于 2024-09-30 14:32:14

这里需要^{},而不是burr。(区别在于位于另一个幂中的x的幂的符号。令人困惑的是,它是burr12,通常在SciPy之外被简单地称为Burr,而不是SciPy所称的burr

Burr XII PDF用SciPy写成c*d*x**(c-1)*(1+x**c)**(-d-1),其中c,d是正的形状参数。你的配方

(alpha*gamma*lamda**alpha*x**(gamma-1)) / (lamda+x**gamma)**(alpha+1)

将lambda替换为1,因此涉及一些缩放。医生说

burr12.pdf(x, c, d, loc, scale) is identically equivalent to burr12.pdf(y, c, d) / scale with y = (x - loc) / scale.

所以,为了lamda+x**gamma1 + (x/scale)**gamma的常数倍,我们需要scalelamda**(1/gamma)。指数对应于SciPy符号c = gammad = alpha。让我们测试一下:

from scipy.stats import burr12
alpha = 2.3361635751273977
lamda = 10.596809948869414
gamma = 0.5

scale = lamda**(1/gamma)
c = gamma
d = alpha
print(burr12.mean(c, d, loc=0, scale=scale))
print(burr12.std(c, d, loc=0, scale=scale))

哪个指纹

500.0
600.0

相关问题 更多 >