Расстояние Кука
Материал из 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.