Удаление выбросов

Интерактивное удаление выбросов

Чтобы удалить выбросы в приложении Аппроксимирование Кривыми, выполните следующие шаги:

  1. Выберите Tools > Exclude Outliers или нажмите кнопку на панели инструментов.

    Когда вы перемещаете курсор мыши к графику, он меняется на перекрестие, чтобы показать, что вы находитесь в выбросах режиме выбора.

  2. Щелкните точку, которую вы хотите исключить на главном графике или графике невязок. Кроме того, щелкните и перетащите мышью, чтобы задать прямоугольник и удалить все закрытые точки.

    Удаленная точка графика становится красным крестом на графиках. Если вы Auto-fit выбрали, приложение Аппроксимирование Кривыми привязывает поверхность без точки. В противном случае можно щелкнуть Fit, чтобы обновить.

  3. Повторите для всех точек, которые вы хотите исключить.

При удалении выбросов из поверхностных подгонок может быть полезно отобразить 2-D график невязок для исследования и удаления выбросов. Удерживая курсор на графике в режиме поворота, щелкните правой кнопкой мыши график, чтобы выбрать X-Y, X-Z или Y-Z вид.

Чтобы заменить отдельные исключенные точки на подгонке, снова щелкните исключенную точку в Exclude Outliers режиме. Чтобы заменить все исключенные точки в подгонке, щелкните правой кнопкой мыши и выберите Clear all exclusions.

На объемных поверхностных диаграммах, чтобы вернуться в режим поворота, снова нажмите кнопку на Exclude outliers панели инструментов, чтобы выключить режим выбора выбросов.

Исключение областей значений данных

Чтобы исключить разделы данных по областям значений в приложении Аппроксимирование Кривыми, выполните следующие шаги:

  1. Выберите Tools > Exclude By Rule.

  2. Укажите данные для исключения. Введите числа в любом из полей, чтобы задать начальные или конечные интервалы для исключения из данных X, Y или Z.

  3. Нажмите Enter, чтобы применить правило исключения.

    Приложение Аппроксимирование Кривыми отображает заштрихованные розовые области на графиках, чтобы показать исключённые области значений. Исключенные точки становятся красными.

Удалите выбросы программно

В этом примере показано, как удалить выбросы при программном аппроксимировании кривыми, используя аргумент пары имя/значение 'Exclude' с функциями fit или fitoptions. Можно построить график исключенных данных, предоставив аргумент Exclude или выбросы с функцией построения графика.

Исключить данные с помощью простого правила

В простом примере загружайте данные и подгоняйте Гауссов, исключая некоторые данные с выражением, затем постройте график подгонки, данных и исключенных точек.

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

Figure contains an axes. The axes contains 3 objects of type line. These objects represent data, excluded data, fitted curve.

Исключить данные по расстоянию из модели

Может быть полезным исключить выбросы по расстоянию от модели, используя стандартные отклонения. Следующий пример показывает, как идентифицировать выбросы, используя расстояние, больше 1,5 стандартных отклонений от модели, и сравнивает с устойчивой подгонкой, которая дает меньший вес выбросам.

Создайте базовый синусоидальный сигнал:

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

Добавьте шум к сигналу с непостоянным отклонением:

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

Подгонка зашумленных данных с базовой синусоидальной моделью:

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

Идентифицируйте «выбросы» как точки на расстоянии, больше 1,5 стандартных отклонений от базовой модели, и обновляйте данные с исключенными выбросами:

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

Сравните эффект исключения выбросов с эффектом придания им меньшего веса bisquare в устойчивой подгонке:

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

Постройте график данных, выбросов и результатов подгонки:

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

Figure contains an axes. The axes contains 5 objects of type line. These objects represent data, excluded data, fitted curve.

См. также

|

Похожие темы