Spec-Zone.ru › scikit-learn

2.6. Оценивание ковариации

Во многих статистических задачах требуется оценить ковариационную матрицу генеральной совокупности, которую можно рассматривать как оценку формы диаграммы рассеяния набора данных. В большинстве случаев такую оценку необходимо выполнять по выборке, свойства которой (размер, структура, однородность) сильно влияют на качество оценки. Пакет sklearn.covariance предоставляет инструменты для точного оценивания ковариационной матрицы генеральной совокупности в различных условиях.

Предполагается, что наблюдения независимы и одинаково распределены (i.i.d.).

2.6.1. Эмпирическая ковариация

Известно, что ковариационная матрица набора данных хорошо аппроксимируется классическим оцениванием максимального правдоподобия (или «эмпирической ковариацией»), если число наблюдений достаточно велико по сравнению с числом признаков (переменных, описывающих наблюдения). Точнее, оценка максимального правдоподобия по выборке является асимптотически несмещённой оценкой соответствующей ковариационной матрицы генеральной совокупности.

Эмпирическую ковариационную матрицу выборки можно вычислить с помощью функции empirical_covariance из пакета или обучив объект EmpiricalCovariance на выборке данных с помощью метода EmpiricalCovariance.fit. Следует учитывать, что результаты зависят от того, центрированы ли данные, поэтому параметр assume_centered следует использовать корректно. Точнее, если assume_centered=True, то среднее значение всех признаков в обучающей и тестовой выборках должно быть равно нулю. В противном случае пользователь должен центрировать обе выборки или использовать assume_centered=False.

Примеры

  • См. Оценивание ковариации с помощью сжатия: 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. Сжатие Ledoit–Wolf

В статье 2004 года [1] О. Ледуа и М. Вольф предложили формулу для вычисления оптимального коэффициента сжатия \(\alpha\), минимизирующего среднеквадратичную ошибку между оценённой и истинной ковариационными матрицами.

Оценку ковариационной матрицы Ledoit–Wolf по выборке можно вычислить с помощью функции ledoit_wolf из пакета sklearn.covariance. Её также можно получить, обучив объект LedoitWolf на той же выборке.

Примечание

Случай изотропной ковариационной матрицы генеральной совокупности

Важно отметить, что если число образцов значительно превышает число признаков, можно ожидать, что сжатие не потребуется. Интуитивно это объясняется тем, что если ковариационная матрица генеральной совокупности имеет полный ранг, то с ростом числа образцов выборочная ковариационная матрица также станет положительно определённой. Следовательно, сжатие не потребуется, и метод должен автоматически это учитывать.

Однако в процедуре Ledoit–Wolf это не так, если ковариационная матрица генеральной совокупности оказывается кратной единичной матрице. В этом случае оценка сжатия Ledoit–Wolf стремится к 1 при увеличении числа образцов. Это означает, что оптимальная в смысле Ledoit–Wolf оценка ковариационной матрицы кратна единичной матрице. Поскольку ковариационная матрица генеральной совокупности уже кратна единичной матрице, решение Ledoit–Wolf действительно является разумной оценкой.

Примеры

  • См. Оценивание ковариации с помощью сжатия: LedoitWolf, OAS и максимального правдоподобия — пример обучения объекта LedoitWolf на данных и визуализации качества оценки Ledoit–Wolf с точки зрения правдоподобия.

Ссылки

[1]

О. Ледуа и М. Вольф, «Хорошо обусловленная оценка ковариационных матриц большой размерности», Journal of Multivariate Analysis, том 88, выпуск 2, февраль 2004 года, страницы 365–411.

2.6.2.3. Сжатие с приближением к оракулу

Предполагая, что данные распределены по нормальному закону, Чен и соавторы [2] вывели формулу для выбора коэффициента сжатия, обеспечивающего меньшую среднеквадратичную ошибку, чем формула Ледуа и Вольфа. Полученная оценка известна как оценка ковариации с приближением к сжатию с оракулом.

Оценку ковариационной матрицы OAS по выборке можно вычислить с помощью функции oas из пакета sklearn.covariance. Её также можно получить, обучив объект OAS на той же выборке.

../_images/sphx_glr_plot_covariance_estimation_001.png

