Расстояние Кука

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
м (Ссылки)
 
(23 промежуточные версии не показаны)
Строка 1: Строка 1:
-
'''Расстояние Кука''' (Cook's distance) является широко используемым методом оценки влияния соответствующего наблюдения (элемента выборки) на уравнение регрессии. Эта величина показывает разницу между вычисленными коэффициентами уравнения регрессии и значениями, которые получились бы при исключении соответствующего наблюдения. В адекватной модели все расстояния Кука должны быть примерно одинаковыми; если это не так, то имеются основания считать, что соответствующее наблюдение (или наблюдения) смещает оценки коэффициентов регрессии.
+
'''Расстояние Кука''' (Cook's distance) является широко используемым методом оценки влияния соответствующего наблюдения (элемента выборки) на уравнение [[Регрессия|регрессии]]. Эта величина показывает разницу между вычисленными коэффициентами уравнения регрессии и значениями, которые получились бы при исключении соответствующего наблюдения. В адекватной модели все расстояния Кука должны быть примерно одинаковыми; если это не так, то имеются основания считать, что соответствующее наблюдение (или наблюдения) смещает оценки коэффициентов регрессии.
-
Метод назван в честь американского статистика Р. Деннис Кук , который ввел данное понятие в 1977 году.
+
Метод назван в честь американского ученого [http://users.stat.umn.edu/~rdcook/ Р. Денниса Кука] , который ввел данное понятие в 1977 году.
== Определение ==
== Определение ==
 +
Расстояние Кука оценивает эффект от удаления одного (рассматриваемого) наблюдения и вычисляется по следующей формуле:
-
dg
 
-
=== Альтернативная постановка ===
+
::<tex> D_i = \frac{ \sum_{j=1}^n (\hat Y_j\ - \hat Y_{j(i)})^2 }{p \ \mathrm{MSE}}, </tex>
 +
 
 +
где
 +
 
 +
<tex>\hat Y_j</tex> — предсказание регрессионной модели, построенной по всей выборке, получаемое для <tex>j</tex>-ого наблюдения,
 +
 
 +
<tex>\hat Y_{j(i)}</tex> — предсказание регрессионной модели, построенной по выборке без <tex>i</tex>-ого наблюдения, получаемое для <tex>j</tex>-ого наблюдения,
 +
 
 +
<tex>p</tex> — количество параметров модели,
 +
 
 +
<tex> \mathrm{MSE} </tex> — среднеквадратичная ошибка модели.
 +
 
 +
== Нахождение и удаление выбросов ==
 +
 
 +
Существуют различные подходы к определению выбросов с помощью расстояния Кука.
 +
 
 +
Самый простой способ нахождения это порог <tex> D_i > 1 </tex> <ref name="heij">Cook, R. Dennis; and Weisberg, Sanford (1982); Residuals and influence in regression, New York, NY: Chapman & Hall.</ref>
 +
 
 +
Наиболее распространенной эвристикой считается <tex> D_i > 4/n </tex>, где <tex>n</tex> — количество наблюдений в выборке. <ref name="two"> Bollen, Kenneth A.; and Jackman, Robert W. (1990); Regression diagnostics: An expository treatment of outliers and influential cases , in Fox, John; and Long, J. Scott (eds.); Modern Methods of Data Analysis (pp. 257-91). </ref>
 +
 
 +
== Пример использования ==
 +
[[Изображение:Cook.jpg|280px|thumb|Визуализация наблюдений с помощью расстояния Кука. Красным обозначен уровень 4/n, где n — количество наблюдений (n = 206).]]
 +
 
 +
Рассмотрим задачу по оценке [http://www.machinelearning.ru/wiki/index.php?title=%D0%A1%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_%28%D0%BA%D1%83%D1%80%D1%81_%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B9%2C_%D0%9A.%D0%92.%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D1%86%D0%BE%D0%B2%29/2013#.D0.AD.D1.84.D1.84.D0.B5.D0.BA.D1.82.D0.B8.D0.B2.D0.BD.D0.BE.D1.81.D1.82.D1.8C_.D1.82.D1.80.D0.BE.D0.BC.D0.B1.D0.BE.D0.BB.D0.B8.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.BE.D0.B9_.D1.82.D0.B5.D1.80.D0.B0.D0.BF.D0.B8.D0.B8 эффективность тромболитической терапии]. В данной задаче собраны данные по 206 пациентам второго кардиологического отделения московской городской клинической больницы №25. Имеются результаты 14 анализов, а также 8 дополнительных признаков, описывающих пациента (пол, возраст, курение, наличие диабета и т.д.).
 +
Построив уравнение регрессии и оценив расстояние Кука, мы можем визуализировать наблюдения и определить выбросы.
 +
 
 +
== Реализации ==
 +
 
 +
* MATLAB: В версии 2013b и выше реализован отдельный класс для [http://www.mathworks.com/help/stats/generalizedlinearmodelclass.html обобщенной модели регрессии].
 +
Построив модель с помощью функции [http://www.mathworks.com/help/stats/fitglm.html#outputarg_mdl mdl = fitglm(X, y)], можем оценить для всех наблюдений расстояние Кука с помощью функций класса: mdl.Diagnostics.CooksDistance.
 +
 
 +
* R: в пакете [http://stat.ethz.ch/R-manual/R-patched/library/stats/html/stats-package.html stats] реализован метод для оценки расстояния Кука для уже настроенной модели cooks.distance(model, ...).
 +
 
 +
== Ссылки ==
 +
 
 +
<references />
 +
 
 +
* Cook, R. Dennis (February 1977). [http://www.jstor.org/discover/10.2307/1268249?uid=3738032&uid=2&uid=4&sid=21103080796681 "Detection of Influential Observations in Linear Regression"].
 +
 
 +
* [http://www.mathworks.com/help/stats/generalizedlinearmodelclass.html GeneralizedLinearModel class]. MATLAB R2013b Documentation.
 +
 
[[Категория:Прикладная статистика]]
[[Категория:Прикладная статистика]]
 +
[[Категория:Регрессионный анализ]]

Текущая версия

Расстояние Кука (Cook's distance) является широко используемым методом оценки влияния соответствующего наблюдения (элемента выборки) на уравнение регрессии. Эта величина показывает разницу между вычисленными коэффициентами уравнения регрессии и значениями, которые получились бы при исключении соответствующего наблюдения. В адекватной модели все расстояния Кука должны быть примерно одинаковыми; если это не так, то имеются основания считать, что соответствующее наблюдение (или наблюдения) смещает оценки коэффициентов регрессии.

Метод назван в честь американского ученого Р. Денниса Кука , который ввел данное понятие в 1977 году.

Содержание

Определение

Расстояние Кука оценивает эффект от удаления одного (рассматриваемого) наблюдения и вычисляется по следующей формуле:


 D_i =  \frac{ \sum_{j=1}^n (\hat Y_j\ - \hat Y_{j(i)})^2 }{p \ \mathrm{MSE}},

где

\hat Y_j — предсказание регрессионной модели, построенной по всей выборке, получаемое для j-ого наблюдения,

\hat Y_{j(i)} — предсказание регрессионной модели, построенной по выборке без i-ого наблюдения, получаемое для j-ого наблюдения,

p — количество параметров модели,

 \mathrm{MSE} — среднеквадратичная ошибка модели.

Нахождение и удаление выбросов

Существуют различные подходы к определению выбросов с помощью расстояния Кука.

Самый простой способ нахождения это порог  D_i > 1 [1]

Наиболее распространенной эвристикой считается  D_i > 4/n , где n — количество наблюдений в выборке. [1]

Пример использования

Визуализация наблюдений с помощью расстояния Кука. Красным обозначен уровень 4/n, где n — количество наблюдений (n = 206).
Визуализация наблюдений с помощью расстояния Кука. Красным обозначен уровень 4/n, где n — количество наблюдений (n = 206).

Рассмотрим задачу по оценке эффективность тромболитической терапии. В данной задаче собраны данные по 206 пациентам второго кардиологического отделения московской городской клинической больницы №25. Имеются результаты 14 анализов, а также 8 дополнительных признаков, описывающих пациента (пол, возраст, курение, наличие диабета и т.д.). Построив уравнение регрессии и оценив расстояние Кука, мы можем визуализировать наблюдения и определить выбросы.

Реализации

Построив модель с помощью функции mdl = fitglm(X, y), можем оценить для всех наблюдений расстояние Кука с помощью функций класса: mdl.Diagnostics.CooksDistance.

  • R: в пакете stats реализован метод для оценки расстояния Кука для уже настроенной модели cooks.distance(model, ...).

Ссылки


Личные инструменты