我有一些数据需要测试,看看它是否来自参数未知的Weibull distribution。在R中,我可以使用https://cran.r-project.org/web/packages/KScorrect/index.html,但在Python中找不到任何内容。在
使用scipy.stats公司我可以将参数与:
scipy.stats.weibull_min.fit(values)
然而,为了把它变成一个测试,我想我需要执行一些蒙特卡罗模拟(例如https://en.m.wikipedia.org/wiki/Lilliefors_test),我不确定到底要做什么。在
如何用Python进行这样的测试?在
Lilliefors测试在OpenTURNS中实现。要做到这一点,您必须使用与您想要的分布相对应的工厂。 在下面的脚本中,我模拟一个大小为10的Weibull样本,并使用等于1000的样本量执行Kolmogorov-Smirnov测试。这意味着KS统计被模拟1000次。在
更多详情请访问:
一种方法:估计分布参数,从估计的分布中提取数据并运行KS测试,以检查两个样本是否来自同一个分布。在
让我们创建一些“原始”数据:
现在
^{pr2}$最后一行相当于:
所以,一旦你估计了分布的参数,你就可以非常可靠地测试它。但是
scipy
估计值不是很好,我花了好几次运行才得到与原始分布更接近的结果。在相关问题 更多 >
编程相关推荐