Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

Eliminar valores atípicos

Eliminar valores atípicos de manera interactiva

Para eliminar valores atípicos en la app Curve Fitting, siga estos pasos:

  1. Seleccione Tools > Exclude Outliers o haga clic en el botón de la barra de herramientas.

    Cuando pase el cursor del ratón sobre la gráfica, este adoptará la forma de un retículo para indicarle que está en el modo de selección de valores atípicos.

  2. Haga clic en un punto que desee excluir de la gráfica principal o de la de valores residuales. O bien haga clic y arrastre para definir un rectángulo con el que rodear todos los puntos que quiere eliminar.

    Los puntos de la gráfica eliminados se convierten en cruces rojas. Si ha seleccionado Auto-fit, la app Curve Fitting reajusta la superficie sin el punto. De lo contrario, haga clic en Fit para reajustarla.

  3. Repita el proceso para todos los puntos que desee excluir.

Cuando elimine los valores atípicos de un ajuste de superficie, puede que le resulte útil mostrar una gráfica bidimensional de valores residuales para examinar y eliminar los valores atípicos. Con el cursor de la gráfica en modo de rotación, haga clic con el botón secundario sobre la gráfica para seleccionar la vista X-Y, X-Z o Y-Z.

Para sustituir puntos individuales excluidos del ajuste, haga clic de nuevo en el punto excluido en modo Exclude Outliers. Para sustituir todos los puntos excluidos del ajuste, haga clic con el botón secundario y seleccione Clear all exclusions.

En las gráficas de superficie, para volver al modo de rotación, haga clic de nuevo en el botón Exclude outliers de la barra de herramientas para desactivar el modo de selección de valores atípicos.

Excluir rangos de datos

Para excluir secciones de datos en la app Curve Fitting, siga estos pasos:

  1. Seleccione Tools > Exclude By Rule.

  2. Especifique los datos que quiere excluir. Introduzca un número en cualquiera de los cuadros para definir el principio o el fin de los intervalos que quiere excluir en los datos de X, Y y Z.

  3. Pulse Enter para aplicar la regla de exclusión.

    La app Curve Fitting mostrará los rangos excluidos en la gráfica como zonas sombreadas en color rosa. Los puntos excluidos aparecerán en color rojo.

Eliminar valores atípicos de manera programática

Este ejemplo muestra cómo eliminar valores atípicos de forma programática durante el ajuste de curvas, mediante el argumento Exclude de par nombre-valor con las funciones fit o fitoptions. Puede representar los datos excluidos proporcionando un argumento Exclude o de valores atípicos con la función plot.

Excluir datos con una regla sencilla

Para ver un ejemplo sencillo, cargue los datos y ajuste un modelo de Gauss, excluyendo algunos datos con una expresión; represente el ajuste, los datos y los puntos excluidos.

[x, y] = titanium;
f1 = fit(x',y','gauss2', 'Exclude', x<800);
plot(f1,x,y,x<800)

Excluir datos por distancia al modelo

Puede que le resulte útil excluir valores atípicos por la distancia al modelo usando desviaciones estándar. El siguiente ejemplo muestra cómo identificar los valores atípicos a una distancia mayor que 1,5 veces la desviación estándar del modelo, y hace una comparación con un ajuste robusto que pondera menos los valores atípicos.

Cree una señal sinusoidal de referencia:

xdata = (0:0.1:2*pi)'; 
y0 = sin(xdata);

Añada ruido a la señal con varianza no constante:

% Response-dependent Gaussian noise
gnoise = y0.*randn(size(y0));

% Salt-and-pepper noise
spnoise = zeros(size(y0)); 
p = randperm(length(y0));
sppoints = p(1:round(length(p)/5));
spnoise(sppoints) = 5*sign(y0(sppoints));

ydata = y0 + gnoise + spnoise;

Ajuste los datos ruidosos con un modelo sinusoidal de referencia:

f = fittype('a*sin(b*x)'); 
fit1 = fit(xdata,ydata,f,'StartPoint',[1 1]);

Identifique los valores atípicos como aquellos puntos que se encuentran a una distancia mayor que 1,5 veces la desviación estándar del modelo de referencia y reajuste los datos excluyendo los valores atípicos:

fdata = feval(fit1,xdata); 
I = abs(fdata - ydata) > 1.5*std(ydata); 
outliers = excludedata(xdata,ydata,'indices',I);

fit2 = fit(xdata,ydata,f,'StartPoint',[1 1],...
           'Exclude',outliers);

Compare el efecto de excluir los valores atípicos con el efecto de darles una ponderación bicuadrada menor en un ajuste robusto:

fit3 = fit(xdata,ydata,f,'StartPoint',[1 1],'Robust','on');

Represente los datos, los valores atípicos y los resultados de los ajustes:

plot(fit1,'r-',xdata,ydata,'k.',outliers,'m*') 
hold on
plot(fit2,'c--')
plot(fit3,'b:')
xlim([0 2*pi])

Consulte también

|

Temas relacionados