我正在尝试使用 scipy.stats.pearson3 构建一个分布,但在查看累积分布函数(或生存函数(时遇到了不一致的结果。
举个例子:
scipy.stats.pearson3.cdf(-1, skew=0, loc=0, scale=1)
>> 0.15865525393145707
scipy.stats.pearson3.cdf(-1, skew=-0.0001, loc=0, scale=1)
>> 0.8413447461693605
scipy.stats.pearson3.cdf(+1, skew=-0.0001, loc=0, scale=1)
>> 0.1586552538306324
第一个结果很好;就像,这是你应该从 skew=0 pearson3 中得到的(与正态分布的结果相同(。
但是第二个和第三个结果不一致:它们显示一个递减的CDF,这没有意义(如果偏斜为正,则不会发生这种情况(。似乎负偏斜的 pearson3 分布已经反转了 CDF 和 SF 函数。奇怪的是,PDF似乎是正确的,这导致了更多的混乱。
有谁知道这是 scipy 的已知问题还是我错过了什么?
尝试绘制 1 - pearson3.cdf 作为负偏斜数据。
CDF = F(x( 表示正偏态分布(偏斜> 0(
CDF = 1 - F(x( 表示负偏态分布(偏斜<0(
参考资料:Rao, D. V. (2009(。"对数-皮尔逊型分布及其在洪水频率分析中的应用"探讨.I:分布特征",作者:V. W. Griffis 和 J. R. Stedinger。水文工程学报, 14(3(, 301.https://doi.org/10.1061/(ASCE(1084-0699(2009(14:3(301(