Расстояние Кука
Материал из MachineLearning.
 (→Реализации)  | 
			|||
| Строка 35: | Строка 35: | ||
* MATLAB: В версии 2013b и выше реализован отдельный класс для [http://www.mathworks.com/help/stats/generalizedlinearmodelclass.html обобщенной модели регрессии].   | * 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.  | Построив модель с помощью функции [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, ...).  | ||
== Ссылки ==  | == Ссылки ==  | ||
Версия 14:47, 3 января 2014
Расстояние Кука (Cook's distance) является широко используемым методом оценки влияния соответствующего наблюдения (элемента выборки) на уравнение регрессии. Эта величина показывает разницу между вычисленными коэффициентами уравнения регрессии и значениями, которые получились бы при исключении соответствующего наблюдения. В адекватной модели все расстояния Кука должны быть примерно одинаковыми; если это не так, то имеются основания считать, что соответствующее наблюдение (или наблюдения) смещает оценки коэффициентов регрессии.
Метод назван в честь американского ученого Р. Денниса Кука , который ввел данное понятие в 1977 году.
Содержание | 
Определение
Расстояние Кука оценивает эффект от удаления одного (рассматриваемого) наблюдения и вычисляется по следующей формуле:
где
 — предсказание регрессионной модели, построенной по всей выборке, получаемое для 
-ого наблюдения, 
 — предсказание регрессионной модели, построенной по выборке без 
-ого наблюдения, получаемое для 
-ого наблюдения, 
 — количество параметров модели,
 — среднеквадратичная ошибка модели.
Нахождение и удаление выбросов
Существуют различные подходы к определению выбросов с помощью расстояния Кука. Наиболее распространенной эвристикой считается , где 
 — количество наблюдений в выборке.
  
Пример использования
Рассмотрим задачу по оценке эффективность тромболитической терапии. В данной задаче собраны данные по 206 пациентам второго кардиологического отделения московской городской клинической больницы №25. Имеются результаты 14 анализов, а также 8 дополнительных признаков, описывающих пациента (пол, возраст, курение, наличие диабета и т.д.). Построив уравнение регрессии и оценив расстояние Кука, мы можем визуализировать наблюдения и определить выбросы.
Реализации
- MATLAB: В версии 2013b и выше реализован отдельный класс для обобщенной модели регрессии.
 
Построив модель с помощью функции mdl = fitglm(X, y), можем оценить для всех наблюдений расстояние Кука с помощью функций класса: mdl.Diagnostics.CooksDistance.
- R: в пакете stats реализован метод для оценки расстояния Кука для уже настроенной модели cooks.distance(model, ...).
 
Ссылки
- Cook, R. Dennis (February 1977). "Detection of Influential Observations in Linear Regression".
 
- 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).
 
- Cook, R. Dennis; and Weisberg, Sanford (1982); Residuals and influence in regression, New York, NY: Chapman & Hall
 
- GeneralizedLinearModel class. MATLAB R2013b Documentation.
 

