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

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

Мы предполагаем, что наблюдения являются независимыми и одинаково распределенными (independent and identically distributed - i.i.d.).

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

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

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

2.6.2. Сокращенная ковариация (Shrunk Covariance)

2.6.2.1. Базовая усадка (Basic shrinkage)

Несмотря на асимптотически несмещенную оценку ковариационной матрицы, максимальное правдоподобие не является хорошей моделью собственных значений ковариационной матрицы, поэтому матрица точности, полученная в результате ее инверсии, не является точной. Иногда даже случается, что эмпирическая ковариационная матрица не может быть инвертирована по численным причинам. Чтобы избежать такой проблемы инверсии, было введено преобразование эмпирической ковариационной матрицы: 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\), равносилен выбору компромисса между смещением и дисперсией, и обсуждается ниже.

2.6.2.2. Усадка Ледойта-Вольфа (Ledoit-Wolf shrinkage)

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

Оценку Ледойта-Вольфа ковариационной матрицы можно вычислить на выборке с помощью функции ledoit_wolf из пакета sklearn.covariance, или получить иным способом, обучив объект LedoitWolf к той же выборке.

Примечание

Случай, когда ковариационная матрица совокупности изотропна

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

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

2.6.2.3. Oracle Approximating Shrinkage (Аппроксимация усадки)

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

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

../_images/sphx_glr_plot_covariance_estimation_001.png

Компромисс между смещением и дисперсией при задании усадки: сравнение выбора оценок Ледойта-Вольфа и OAS

../_images/sphx_glr_plot_lw_vs_oas_001.png

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

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

В ситуации малых выборок, когда 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 из статьи Friedman 2008 Biostatistics. Это тот же алгоритм, что и в пакете R glasso.

2.6.4. Надежная оценка ковариации

Реальные наборы данных часто подвержены ошибкам измерения или регистрации. Также по разным причинам могут появляться регулярные, но редкие наблюдения. Очень редкие наблюдения называются выбросами.

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

Пакет sklearn.covariance реализует робастную оценку ковариации - минимальный ковариационный детерминант [3].

2.6.4.1. Минимальный ковариационный детерминант (Minimum Covariance Determinant)

Оценка минимального ковариационного детерминанта (Minimum Covariance Determinant) - это робастная оценка ковариации набора данных, введенная П. Дж. Русеувом в [3]. Идея заключается в том, чтобы найти заданную долю (h) “хороших” наблюдений, которые не являются промахами, и вычислить их эмпирическую ковариационную матрицу. Затем эта эмпирическая ковариационная матрица пересчитывается, чтобы компенсировать проведенный отбор наблюдений (“шаг согласованности”). Вычислив минимальную оценку ковариационного детерминанта, можно придать вес наблюдениям в соответствии с их расстоянием Махаланобиса, что приведет к повторной оценке ковариационной матрицы набора данных (“шаг повторного взвешивания”).

Rousseeuw и Van Driessen [4] разработали алгоритм FastMCD для вычисления минимального ковариационного детерминанта. Этот алгоритм используется в scikit-learn при обучении объекта MCD к данным. Одновременно алгоритм FastMCD вычисляет робастную оценку местоположения набора данных.

Сырые оценки доступны как атрибуты raw_location_ и raw_covariance_ объекта MinCovDet робастная система оценки ковариации.


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

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

robust_vs_emp

mahalanobis