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