主要内容

数据不一致

检查数据绘图时,您可能会发现某些点似乎从其他数据中略有不同。在某些情况下,考虑这些点是合理的异常值或似乎与其余数据不一致的数据值。

以下示例说明了如何从24×3矩阵中的三个数据集中删除异常值数数。在这种情况下,异常值被定义为远离平均值的三个标准偏差的值。

警告

除非您相信您了解您想要纠正的问题的来源,否则对更改数据持谨慎态度。删除异常值对标准偏差的效果大于数据的平均值。删除一个这样的点导致较小的新标准偏差,这可能导致一些剩余点似乎是异常值!

%导入示例数据加载count.dat;%计算矩阵mu =均值(count)sigma = std(count)中每个数据列的平均值和标准偏差%

命令窗口显示

Mu = 32.0000 46.5417 65.5833 Sigma = 25.3703 41.4057 68.0281

当AN.异常值被认为是超过三个标准偏差远离平均值,使用以下语法来确定每列中的异常值的数量数数矩阵:

[n,p] =大小(计数);%通过%复制MU向量为n行的%创建平均值的矩阵意味着mu = repmat(mu,n,1);%通过%复制n rows sigmamat = Repmat(Sigma,N,1)的ΣVep%的标准偏差值矩阵。%创建零矩阵,其中表示异常值异常值= abs(count  -  meanmat)> 3 * sigmamat;%计算每列Nout = sum(异常值)中的异常值的数量

该过程返回每列中的以下异常值:

nout = 1 0 0

第一个数据列中有一个异常值数数而不是另外两列。

删除包含异常值的整行数据,类型

数(任何(异常值,2),:) = [];

这里,任何(异常值,2)返回A.1当任何元素中异常值矢量是非零。争论2指定任何沿着计数矩阵的第二个维度 - 它的列。