robustfit

Устойчивая регрессия

Синтаксис

b = robustfit(X,y)
b = robustfit(X,y,wfun,tune)
b = robustfit(X,y,wfun,tune,const)
[b,stats] = robustfit(...)

Описание

b = robustfit(X,y) возвращается (p + 1)-by-1 векторный b из коэффициента оценивает для устойчивой полилинейной регрессии ответов в y на предикторах в XX n-by-p матрица p предикторов при каждом из n наблюдений. y n-1 вектор наблюдаемых ответов. По умолчанию алгоритм использует итеративно повторно взвешенные наименьшие квадраты с bisquare функцией взвешивания.

Примечание

По умолчанию, robustfit добавляет первый столбец 1 с к X, соответствие постоянному члену в модели. Не вводите столбец 1 с непосредственно в X. Можно изменить поведение по умолчанию robustfit использование входа const, ниже.

robustfit обработки NaNs в X или y как отсутствующие значения, и удаляет их.

b = robustfit(X,y,wfun,tune) задает функцию взвешивания wfun. tune настройка, постоянная, который разделен на вектор невязок перед вычислительными весами.

Функция взвешивания wfun одно из значений, описанных в этой таблице. Значением по умолчанию является 'bisquare'.

Функция весаОписаниеЗначение по умолчанию, настраивающееся постоянный
'andrews'w = (abs(r)<pi) .* sin(r) ./ r1.339
'bisquare'w = (abs(r)<1) .* (1 - r.^2).^2 (также названный biweight)4.685
'cauchy'w = 1 ./ (1 + r.^2)2.385
'fair'w = 1 ./ (1 + abs(r))1.400
'huber'w = 1 ./ max(1, abs(r))1.345
'logistic'w = tanh(r) ./ r1.205
'ols'Обычные наименьшие квадраты (никакая функция взвешивания)'none'
'talwar'w = 1 * (abs(r)<1)2.795
'welsch'w = exp(-(r.^2))2.985
указатель на функциюПользовательская функция веса, которая принимает векторный r из масштабированных остаточных значений, и возвращает вектор весов тот же размер как r1

Если tune не задано, robustfit использует настраивающее значение значения по умолчанию, показанное в таблице. Настраивающие константы значения по умолчанию встроенных функций веса дают содействующие оценки, которые приблизительно на 95% более статистически эффективны, чем обычные оценки наименьших квадратов, если ответ имеет нормальное распределение без выбросов. Уменьшение настраивающихся постоянных увеличений подавление присвоенного к большим остаточным значениям; увеличение настраивающихся постоянных уменьшений подавление присвоенного к большим остаточным значениям.

Значение r в весе функции

r = resid/(tune*s*sqrt(1-h))

где resid вектор остаточных значений предыдущей итерации, h вектор значений рычагов от подгонки наименьших квадратов и s оценка стандартного отклонения остаточного члена, данного

s = MAD/0.6745

Здесь MAD среднее абсолютное отклонение остаточных значений их медианы. Постоянные 0.6745 делают оценку несмещенной для нормального распределения. Если существуют p столбцы в X, самые маленькие p абсолютные отклонения исключены при вычислении медианы.

b = robustfit(X,y,wfun,tune,const) средства управления, будет ли модель включать постоянный термин. const 'on' включать постоянный термин (значение по умолчанию), или 'off' не использовать его. Когда const 'on', robustfit добавляет первый столбец 1 с к X и b становится (p + 1)-by-1 вектор. Когда const 'off', robustfit не изменяет X, затем b p-by-1 вектор.

[b,stats] = robustfit(...) возвращает структуру stats, чьи поля содержат диагностическую статистику от регрессии. Поля stats :

  • ols_s — Оценка сигмы (RMSE) от обычных наименьших квадратов

  • robust_s — Устойчивая оценка сигмы

  • mad_s — Оценка сигмы, вычисленной с помощью среднего абсолютного отклонения остаточных значений их медианы; используемый в масштабировании остаточных значений во время итеративного подбора кривой

  • s — Итоговая оценка сигмы, больший из robust_s и взвешенное среднее ols_s и robust_s

  • resid — Невязка

  • rstud — Невязка Studentized (см. regress для получения дополнительной информации

  • se — Стандартная погрешность содействующих оценок

  • covb — Предполагаемая ковариационная матрица для содействующих оценок

  • coeffcorr — Предполагаемая корреляция содействующих оценок

  • t — Отношение b к se

  • pp-значения для t

  • w — Вектор весов для устойчивой подгонки

  • RR включают разложение QR X

  • dfe — Степени свободы для ошибки

  • h — Вектор значений рычагов для подгонки наименьших квадратов

robustfit функционируйте оценивает ковариационную матрицу отклонения содействующих оценок с помощью inv(X'*X)*stats.s^2. Стандартные погрешности и корреляции выведены из этой оценки.

Примеры

свернуть все

Сгенерируйте данные с трендом y = 10 - 2* x, затем измените одно значение, чтобы симулировать выброс.

x = (1:10)';
rng default; % For reproducibility
y = 10 - 2*x + randn(10,1);
y(10) = 0;

Соответствуйте прямой линии с помощью обычной регрессии наименьших квадратов.

bls = regress(y,[ones(10,1) x])
bls = 2×1

    7.8518
   -1.3644

Теперь используйте устойчивую регрессию, чтобы оценить прямолинейную подгонку.

brob = robustfit(x,y)
brob = 2×1

    8.4504
   -1.5278

Создайте график рассеивания данных вместе с подгонками.

scatter(x,y,'filled'); grid on; hold on
plot(x,bls(1)+bls(2)*x,'r','LineWidth',2);
plot(x,brob(1)+brob(2)*x,'g','LineWidth',2)
legend('Data','Ordinary Least Squares','Robust Regression')

Устойчивая подгонка меньше под влиянием выброса, чем подгонка наименьших квадратов.

Ссылки

[1] DuMouchel, W. H. и Ф. Л. О'Брайен. “Интегрируя Устойчивую Опцию в Вычислительную среду Регрессии кратного”. Информатика и Статистика: Продолжения 21-го Симпозиума по Интерфейсу. Александрия, ВА: американская Статистическая Ассоциация, 1989.

[2] Голландия, P. W. и Р. Э. Велш. “Устойчивая Регрессия Используя Итеративно Перевзвешенные Наименьшие квадраты”. Коммуникации в Статистике: Теория и Методы, A6, 1977, стр 813–827.

[3] Хубер, P. J. Устойчивая статистика. Хобокен, NJ: John Wiley & Sons, Inc., 1981.

[4] Улица, J. O. Р. Дж. Кэрролл и Д. Рапперт. “Примечание по Вычислению Устойчивых Оценок Регрессии через Итеративно Перевзвешенные Наименьшие квадраты”. Американский Статистик. Издание 42, 1988, стр 152–154.

Смотрите также

|

Представлено до R2006a