exponenta event banner

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

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

Цель

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

Определение

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

CovRatio = det {MSE (i) [X (i) X (i)] 1} det [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')

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. Dfbetas для коэффициента j и наблюдения i равно

Dfbetasij = bj bj (i) MSE (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

Delete-1 Масштабированное изменение установленных значений (Dffits)

Цель

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

Определение

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

Dffitsi = srihii1 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')

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)

Цель

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

Определение

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

S2_i=MSE (i) =∑j≠in[yj−y^j (i)] 2n − 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 класс.

Вычисление и проверка значений отклонений 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, обозначенным горизонтальными пунктирными линиями. Можно увидеть, как удаление одного наблюдения изменяет расхождение ошибок.

См. также

| | | |

Связанные темы