0

我在 MATLAB 中使用“corr”函数时遇到问题,

a =

     1     4     3     2
     2     3     3     2
     3     2     3     2
     4     1     3     2

>> corr(a)

ans =

     1    -1   NaN   NaN
    -1     1   NaN   NaN
   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN

当我手动计算时,缺失值 (NaN) 是因为分母为零 (0)。虽然,我们可以看到第 3 列和第 4 列的相似度为 ONE(+1)。

有人知道如何增强或替换缺失值吗?

谢谢之前。

4

2 回答 2

2

您期望什么,相关性是两个变量之间线性相关性的度量,计算为由标准偏差归一化的协方差(变量一起变化的程度)。

因此,如果一个变量是恒定的(你得到零除以零,零是未定义并报告为 NaN)是没有意义的......

于 2010-12-28T14:29:49.750 回答
0

正如 Amro 所说,corr正在报告未定义的正确答案。如果您想以特殊方式处理未定义,例如设置为 1,您可以这样做:

a(isnan(a)) = 1;

但听起来您的数据存在一些更深层次的问题 - 没有足够的观察?为什么不删除同一系列?

于 2010-12-28T18:32:24.013 回答