python 中未知参数的单样本 Cramer-VonMises 检验
One-sample Cramer-VonMises test with unknown parameters in python
我正在寻找 python 中具有 未知参数 的正态分布的单样本 Cramer-Von Mises 检验。
我在这里找到了一些讨论
https://github.com/chrisb83/scipy/commit/9274d22fc1ca7ce40596b01322be84c81352899d
不过这个好像没有发布?
还有这个:
https://pypi.org/project/scikit-gof/
但这些测试仅适用于完全指定的分布(即已知参数)。
是否有人知道 python 中针对参数未知的普通 dist 的 CVM 测试实现?
谢谢
测试是在样品上完成的。这是在 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)
我正在寻找 python 中具有 未知参数 的正态分布的单样本 Cramer-Von Mises 检验。
我在这里找到了一些讨论 https://github.com/chrisb83/scipy/commit/9274d22fc1ca7ce40596b01322be84c81352899d 不过这个好像没有发布?
还有这个: https://pypi.org/project/scikit-gof/ 但这些测试仅适用于完全指定的分布(即已知参数)。
是否有人知道 python 中针对参数未知的普通 dist 的 CVM 测试实现?
谢谢
测试是在样品上完成的。这是在 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)