微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

统计测试给出的结果与现实不同?

如何解决统计测试给出的结果与现实不同?

让我们将 X 定义为:

enter image description here

以及与之相关的对象:

enter image description here

我想计算函数跟随的值,并将其与 Y 的直方图特征值绘制在同一图上。

enter image description here

之后我想执行 chi2gof 测试来判断天气这两个分布是否相互收敛。我想使用参数 expected with 旨在比较函数和直方图的分布。

我目前的工作

clf; 
m=8000;
n=10000;
X=randn(m,n);
Y=X*X'/n;
sd=std(X(:));
l=m/n;
eigs=eig(Y);
lp=sd^2*(1+sqrt(l))^2;
lm=sd^2*(1-sqrt(l))^2;
x=linspace(0.00000001,lp,n);
for i = 1:length(x)
    if (and(x(i) <= lp,x(i) >= lm))
        dv(i) = sqrt((lp-x(i)).*(x(i)-lm))./(2*pi*sd^2*l.*x(i));
    else 
        dv(i) = 0;
    end
end

这段代码完全计算了我的函数 dv。现在将其绘制在直方图上,并向其添加 sens 我将直方图标准化为具有单位面积。

hold on;
[h,centres] = hist(eigs,50);
% normalise to unit area
norm_h = h / (numel(eigs) * (centres(2)-centres(1)));
bar(centres,norm_h);
plot(x,dv,"r");
hold off;

代码的结果如下图:

enter image description here

正如我们所见,dv 线非常适合直方图。我们几乎可以肯定,相同分布的卡方检验应该输出非常接近 1 的 p 值(这意味着样本来自相同的分布)。但是代码

[h,p,stats] = chi2gof(dv,'Expected',norm_h);

输出

 p =

     0

这意味着拒绝相同分布的原假设。我的问题是 - 如何?是我用错了什么,还是这个 pvalue 真的是 0 ?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。