Удалите 1 статистику

Удалите 1 изменение в ковариации (CovRatio)

Цель

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

Определение

CovRatio статистическая величина является отношением определителя содействующей ковариационной матрицы с наблюдением 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 object. The axes object 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

Удалите 1 масштабированное различие в содействующих оценках (Dfbetas)

Цель

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

Определение

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

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

где b, j является оценкой для коэффициента j, b j (i), является оценкой для коэффициента j путем удаления наблюдения i, MSE (i) является среднеквадратической ошибкой подгонки регрессии путем удаления наблюдения i и h, ii является значением рычагов для наблюдения 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

Удалите 1 масштабированное изменение в подходящих значениях (Dffits)

Цель

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

Определение

Dffits для наблюдения i

Dffitsi=srihii1hii,

где sr, i является studentized невязкой и h ii, является значением рычагов подходящего LinearModel объект. Dffits n-by-1 вектор-столбец в Diagnostics таблица подходящего LinearModel объект. Каждый элемент в Dffits изменение в подходящем значении, вызванном путем удаления соответствующего наблюдения и масштабирования стандартной погрешностью.

Как к

После получения подобранной модели, скажем, mdl, использование fitlm или stepwiselm, вы можете:

  • Отобразите Dffits значения путем индексации в свойство с помощью записи через точку

    mdl.Diagnostics.Dffits

  • Постройте удаление 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 object. The axes object 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

Удалите 1 отклонение (S2_i)

Цель

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

Определение

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

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

где y j является j th наблюдаемое значение отклика. S2_i n-by-1 вектор в Diagnostics таблица подходящего LinearModel объект. Каждый элемент в S2_i среднеквадратическая ошибка регрессии, полученной путем удаления того наблюдения.

Как к

После получения подобранной модели, скажем, mdl, использование fitlm или stepwiselm, вы можете:

  • Отобразите S2_i вектор путем индексации в свойство с помощью записи через точку

    mdl.Diagnostics.S2_i

  • Постройте удаление 1 использования значений отклонения

    plotDiagnostics(mdl,'S2_i')
    Для получения дополнительной информации смотрите plotDiagnostics метод LinearModel класс.

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

Смотрите также

| | | |

Похожие темы