用于正态分布的matlab测试(不测试非正态分布)

时间:2012-02-15 22:35:27

标签: matlab statistics

我有一组约100000个数字。将高斯拟合到我的数据我可以直观地看到这些点几乎完全遵循高斯。使用normplot我看到我的数据再次跟随高斯,除了尾巴上的一点噪音。

现在,我正在寻找的是一个函数,可以给我一个p值,拒绝我的数据不正常的原假设。 Lilleforfs和Jbtest都有零假设,即数据是正常的。如果我将我的数据下采样到大约100个点,我可以拒绝空元素。

我真正想要的是拒绝我的数据不正常分布的假设,以及一些相关的p值。这可能吗?

编辑:我的数据是整数,范围是1到100。

可能应该将我的笔记保留在第3年的统计数据中。

2 个答案:

答案 0 :(得分:4)

这不可能以你要问的方式:正常性测试没有假设的原因是数据不是正态分布。

传统的,频率论假设检验的工作方式是使用零假设来表征检验统计量的 null分布。此时,您的测试统计信息的异常值(即,在您的空分布中异常高或低的信号)表示出现了错误 - 如果零假设为真,则不太可能获得这样的值。在零假设是数据正常的测试中,这很容易。我们对正态分布有很多了解,因此我们可以描述测试统计量的空分布是什么样的。

但是现在考虑一个假想的测试,其中零假设是数据正态分布。在这个零假设下,我们的测试统计数据(无论我们选择哪个)是什么样的?我们不知道,因为它几乎可以是任何发行版!它可能是伽玛,贝塔,对数正常,指数,柯西,或者我们从未听说过的。它可以遵循几乎无限的可能分布,所以说“在这个假设下这些数据会是什么样的”不起作用。

ETA:如果您的数据是整数,则它们不可能正常分布,因为正态分布是连续的。也许他们是binomial

答案 1 :(得分:0)

您可以查看ktest,单样本Kolmogorov-Smirnov检验。基本上它会检查您的数据集是否正常分布,具有一些显着性值。