Main Content

Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Datos inconsistentes

Al examinar una gráfica de datos, es posible que algunos puntos parezcan diferir drásticamente del resto de los datos. En algunos casos, es razonable considerar tales puntos atípicos o valores de datos que parecen ser inconsistentes con el resto de datos.

En el ejemplo siguiente se muestra cómo eliminar valores atípicos de tres conjuntos de datos en la matriz de 24 por 3 count. En este caso, un valor atípico se define como un valor que está a más de tres desviaciones estándar de la media.

Precaución

Tenga cuidado al cambiar los datos a menos que esté seguro de que entiende el origen del problema que desea corregir. La eliminación de un valor atípico tiene un efecto mayor en la desviación estándar que en la media de los datos. La eliminación de uno de estos puntos conduce a una nueva desviación estándar más pequeña, lo que podría resultar en que algunos puntos restantes parezcan ser valores atípicos.

% Import the sample data
load count.dat;
% Calculate the mean and the standard deviation
% of each data column in the matrix
mu = mean(count)
sigma = std(count)

Se muestra la ventana de comandos

mu =
       32.0000   46.5417   65.5833

sigma =
       25.3703   41.4057   68.0281

Cuando se considera que un valor atípico está a más de tres desviaciones estándar de la media, utilice la siguiente sintaxis para determinar el número de valores atípicos en cada columna de la matriz count:

[n,p] = size(count);
% Create a matrix of mean values by
% replicating the mu vector for n rows
MeanMat = repmat(mu,n,1);
% Create a matrix of standard deviation values by
% replicating the sigma vector for n rows
SigmaMat = repmat(sigma,n,1);
% Create a matrix of zeros and ones, where ones indicate
% the location of outliers
outliers = abs(count - MeanMat) > 3*SigmaMat;
% Calculate the number of outliers in each column
nout = sum(outliers) 

El procedimiento devuelve el siguiente número de valores atípicos en cada columna:

nout =
       1    0    0

Hay un valor atípico en la primera columna de datos de count y ninguno en las otras dos columnas.

Para eliminar una fila completa de datos que contiene el valor atípico, escriba

count(any(outliers,2),:) = [];

Aquí, any(outliers,2) devuelve 1 cuando alguno de los elementos del vector outliers es distinto de cero. El argumento 2 especifica que any trabaja con la segunda dimensión de la matriz de cuenta: sus columnas.