Компромисс между смещением и дисперсией при выборе степени сжатия: сравнение оценок Ledoit–Wolf и OAS

Ссылки

[2]

«Алгоритмы сжатия для оценивания ковариации по критерию минимальной среднеквадратичной ошибки», Чен Я., Визель А., Элдар Я. К. и Хиро А. О. IEEE Transactions on Signal Processing, 58(10), 5016–5029, 2010.

Примеры

  • См. Оценивание ковариации с помощью сжатия: LedoitWolf, OAS и максимального правдоподобия — пример обучения объекта OAS на данных.
  • См. Оценивание Ledoit–Wolf и OAS, чтобы визуализировать разницу среднеквадратичной ошибки между оценками ковариации LedoitWolf и OAS.
../_images/sphx_glr_plot_lw_vs_oas_001.png

2.6.3. Разреженная обратная ковариация

Обратную ковариационную матрицу, часто называемую матрицей точности, можно считать пропорциональной матрице частных корреляций. Она задаёт отношения частной независимости. Иными словами, если два признака условно независимы при заданных остальных признаках, соответствующий коэффициент матрицы точности будет равен нулю. Поэтому имеет смысл оценивать разреженную матрицу точности: оценка ковариационной матрицы лучше обусловлена, если из данных извлекаются отношения независимости. Этот подход называется выбором ковариации.

В случае малого числа образцов, когда n_samples имеет порядок n_features или меньше, оцениватели разреженной обратной ковариации обычно работают лучше оценивателей ковариации со сжатием. Однако в противоположной ситуации или при сильно коррелированных данных они могут быть численно неустойчивыми. Кроме того, в отличие от оценивателей со сжатием, разреженные оцениватели позволяют восстановить структуру внедиагональных элементов.

Оцениватель GraphicalLasso использует штраф l1, чтобы обеспечить разреженность матрицы точности: чем выше значение параметра alpha, тем разреженнее матрица точности. Соответствующий объект GraphicalLassoCV использует перекрёстную проверку для автоматической настройки параметра alpha.

../_images/sphx_glr_plot_sparse_cov_001.png

Сравнение оценок максимального правдоподобия, оценок со сжатием и разреженных оценок ковариационной матрицы и матрицы точности в условиях очень малого числа образцов.

Примечание

Восстановление структуры

Восстановить структуру графа по корреляциям в данных непросто. Если вас интересует такое восстановление, учитывайте следующее:

  • Восстановить структуру проще по матрице корреляций, чем по ковариационной матрице: стандартизируйте наблюдения перед запуском GraphicalLasso
  • Если в исходном графе есть узлы, число связей которых значительно превышает среднее число связей узла, алгоритм пропустит некоторые из этих связей.
  • Если число наблюдений невелико по сравнению с числом рёбер исходного графа, восстановить его не удастся.
  • Даже при благоприятных условиях восстановления значение параметра альфа, выбранное с помощью перекрёстной проверки (например, объектом GraphicalLassoCV), приведёт к выбору слишком большого числа рёбер. Однако вес существенных рёбер будет выше, чем вес несущественных.

Математическая формулировка имеет следующий вид:

\[\hat{K} = \mathrm{argmin}_K \big( \mathrm{tr} S K - \mathrm{log} \mathrm{det} K + \alpha \|K\|_1 \big)\]

Здесь \(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.

Ссылки

[3] (1,2)

П. Дж. Руссев. Регрессия с минимальной медианой квадратов. J. Am Stat Ass, 79:871, 1984.

[4]

Быстрый алгоритм для оценивателя минимального определителя ковариации, 1999, Американская статистическая ассоциация и Американское общество качества, TECHNOMETRICS.

Примеры

  • См. Сравнение робастной и эмпирической оценок ковариации — пример обучения объекта MinCovDet на данных, показывающий, что оценка остаётся точной даже при наличии выбросов.
  • См. Робастное оценивание ковариации и значимость расстояний Махаланобиса, чтобы визуально сравнить оцениватели ковариации EmpiricalCovariance и MinCovDet по расстоянию Махаланобиса (что также позволяет получить более точную оценку матрицы точности).

Влияние выбросов на оценки местоположения и ковариации

Разделение внутренних наблюдений и выбросов с помощью расстояния Махаланобиса

robust_vs_emp

mahalanobis

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/covariance.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API