Delete-1 статистики

Delete-1 изменения в ковариации (CovRatio)

Цель

Delete-1 изменение ковариации (CovRatio) определяет наблюдения, которые влиятельны в регрессионной подгонке. Влиятельное наблюдение является таким, где его исключение из модели может значительно изменить регрессионую функцию. Значения CovRatio больше 1 + 3 * p/ n или меньше 1 - 3 * p/ n указывают влиятельные точки, где p - количество коэффициентов регрессии, а n - количество наблюдений.

Определение

The CovRatio statistic - отношение определяющего ковариационной матрицы коэффициента с удаленными i наблюдений к определяющему ковариационной матрицы для полной модели:

CovRatio=det{MSE(i)[X(i)X(i)]1}det[MSE(XX)1].

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')

Figure contains an axes. The axes with title Case order plot of covariance ratio contains 2 objects of type line. These objects represent Covariance ratio, Reference Line.

В данном примере пороговые пределы 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

Delete-1 масштабное различие в оценках коэффициентов (Dfbetas)

Цель

Знак масштабированного различия удаления-1 в оценке коэффициента (Dfbetas) для коэффициента j и i наблюдения указывает, вызывает ли это наблюдение увеличение или уменьшение оценки коэффициента регрессии. Абсолютное значение Dfbetas указывает величину различия относительно предполагаемого стандартного отклонения коэффициента регрессии. A Dfbetas Значение, больше 3/sqrt (n) в абсолютном значении, указывает, что наблюдение оказывает большое влияние на соответствующий коэффициент.

Определение

Dfbetas для j коэффициентов и i наблюдения является отношение различия в оценке j коэффициентов с использованием всех наблюдений и полученное удалением i наблюдений и стандартной ошибки оценки коэффициентов, полученной удалением i наблюдений. The Dfbetas для коэффициента j и i наблюдения является

Dfbetasij=bjbj(i)MSE(i)(1hii),

где <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

Delete-1 масштабное изменение подобранных значений (Dffits)

Цель

Удаление-1 масштабировало изменение подобранных значений (Dffits) показать влияние каждого наблюдения на установленные значения отклика. Dffits значения с абсолютным значением, большим 2 * sqrt (p/ n), могут быть влиятельными.

Определение

Dffits для наблюдения i является

Dffitsi=srihii1hii,

где 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')

Figure contains an axes. The axes with title Case order plot of scaled change in fit contains 2 objects of type line. These objects represent Scaled change in fit, Reference Line.

Влиятельный пороговый предел для абсолютного значения 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

Delete-1 отклонения (S2_i)

Цель

Отклонение delete-1 (S2_i) показывает, как изменяется средняя квадратичная невязка, когда наблюдение удаляется из набора данных. Можно сравнить S2_i значения со значением средней квадратичной невязки.

Определение

S2_i - набор оценок остаточных отклонений, полученных путем удаления каждого наблюдения в свою очередь. The S2_i значение для i наблюдения

S2_i=MSE(i)=jin[yjy^j(i)]2np1,

где 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 класс.

Вычислите и исследуйте Delete-1 значения отклонения

Этот пример показывает, как вычислить и построить 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')

Figure contains an axes. The axes with title Case order plot of leave-one-out variance contains 2 objects of type line. These objects represent Leave-one-out variance, Mean squared error.

Этот график облегчает сравнение значений S2_i со значением MSE 23.114, обозначенным горизонтальными штриховыми линиями. Можно увидеть, как удаление одного наблюдения меняет отклонение ошибки.

См. также

| | | |

Похожие темы