Удалите 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')

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

Определение

Дфбеты для коэффициента j и наблюдение i являются отношением различия в оценке коэффициента j с помощью всех наблюдений и того, полученного путем удаления наблюдения i и стандартная погрешность содействующей оценки, полученной путем удаления наблюдения i. Дфбеты для коэффициента 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')

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

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

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

| | | |

Похожие темы