python中带有未知参数的一个示例CramerVonmes测试

2024-09-30 05:17:07 发布

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

我正在寻找python中参数未知的正态分布的单样本Cramer Von Mises测试

我在这里找到了一些讨论 https://github.com/chrisb83/scipy/commit/9274d22fc1ca7ce40596b01322be84c81352899d 但这似乎并没有公布

还有一点: https://pypi.org/project/scikit-gof/ 但这些测试仅适用于完全指定的分布(即已知参数)

有没有人知道在python中针对具有未知参数的普通dist的CVM测试实现

谢谢


Tags: httpsorggithubprojectpypicom参数scipy
1条回答
网友
1楼 · 发布于 2024-09-30 05:17:07

试验是在样品上进行的。下面是一个在Python中使用OpenTURNS的示例

import openturns as ot

首先,让我们从一个中心标准正态分布构建一个大小为200的随机样本 您可能有自己的数据:

sample = ot.Sample([0, 0.3, -0.1, 0.23, -0.5], 1)

但是OpenTurns提供了一种构建示例的简单方法

sample = ot.Normal().getSample(200)

现在要执行Cramer Von Mises正态性测试,只需调用此方法

test_result = ot.NormalityTest.CramerVonMisesNormal(sample)

然后打印结果

print('Component is normal?', test_result.getBinaryQualityMeasure(),
      'p-value=%.6g' % test_result.getPValue(),
      'threshold=%.6g' % test_result.getThreshold())

>>> Component is normal? True 
 p-value=0.624469 
 threshold=0.01

但请始终记住,阈值是任意的,即使样本确实来自正态分布,测试也可能给出假阴性

如果要测试来自统一分布的样本,请将行“sample”替换为:sample = ot.Uniform().getSample(200)

相关问题 更多 >

    热门问题