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.
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.