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 incoherentes

Al examinar un trazado de datos, es posible que algunos puntos parezcan diferir drásticamente del resto de los datos. En algunos casos, es razonable considerar estos puntos, o valores de datos que parecen ser incompatibles con el resto de los datos.outliers

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 es más de tres desviaciones estándar lejos 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 un punto de este tipo conduce a una nueva desviación estándar más pequeña, que podría resultar en la realización de algunos puntos restantes parecen ser Outliers!

% 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) 

La ventana de comandos muestra

mu =        32.0000   46.5417   65.5833  sigma =        25.3703   41.4057   68.0281 

Cuando se considera que una de las desviaciones estándar es más de tres, utilice la siguiente sintaxis para determinar el número de valores atípicos en cada columna de la matriz:outliercount

[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 y ninguno en las otras dos columnas.count

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

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

Aquí, devuelve un cuando cualquiera de los elementos en el vector son distintos de cero.any(outliers,2)1outliers El argumento especifica que funciona en la segunda dimensión de la matriz de recuento, sus columnas.2any