CovRatio)Delete-1 изменение ковариации (CovRatio) идентифицирует наблюдения, которые оказывают влияние на регрессионную подгонку. Влиятельное наблюдение - это то, где его исключение из модели может значительно изменить функцию регрессии. Значения CovRatio больше 1 + 3 * p/n или меньше 1 - 3 * p/n указывают влиятельные точки, где p - число коэффициентов регрессии, а n - число наблюдений.
CovRatio statistic - отношение определителя ковариационной матрицы коэффициента с наблюдением i, удаленным к определителю ковариационной матрицы для полной модели:
[MSE (X′X) − 1].
CovRatio является вектором n-by-1 в Diagnostics таблица установленного LinearModel объект. Каждый элемент является отношением обобщенной дисперсии оцененных коэффициентов, когда соответствующий элемент удаляется, к обобщенной дисперсии коэффициентов, используя все данные.
После получения подогнанной модели, скажем, mdl, использование fitlm или stepwiselm, вы можете:
Отображение CovRatio индексированием в свойство с использованием точечной нотации
mdl.Diagnostics.CovRatio
Постройте график изменения ковариации delete-1 с помощью
plotDiagnostics(mdl,'CovRatio')
plotDiagnostics способ LinearModel класс.
CovRatioВ этом примере показано, как использовать CovRatio статистика для определения влиятельных точек в данных. Загрузите данные выборки и определите переменные ответа и предиктора.
load hospital
y = hospital.BloodPressure(:,1);
X = double(hospital(:,2:5));Подгонка модели линейной регрессии.
mdl = fitlm(X,y);
Постройте график CovRatio статистика.
plotDiagnostics(mdl,'CovRatio')
В этом примере пороговые пределы равны 1 + 3 * 5/100 = 1,15 и 1 - 3 * 5/100 = 0,85. Есть несколько точек за пределами, которые могут быть влиятельными точками.
Найдите наблюдения, которые находятся за пределами.
find((mdl.Diagnostics.CovRatio)>1.15|(mdl.Diagnostics.CovRatio)<0.85)
ans = 5×1
2
14
84
93
96
Dfbetas)Признак масштабированной разницы в оценке коэффициента при удалении-1 (Dfbetas) для коэффициента j и наблюдения i указывает, вызывает ли это наблюдение увеличение или уменьшение оценки коэффициента регрессии. Абсолютное значение Dfbetas показывает величину разности относительно оцененного стандартного отклонения коэффициента регрессии. A Dfbetas значение больше 3/sqrt (n) в абсолютном значении указывает, что наблюдение оказывает большое влияние на соответствующий коэффициент.
Dfbetas для коэффициента j и наблюдения i - отношение разности в оценке коэффициента j, использующей все наблюдения и полученную удалением наблюдения i, и стандартной погрешности оценки коэффициента, полученной удалением наблюдения i. Dfbetas для коэффициента j и наблюдения i равно
(1 − hii),
где bj - оценка для коэффициента j, bj (i) - оценка для коэффициента j путем удаления наблюдения i, MSE (i) - среднеквадратичная ошибка аппроксимации регрессии путем удаления наблюдения i, и hii - значение рычага для наблюдения i.Dfbetas является матрицей n-by-p в Diagnostics таблица установленного LinearModel объект. Каждая ячейка Dfbetas соответствует Dfbetas значение соответствующего коэффициента, полученное удалением соответствующего наблюдения.
После получения подогнанной модели, скажем, mdl, использование fitlm или stepwiselm, вы можете получить Dfbetas значения в виде матрицы n-by-p путем индексирования в свойство с использованием точечной нотации,
mdl.Diagnostics.Dfbetas
DfbetasВ этом примере показано, как определить наблюдения, которые оказывают большое влияние на коэффициенты с помощью Dfbetas. Загрузите образцы данных и определите ответ и независимые переменные.
load hospital
y = hospital.BloodPressure(:,1);
X = double(hospital(:,2:5));Подгонка модели линейной регрессии.
mdl = fitlm(X,y);
Найти Dfbetas значения, которые являются высокими по абсолютному значению.
[row,col] = find(abs(mdl.Diagnostics.Dfbetas)>3/sqrt(100)); disp([row col])
2 1
28 1
84 1
93 1
2 2
13 3
84 3
2 4
84 4
Dffits)Изменение масштабированных значений для удаления-1 (Dffits) показать влияние каждого наблюдения на соответствующие значения ответа. Dffits значения с абсолютным значением больше 2 * sqrt (p/n) могут быть влиятельными.
Dffits для наблюдения i является
hii,
где sri
- изученный остаток, а hii - значение рычага LinearModel объект. Dffits является вектором столбца n-by-1 в Diagnostics таблица установленного LinearModel объект. Каждый элемент в Dffits - изменение установленного значения, вызванное удалением соответствующего наблюдения и масштабирования по стандартной ошибке.
После получения подогнанной модели, скажем, mdl, использование fitlm или stepwiselm, вы можете:
Отображение Dffits значения путем индексирования в свойство с использованием точечной нотации
mdl.Diagnostics.Dffits
Постройте график изменения масштаба delete-1 в соответствующих значениях с помощью
plotDiagnostics(mdl,'Dffits')
plotDiagnostics способ LinearModel для получения подробной информации.
DffitsВ этом примере показано, как определить наблюдения, влияющие на соответствующие значения ответа, с помощью Dffits значения. Загрузите образцы данных и определите ответ и независимые переменные.
load hospital
y = hospital.BloodPressure(:,1);
X = double(hospital(:,2:5));Подгонка модели линейной регрессии.
mdl = fitlm(X,y);
Постройте график Dffits значения.
plotDiagnostics(mdl,'Dffits')
Предел влияния для абсолютного значения Dffits в этом примере 2 * sqrt (5/100) = 0,45. Опять же, есть некоторые наблюдения сDffits значения, выходящие за рекомендуемые пределы.
Найти Dffits значения, которые являются большими в абсолютном значении.
find(abs(mdl.Diagnostics.Dffits)>2*sqrt(4/100))
ans = 10×1
2
13
28
44
58
70
71
84
93
95
S2_i)Отклонение удаления-1 (S2_i) показывает, как изменяется средняя квадратичная ошибка при удалении наблюдения из набора данных. Вы можете сравнить S2_i значения со значением среднеквадратичной ошибки.
S2_i представляет собой набор оценок остаточной дисперсии, полученных путем поочередного удаления каждого наблюдения. S2_i значение для наблюдения i равно
− p − 1,
где yj - j-е наблюдаемое значение ответа. S2_i является вектором n-by-1 в Diagnostics таблица установленного LinearModel объект. Каждый элемент в S2_i - среднеквадратичная ошибка регрессии, полученная при удалении этого наблюдения.
После получения подогнанной модели, скажем, mdl, использование fitlm или stepwiselm, вы можете:
Отображение S2_i вектор путем индексирования в свойство с использованием точечной нотации
mdl.Diagnostics.S2_i
Постройте график значений отклонений delete-1 с помощью
plotDiagnostics(mdl,'S2_i')
plotDiagnostics способ LinearModel класс.
В этом примере показано, как вычислять и выводить на график значения S2_i для проверки изменения среднеквадратичной ошибки при удалении наблюдения из данных. Загрузите образцы данных и определите ответ и независимые переменные.
load hospital
y = hospital.BloodPressure(:,1);
X = double(hospital(:,2:5));Подгонка модели линейной регрессии.
mdl = fitlm(X,y);
Отображение значения MSE для модели.
mdl.MSE
ans = 23.1140
Постройте график S2_i значений.
plotDiagnostics(mdl,'S2_i')
Этот график позволяет легко сравнивать S2_i значения со значением MSE 23.114, обозначенным горизонтальными пунктирными линиями. Можно увидеть, как удаление одного наблюдения изменяет расхождение ошибок.
fitlm | LinearModel | plotDiagnostics | plotResiduals | stepwiselm