Остаточные значения полезны для обнаружения отдаленных значений y и проверки предположений линейной регрессии относительно остаточного члена в модели регрессии. Наблюдения высоких рычагов имеют меньшие остаточные значения, потому что они часто переключают линию регрессии или поверхность ближе им. Можно также использовать остаточные значения, чтобы обнаружить некоторые формы heteroscedasticity и автокорреляции.
Residuals
матрицей является n-by-4 таблица, содержащая четыре типа остаточных значений с одной строкой для каждого наблюдения.
Наблюдаемый минус подходящие значения, то есть,
Необработанные остаточные значения, разделенные полностью среднеквадратическая ошибка, то есть,
где r, i является необработанной невязкой и MSE, является среднеквадратической ошибкой.
Стандартизированные остаточные значения являются необработанными остаточными значениями, разделенными на их предполагаемое стандартное отклонение. Стандартизированная невязка для наблюдения i
где MSE является среднеквадратической ошибкой и h, ii является значением рычагов для наблюдения i.
Остаточные значения Studentized являются необработанными остаточными значениями, разделенными на независимую оценку остаточного стандартного отклонения. Невязка для наблюдения i разделена на оценку ошибочного стандартного отклонения на основе всех наблюдений за исключением наблюдения i.
где MSE (i) является среднеквадратической ошибкой подгонки регрессии, вычисленной путем удаления наблюдения i и h, ii является значением рычагов для наблюдения i. studentized остаточный sr i имеет t - распределение с n – p – 1 степень свободы.
После получения подобранной модели, скажем, mdl
, использование fitlm
или stepwiselm
, вы можете:
Найдите Residuals
таблица под mdl
объект.
Получите любой из этих столбцов как вектор путем индексации в свойство с помощью записи через точку, например,
mdl.Residuals.Raw
Постройте любое из остаточных значений для значений, адаптированных вашим использованием модели
plotResiduals(mdl)
plotResiduals
метод LinearModel
класс.
В этом примере показано, как оценить предположения модели путем исследования остаточных значений подбиравшей модели линейной регрессии.
Загрузите выборочные данные и сохраните независимые переменные и переменные отклика в таблице.
load imports-85 tbl = table(X(:,7),X(:,8),X(:,9),X(:,15),'VariableNames',... {'curb_weight','engine_size','bore','price'});
Подбирайте модель линейной регрессии.
mdl = fitlm(tbl)
mdl = Linear regression model: price ~ 1 + curb_weight + engine_size + bore Estimated Coefficients: Estimate SE tStat pValue __________ _________ _______ __________ (Intercept) 64.095 3.703 17.309 2.0481e-41 curb_weight -0.0086681 0.0011025 -7.8623 2.42e-13 engine_size -0.015806 0.013255 -1.1925 0.23452 bore -2.6998 1.3489 -2.0015 0.046711 Number of observations: 201, Error degrees of freedom: 197 Root Mean Squared Error: 3.95 R-squared: 0.674, Adjusted R-Squared: 0.669 F-statistic vs. constant model: 136, p-value = 1.14e-47
Постройте гистограмму необработанных остаточных значений.
plotResiduals(mdl)
Гистограмма показывает, что остаточные значения немного правильные скошенный.
Постройте диаграмму всех четырех типов остаточных значений.
Res = table2array(mdl.Residuals); boxplot(Res)
Вы видите скошенную правом структуру остаточных значений в диаграмме также.
Постройте график нормального распределения необработанных остаточных значений.
plotResiduals(mdl,'probability')
Этот график нормального распределения также показывает отклонение от нормальности и скошенности на правом хвосте распределения остаточных значений.
Постройте остаточные значения по сравнению с изолированными остаточными значениями.
plotResiduals(mdl,'lagged')
Этот график показывает тренд, который указывает на возможную корреляцию среди остаточных значений. Можно далее проверять это использование dwtest(mdl)
. Последовательная корреляция среди остаточных значений обычно означает, что модель может быть улучшена.
Постройте график симметрии остаточных значений.
plotResiduals(mdl,'symmetry')
Этот график также предполагает, что остаточные значения не распределяются одинаково вокруг их медианы, как ожидался бы для нормального распределения.
Постройте остаточные значения по сравнению с подходящими значениями.
plotResiduals(mdl,'fitted')
Увеличение отклонения как подходящее увеличение значений предлагает возможный heteroscedasticity.
[1] Аткинсон, A. T. Графики, преобразования и регрессия. Введение в графические методы диагностического регрессионного анализа. Нью-Йорк: Оксфорд статистический научный ряд, издательство Оксфордского университета, 1987.
[2] Neter, J., М. Х. Катнер, К. Дж. Нахцхайм и В. Вассерман. Прикладные линейные статистические модели. IRWIN, McGraw-Hill Companies, Inc., 1996.
[3] Белсли, D. A. Э. Кух и Р. Э. Велш. Диагностика регрессии, идентифицируя влиятельные данные и источники коллинеарности. Ряд Вайли в вероятности и математической статистике, John Wiley and Sons, Inc., 1980.
dwtest
| fitlm
| LinearModel
| plotDiagnostics
| plotResiduals
| stepwiselm