为什么我的数据中存在高斯性问题,我该如何解决?

问题描述

我有两个高斯噪声发生器,来自 MATLAB 的 randn() 函数

noise1 = randn(1,100000)
noise2 = randn(1,100000)

我正在寻找它们相等的点。为此,我在每个点之间添加 100 个点:

mehvec = linspace(1,100000,100*(100000-1));
meh1 = [];
meh2 = [];
for i = 2:1:n
    meh1 = [meh1,linspace(noise1(i-1),noise1(i),100)];
    meh2 = [meh2,linspace(noise2(i-1),noise2(i),100)];
end

现在,我扫描每个点,以查看两个噪声之间的差异是否存在符号变化、符号变化发生的位置以及它们相等时的噪声值:

diff = meh1 - meh2;
crossvec = [];
valuevec = [];
for i = 2:1:length(mehvec)
    if diff(i-1)>=0 && diff(i)<0 || diff(i-1)<0 && diff(i)>=0
        crossvec = [crossvec,i];
        valuevec = [valuevec,meh1(i)];
    end
end

结果应该是高斯的,因为与实际的热噪声一样,这些应该是高斯白噪声的样本。高斯性存在问题,即瞬时噪声相等的向量。它来自哪里?

这是它们相等的值的正态概率图。它应该是一条直线(表示高斯性),但事实并非如此。用于生成它的代码是:

figure;
set(gcf,'color','w');
normplot(meh1(crossvec));

Here's the normal-probability plot of the values where they're equal. It should be a straight line (which indicates Gaussianity),but it isn't.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)