Eliminar valores atípicos
Eliminar valores atípicos de manera interactiva
Para eliminar valores atípicos en la app Curve Fitter, siga estos pasos:
En la barra de herramientas de los ejes de la gráfica, haga clic en el botón Exclude outliers .
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.
Haga clic en un punto que desee excluir de la gráfica de ajustes o 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 el ajuste Auto en la sección Fit de la pestaña Curve Fitter, la app Curve Fitter reajusta la superficie sin el punto. De lo contrario, si ha seleccionado el ajuste Manual, puede hacer clic en Fit para reajustarla.
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 Go to X-Y view, Go to X-Z view o Go to Y-Z view.
Para sustituir puntos individuales excluidos del ajuste, haga clic de nuevo en el punto excluido en el modo de selección de valores atípicos (es decir, con el botón Exclude outliers activado en la barra de herramientas de los ejes). 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 para desactivar el modo de selección de valores atípicos.
Excluir rangos de datos
Para excluir secciones de datos por rango en la app Curve Fitter, siga estos pasos:
En la pestaña Curve Fitter, en la sección Data, haga clic en Exclusion Rules.
En el cuadro de diálogo Exclusion rules, especifique los datos que quiera 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.
La app Curve Fitter 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 una distribución gaussiana, excluyendo algunos datos con una expresión. A continuació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 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])