我的这个问题与Matlab并不紧密相关,但与之相关:我正在研究如何以几种非平凡的方式填充矩阵[[a,b,c],[d,e,f]]
,以便使尽可能多地在
corrcoef([a,b,c],[d,e,f])
都是零。在大多数情况下,我的尝试都会产生NaN。
发布于 2021-06-13 18:18:10
考虑到当前的注释,您正在尝试理解两个分布的两个随机抽取序列是如何具有零相关性的。具体来说,您所提到的练习4.6.9是从两个正态分布中提取的。
您的方法的一个问题是,您希望在理论属性和实验之间建立联系,在这种情况下使用Matlab。而且,正如你似乎已经注意到的那样,除非你看到的是特定的退化案例,否则你的实验将失败。这是因为尽管练习中真正的相关参数rho可能为零,但随机抽取的样本总是有一定程度的相关性。这里有一个例子,如果运行它,您会注意到,尽管它们的平均值为零(因为这两个生成器都是伪不相关的),实际的相关性跨越了-1到1之间的整个频谱:
n=1e4;
experiment = nan(n,1);
for i=1:n
r = corrcoef(rand(4,1),rand(4,1));
experiment(i)=r(2);
end
hist(experiment);
title(sprintf('Average correlation: %.4f%%',mean(experiment)));
如果你看一下维基百科中皮尔森相关的定义,你会发现,唯一的方法就是分子为零,即E(Xbar)(Ybar)=0。虽然这可能是渐近线的情况,但您将很难找到一个非退化的情况,其中这将发生在一个小样本。尽管如此,为了向您展示您可以导出一些这样的退化情况,让我们进一步研究一下。如果你想要这个产品的期望是零,你可以把左边或右边的零当另一个是非零。若一侧为零,则绘图必须与绘制的平均值完全相等。因此,我们可以想象使用这种技术创建这样一对变量:
corrcoef([0,1,2,1],[2,0,2,4])
是否确实生成了一个标识矩阵。这是因为,每次X的一个分量与它的平均值1不同时,Y中的分量等于它的平均值2。如果您想知道如何从完全不相关的分布中创建样本,这将是一个完全不同的问题,尽管(也许)在理解统计方面更有趣。如果这是您的情况,并且考虑到您提到的讨论正态分布的练习,我建议您看看如何使用方框-穆勒变换生成相反的变量。
快乐的随机化!
https://stackoverflow.com/questions/67959642
复制相似问题