当您检查数据图时,您可能会发现有些点与其他数据明显不同。在某些情况下,考虑这些要点是合理的离群值,或看似与其余数据不一致的数据值。
下面的示例演示了如何从24 × 3矩阵中的三个数据集中去除离群值数
.在这种情况下,离均值超过三个标准差的值被定义为离均值超过三个标准差的值。
在更改数据时要谨慎,除非您确信您理解了要纠正的问题的根源。移除异常值对数据的标准差的影响大于对数据均值的影响。删除一个这样的点会导致一个更小的新标准偏差,这可能会导致一些剩下的点看起来是异常值!
%导入样本数据加载计数。dat;计算矩阵中各数据列的平均值和标准差% mu = mean(count) sigma = std(count)
命令窗口显示
Mu = 32.0000 46.5417 65.5833 sigma = 25.3703 41.4057 68.0281
当一个离群值被认为离均值超过三个标准差时,使用下面的语法来确定数
矩阵:
(氮、磷)=大小(数);通过复制n行mu向量,创建一个均值矩阵通过复制n行sigma向量创建一个标准差值矩阵创建一个0和1的矩阵,其中1表示%离群值的位置离群值= abs(count - MeanMat) > 3*SigmaMat;%计算每列中离群值的数量nout = sum(离群值)
该过程在每一列返回以下离群值数目:
Nout = 1 0
的第一个数据列中有一个异常值数
其他两列都没有。
要删除包含离群值的整行数据,请键入
数(任何(异常值,2 ),:) = [];
在这里,任何(异常值,2)
返回一个1
中的任何元素离群值
非零向量。这个论点2
指定任何
向下计算计数矩阵的第二个维度——它的列。