Che*_*ung 8 math matlab ellipse
对于问题"在MATLAB中围绕数据的椭圆"这个问题,在Amro给出的答案中,他说:
"如果您希望椭圆表示特定的标准偏差水平,那么正确的做法是通过缩放协方差矩阵"
并且缩放它的代码给出为
STD = 2; %# 2 standard deviations
conf = 2*normcdf(STD)-1; %# covers around 95% of population
scale = chi2inv(conf,2); %# inverse chi-squared with dof=#dimensions
Cov = cov(X0) * scale;
[V D] = eig(Cov);
Run Code Online (Sandbox Code Playgroud)
我不明白上面代码片段的前3行.如何计算比例chi2inv(conf,2),以及将它与共变矩阵相乘背后的基本原理是什么?
附加问题:
我还发现如果我使用1.5 STD(即86%的瓷砖)进行缩放,椭圆可以覆盖所有点,我的点集在几乎所有情况下都会聚集在一起.另一方面,如果我使用3个STD(即99%的瓷砖)进行缩放,则椭圆太大.那么我怎样才能选择STD来紧紧覆盖丛生点呢?
这是一个例子:
内椭圆对应于1.5 STD,外对应于2.5 STD.为什么1.5 STD紧紧覆盖了丛生的白点?是否有任何方法或理由来定义它?

abc*_*bcd 12
在数据点周围显示椭圆的目的是显示置信区间,换句话说,"有多少数据在与标准偏差的某个标准偏差范围内"
在上面的代码中,他选择显示一个覆盖95%数据点的椭圆.对于正态分布,约67%的数据距平均值1 sd,2 sd内约95%,3 sd内约99%(数字偏离我的头顶,但你可以通过计算曲线下面积).因此,STD=2;你会发现conf大约的价值0.95.
数据点与数据质心的距离类似于(xi^2+yi^2)^0.5忽略系数.随机变量的平方和遵循卡方分布,因此得到相应的95百分位数,他使用倒数卡方函数,dof 2,因为有两个变量.
最后,将比例常数乘以背后的基本原理是,对于A具有特征a1,...,an值的方阵kA,矩阵的特征值,其中k标量是简单的ka1,...,kan.特征值给出椭圆的长轴/短轴的相应长度,因此将椭圆或特征值缩放到95%瓦片相当于将协方差矩阵与比例因子相乘.
编辑
郑,虽然你可能已经知道这一点,但我建议你也读一下关于随机性问题的答案.考虑具有零均值,单位方差的高斯随机变量.这些随机变量的集合的PDF看起来像这样

现在,如果我要采用两个这样的随机变量集合,将它们分开放置并添加它们以形成一个新的随机变量的单个集合,它的分布看起来像这样

这是具有2个自由度的卡方分布(因为我们添加了两个集合).
在上面的代码中的椭圆的方程式可写为x^2/a^2 +y^2/b^2=k,其中x,y是两个随机变量,a并且b是主要的/短轴,和k是一些比例常数,我们需要弄清楚.正如您所看到的,上面可以解释为平方并添加两个高斯随机变量集合,我们刚才看到它的分布是什么样的.所以,我们可以说这k是一个随机变量,卡方分布为2自由度.
现在需要做的就是找到一个值,k使95%的数据在其中.就像1s.d,2s.d,3s.d.我们熟悉高斯人的百分位数,对于具有2个自由度的卡方的95%瓦片大约是6.18.这就是Amro从chi2inv功能中获得的.他本来可以写得很好scale=chi2inv(0.95,2),也会一样.只是说n远离平均值的sd是直观的.
只是为了说明,这里是上面卡方分布的PDF,95%的面积<一些x用红色阴影.这x是~6.18.

希望这有帮助.