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

问题描述

让我们将 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 (将#修改为@)