【问题标题】:Understanding the chi2gof function in matlabmatlab中chi2gof函数的理解
【发布时间】:2017-11-28 18:38:46
【问题描述】:

我试图通过一个非常简单的测试来了解如何在 matlab 中使用 chi2gof 函数。假设我抛硬币 190 次,得到 94 个正面和 96 个反面。零假设应该是我得到 95h, 95t。据我了解文档,我应该能够通过运行来检验假设

[h,p,stats] = chi2gof([94,96], 'expected', [95,95])

但是,这会返回 h = 1,这应该意味着拒绝原假设,这是没有意义的。另一个特别的事情是stats 中的O 参数返回为O: [0 2] - 但这不应该是我的输入([94,96])吗?我做错了什么?

我做错了什么?

【问题讨论】:

标签: matlab chi-squared


【解决方案1】:

问题是您将抛硬币的累积结果传递给chi2gof。必须对完整样本进行拟合优度检验。来自官方文档(参考here):

  • x = 假设检验的样本数据,指定为向量(代码的错误部分
  • Expected = 每个 bin 的预期计数(代码的正确部分

让我们用正确的变量做一个例子:

ct = randsample([0 1],190,true,[0.49 0.51]);
[h,p,stats] = chi2gof(ct,'Expected',[95 95]);

h的返回值为0,绝对正确。

现在,让我们举一个应该失败的例子:

ct = randsample([0 1],190,true,[0.05 0.95]);
[h,p,stats] = chi2gof(ct,'Expected',[95 95]);

如您所见,第二次测试返回的h 将等于1

最后,不要忘记查看第二个输出参数,即测试的p-value,它是评估结果重要性的重要元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-31
    • 2020-12-10
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多