CovRatio)Delete-1 изменение ковариации (CovRatio) определяет наблюдения, которые влиятельны в регрессионной подгонке. Влиятельное наблюдение является таким, где его исключение из модели может значительно изменить регрессионую функцию. Значения CovRatio больше 1 + 3 * p/ n или меньше 1 - 3 * p/ n указывают влиятельные точки, где p - количество коэффициентов регрессии, а n - количество наблюдений.
The CovRatio statistic - отношение определяющего ковариационной матрицы коэффициента с удаленными i наблюдений к определяющему ковариационной матрицы для полной модели:
CovRatio является вектором n -by-1 в Diagnostics таблица установленных LinearModel объект. Каждый элемент является отношением обобщённого отклонения оцененных коэффициентов, когда соответствующий элемент удаляется, к обобщённому отклонению коэффициентов, использующих все данные.
После получения подобранной модели, скажем mdl, использование fitlm или stepwiselm, можно:
Отобразите CovRatio путем индексации в свойство с помощью записи через точку
mdl.Diagnostics.CovRatio
Постройте график изменения удаления-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
)Знак масштабированного различия удаления-1 в оценке коэффициента (Dfbetas) для коэффициента j и i наблюдения указывает, вызывает ли это наблюдение увеличение или уменьшение оценки коэффициента регрессии. Абсолютное значение Dfbetas указывает величину различия относительно предполагаемого стандартного отклонения коэффициента регрессии. A Dfbetas Значение, больше 3/sqrt (n) в абсолютном значении, указывает, что наблюдение оказывает большое влияние на соответствующий коэффициент.
Dfbetas для j коэффициентов и i наблюдения является отношение различия в оценке j коэффициентов с использованием всех наблюдений и полученное удалением i наблюдений и стандартной ошибки оценки коэффициентов, полученной удалением i наблюдений. The Dfbetas для коэффициента j и i наблюдения является
где <reservedrangesplaceholder14> <reservedrangesplaceholder13> - оценка для коэффициента j, <reservedrangesplaceholder11> <reservedrangesplaceholder10> (<reservedrangesplaceholder9>) - оценка для коэффициента j, удаляя наблюдение i, MSE (<reservedrangesplaceholder5>) - среднеквадратическая ошибка подгонки регресса, удаляя наблюдение i, и <reservedrangesplaceholder3> <reservedrangesplaceholder2> - значение рычагов для наблюдения 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 является
где sr i
является исследуемой невязкой, и h ii является значением рычага для установленного 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)Отклонение delete-1 (S2_i) показывает, как изменяется средняя квадратичная невязка, когда наблюдение удаляется из набора данных. Можно сравнить S2_i значения со значением средней квадратичной невязки.
S2_i - набор оценок остаточных отклонений, полученных путем удаления каждого наблюдения в свою очередь. The S2_i значение для i наблюдения
где y j является 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