2.6. Оценка ковариации
Многие статистические задачи требуют оценки матрицы ковариации генеральной совокупности, что можно рассматривать как оценку формы диаграммы рассеяния набора данных. Чаще всего такая оценка должна производиться на выборке, свойства которой (размер, структура, однородность) сильно влияют на качество оценки. Пакет sklearn.covariance предоставляет инструменты для точной оценки матрицы ковариации генеральной совокупности в различных условиях.
Мы предполагаем, что наблюдения независимы и одинаково распределены (i.i.d.).
2.6.1. Эмпирическая ковариация
Матрица ковариации набора данных хорошо аппроксимируется классическим оценщиком максимального правдоподобия (или «эмпирической ковариацией»), при условии, что количество наблюдений достаточно велико по сравнению с количеством признаков (переменных, описывающих наблюдения). Более точно, оценка максимального правдоподобия выборки является асимптотически несмещенной оценкой соответствующей матрицы ковариации генеральной совокупности.
Эмпирическую матрицу ковариации выборки можно вычислить, используя функцию empirical_covariance пакета или путем подгонки объекта EmpiricalCovariance к выборочным данным с помощью метода EmpiricalCovariance.fit. Следует учитывать, что результаты зависят от того, центрированы ли данные, поэтому необходимо точно использовать параметр assume_centered. Более точно, если assume_centered=False, то предполагается, что тестовый набор имеет тот же вектор среднего значения, что и обучающий набор. Если нет, то оба набора должны быть центрированы пользователем, и следует использовать assume_centered=True.
Примеры
- См. Оценка ковариации с помощью сжатия: LedoitWolf против OAS и максимального правдоподобия для примера, как подгонять объект
EmpiricalCovarianceк данным.
2.6.2. Усеченная ковариационная матрица
2.6.2.1. Базовая усечка
Несмотря на то, что оценка максимального правдоподобия является асимптотически несмещенной оценкой ковариационной матрицы, она не является хорошей оценкой собственных значений ковариационной матрицы, поэтому матрица точности, полученная из её обратной, не является точной. Иногда даже возникает ситуация, когда обратная матрица эмпирической ковариационной матрицы не может быть вычислена по численным причинам. Для того, чтобы избежать такой проблемы с обращением, было введено преобразование эмпирической ковариационной матрицы: shrinkage.
В scikit-learn это преобразование (с коэффициентом усечения, определённым пользователем) можно непосредственно применить к предварительно вычисленной ковариации с помощью метода shrunk_covariance. Также можно обучить усечённую оценку ковариации на данных с помощью объекта ShrunkCovariance и его метода ShrunkCovariance.fit. Снова, результаты зависят от того, отцентрированы ли данные, поэтому необходимо точно использовать параметр assume_centered.
Математически эта усечка заключается в уменьшении отношения между наименьшим и наибольшим собственными значениями эмпирической ковариационной матрицы. Это можно сделать, просто сдвинув каждое собственное значение в соответствии с заданным смещением, что эквивалентно нахождению оценки максимального правдоподобия ковариационной матрицы с l2-регуляризацией. На практике усечка сводится к простому выпуклому преобразованию: \(\Sigma_{\rm shrunk} = (1-\alpha)\hat{\Sigma} + \alpha\frac{{\rm Tr}\hat{\Sigma}}{p}\rm Id\).
Выбор степени усечения \(\alpha\) сводится к установлению компромисса между смещением и дисперсией и обсуждается ниже.
Примеры
- См. Оценка усеченной ковариации: LedoitWolf против OAS и максимального правдоподобия для примера о том, как обучить объект
ShrunkCovarianceна данных.
2.6.2.2. Усечка по методу Ледоит-Вольф
В своей статье 2004 года [1] О. Ледоит и М. Вольф предлагают формулу для вычисления оптимального коэффициента усечения \(\alpha\), который минимизирует среднеквадратическую ошибку между оценённой и истинной ковариационной матрицей.
Оценку ковариационной матрицы по методу Ледоит-Вольф можно вычислить для выборки с помощью функции ledoit_wolf пакета sklearn.covariance, или же её можно получить, обучив объект LedoitWolf на той же выборке.
Примечание
Случай, когда популяционная ковариационная матрица изотропна
Важно отметить, что когда число выборочных значений значительно больше числа признаков, можно ожидать, что усечка не потребуется. Интуиция заключается в том, что если популяционная ковариационная матрица имеет полный ранг, то с ростом числа выборочных значений выборочная ковариационная матрица также станет положительно определённой. В результате усечка не нужна и метод автоматически это сделает.
Однако, в процедуре Ледоит-Вольф это не так, когда популяционная ковариационная матрица является кратной единичной матрице. В этом случае оценка усечки Ледоит-Вольф приближается к 1 по мере увеличения числа выборочных значений. Это указывает на то, что оптимальная оценка ковариационной матрицы в смысле Ледоит-Вольф является кратной единичной матрице. Поскольку популяционная ковариационная матрица уже является кратной единичной матрице, решение Ледоит-Вольф действительно является разумной оценкой.
Примеры
- См. Оценка усеченной ковариации: LedoitWolf против OAS и максимального правдоподобия для примера о том, как обучить объект
LedoitWolfна данных и для визуализации производительности оценки Ледоит-Вольф с точки зрения правдоподобия.
Ссылки
2.6.2.3. Аппроксимация оценки оракула
При предположении, что данные распределены нормально, Чен и др. [2] вывели формулу, направленную на выбор коэффициента усечения, который даёт меньшую среднеквадратическую ошибку, чем формула Ледоит-Вольф. Полученная оценка известна как оценка усечения, аппроксимирующая оракул ковариации.
Оценку ковариационной матрицы по методу OAS можно вычислить для выборки с помощью функции oas пакета sklearn.covariance или же её можно получить, обучив объект OAS на той же выборке.
Компромисс смещения и дисперсии при установке коэффициента усечения: сравнение выборов оценок Ледоит-Вольф и OAS
Ссылки
Примеры
- См. Оценка усеченной ковариации: LedoitWolf против OAS и максимального правдоподобия для примера о том, как обучить объект
OASна данных. - См. Оценка Ледоит-Вольф против OAS, чтобы визуализировать разницу в среднеквадратической ошибке между оценкой ковариации
LedoitWolfиOAS.
2.6.3. Разреженная обратная ковариационная матрица
Обратная матрица ковариационной матрицы, часто называемая матрицей точности, пропорциональна матрице парных корреляций. Она описывает отношения парной независимости. Другими словами, если две характеристики независимы при условии других характеристик, соответствующий коэффициент в матрице точности будет равен нулю. Именно поэтому имеет смысл оценивать разреженную матрицу точности: оценка ковариационной матрицы лучше обусловлена, если из данных изучаются отношения независимости. Это известно как выбор ковариации.
В ситуации с небольшим объёмом выборки, в которой n_samples имеет порядок n_features или меньше, оценки разреженной обратной ковариационной матрицы работают лучше, чем оценки сжатой ковариационной матрицы. Однако в противоположной ситуации или для сильно коррелированных данных они могут быть численно неустойчивы. Кроме того, в отличие от оценок сжатия, разреженные оценки способны восстанавливать внедиагональную структуру.
Оценщик GraphicalLasso использует штраф L1 для обеспечения разреженности матрицы точности: чем выше его параметр alpha, тем более разреженной является матрица точности. Соответствующий объект GraphicalLassoCV использует перекрёстную проверку для автоматической установки параметра alpha.
Сравнение оценок максимального правдоподобия, сжатия и разреженности ковариационной и матрицы точности в условиях очень малых выборок.
Примечание
Восстановление структуры
Восстановление графической структуры из корреляций в данных – сложная задача. Если вас интересует такое восстановление, имейте в виду, что:
- Восстановление проще из матрицы корреляций, чем из ковариационной матрицы: стандартизируйте свои наблюдения перед запуском
GraphicalLasso - Если в подлежащем графе есть узлы с гораздо большим количеством связей, чем у среднего узла, алгоритм пропустит некоторые из этих связей.
- Если количество наблюдений не велико по сравнению с количеством рёбер в вашем подлежащем графе, вы не сможете его восстановить.
- Даже если вы находитесь в благоприятных условиях восстановления, параметр alpha, выбранный с помощью перекрестной проверки (например, с помощью объекта
GraphicalLassoCV), приведёт к выбору слишком большого количества рёбер. Однако соответствующие рёбра будут иметь больший вес, чем несоответствующие.
Математическая формулировка такова:
Где \(K\) — матрица точности, которую нужно оценить, а \(S\) — выборочная ковариационная матрица. \(\|K\|_1\) — сумма абсолютных значений внедиагональных коэффициентов \(K\). Алгоритм, используемый для решения этой задачи, — это алгоритм GLasso из статьи Фридмана 2008 года в журнале Biostatistics. Это тот же алгоритм, что и в пакете R glasso.
Примеры
- Оценка разреженной обратной ковариационной матрицы: пример на синтетических данных, демонстрирующий некоторое восстановление структуры и сравнение с другими оценщиками ковариации.
- Визуализация структуры фондового рынка: пример на реальных данных фондового рынка, выявление символов, которые наиболее связаны.
Ссылки
- Фридман и др., “Оценка разреженной обратной ковариационной матрицы с помощью графического лассо”, Biostatistics 9, стр. 432, 2008
2.6.4. Робастная оценка ковариации
Реальные наборы данных часто подвержены ошибкам измерения или записи. Также могут появляться обычные, но редкие наблюдения по разным причинам. Наблюдения, которые очень редки, называются выбросами. Эмпирическая оценка ковариации и оценки сжатой ковариации, представленные выше, очень чувствительны к наличию выбросов в данных. Поэтому для оценки ковариации реальных наборов данных следует использовать робастные оценки ковариации. Кроме того, робастные оценки ковариации могут использоваться для обнаружения выбросов и отбрасывания/уменьшения веса некоторых наблюдений в зависимости от дальнейшей обработки данных.
Пакет sklearn.covariance реализует робастную оценку ковариации — оценку с минимальным определителем ковариации [3].
2.6.4.1. Оценка с минимальным определителем ковариации
Оценщик с минимальным определителем ковариации — это робастная оценка ковариации набора данных, представленная П.Дж. Руссев в [3]. Идея заключается в том, чтобы найти заданную долю (h) «хороших» наблюдений, которые не являются выбросами, и вычислить их эмпирическую ковариационную матрицу. Затем эта эмпирическая ковариационная матрица масштабируется для компенсации выбранных наблюдений («этап согласованности»). После вычисления оценки с минимальным определителем ковариации можно присваивать веса наблюдениям в соответствии с их расстоянием Махаланобиса, что приводит к перевзвешенной оценке ковариационной матрицы набора данных («этап перевзвешивания»).
Руссев и Ван Дриссен [4] разработали быстрый алгоритм FastMCD для вычисления оценки с минимальным определителем ковариации. Этот алгоритм используется в scikit-learn при подгонке объекта MCD к данным. Алгоритм FastMCD также вычисляет робастную оценку местоположения набора данных одновременно.
Сырые оценки доступны как атрибуты raw_location_ и raw_covariance_ объекта робастного оценщика ковариации MinCovDet.
Ссылки
P. J. Rousseeuw. Least median of squares regression. J. Am Stat Ass, 79:871, 1984.
A Fast Algorithm for the Minimum Covariance Determinant Estimator, 1999, American Statistical Association and the American Society for Quality, TECHNOMETRICS.
Примеры
- См. Робастная против эмпирической оценки ковариации для примера того, как подогнать объект
MinCovDetк данным и посмотреть, как оценка остаётся точной несмотря на наличие выбросов. - См. Робастная оценка ковариации и значимость расстояний Махаланобиса для визуализации различий между
EmpiricalCovarianceиMinCovDetоценками ковариации с точки зрения расстояния Махаланобиса (так что мы получим лучшую оценку матрицы точности тоже).
© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/covariance.html