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
к той же выборке.
Ссылки:
Примеры:
Смотрите Shrinkage covariance estimation: LedoitWolf vs OAS and max-likelihood для примера того, как подогнать объект
OAS
к данным.Смотрите Ledoit-Wolf vs OAS estimation для визуализации разницы среднего квадрата ошибки между
LedoitWolf
иOAS
модель ковариации.
2.6.3. Разреженная обратная ковариация¶
Матрица, обратная ковариационной матрице, часто называемая матрицей точности, пропорциональна матрице частичной корреляции. Она дает соотношение частичной независимости. Другими словами, если два признака независимы условно от других, то соответствующий коэффициент в матрице точности будет равен нулю. Именно поэтому имеет смысл оценивать разреженную матрицу точности: оценка ковариационной матрицы лучше обусловлена изучением отношений независимости из данных. Это известно как выбор ковариации (covariance selection).
В ситуации малых выборок, когда n_samples
порядка n_features
или меньше, разреженные обратные ковариационные оценки обычно работают лучше, чем сокращенные ковариационные оценки.
Однако в обратной ситуации или для очень коррелированных данных они могут быть численно неустойчивы.
Кроме того, в отличие от сокращенных оценок, разреженные оценки способны восстанавливать внедиагональную структуру.
Модель GraphicalLasso
использует штраф l1 для обеспечения разреженности матрицы точности: чем выше его параметр alpha
, тем более разреженной является матрица точности. Соответствующий объект GraphicalLassoCV
использует кросс-валидацию для автоматической установки параметра alpha
.
Примечание
Восстановление структуры
Восстановление графовой структуры из корреляций в данных - сложная задача. Если вы заинтересованы в таком восстановлении, имейте это в виду:
Восстановление по корреляционной матрице проще, чем по ковариационной: стандартизируйте ваши наблюдения перед запуском
GraphicalLasso
Если в базовом графе есть узлы с гораздо большим количеством связей, чем средний узел, алгоритм пропустит некоторые из этих связей.
Если количество наблюдений невелико по сравнению с количеством ребер в графе, вы не сможете восстановить его.
Даже если вы находитесь в благоприятных условиях восстановления, параметр альфа, выбранный с помощью кросс-валидации (например, с помощью объекта
GraphicalLassoCV
), приведет к выбору слишком большого количества ребер. Однако релевантные ребра будут иметь больший вес, чем нерелевантные.
Математическая формулировка следующая:
Где \(K\) - оцениваемая матрица точности, а \(S\) - ковариационная матрица выборки. \(\|K\|_1\) - сумма абсолютных значений внедиагональных коэффициентов \(K\). Алгоритм, используемый для решения этой задачи, - алгоритм GLasso из статьи Friedman 2008 Biostatistics. Это тот же алгоритм, что и в пакете R glasso
.
Примеры:
Sparse inverse covariance estimation: пример на синтетических данных, демонстрирующий некоторое восстановление структуры и сравнение с другими ковариационными оценками.
Visualizing the stock market structure: пример на реальных данных фондового рынка, показывающий, какие символы наиболее связаны между собой.
Ссылки:
Friedman et al, “Sparse inverse covariance estimation with the graphical lasso”, Biostatistics 9, pp 432, 2008
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
робастная система оценки ковариации.
Ссылки:
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.
Примеры:
Смотрите Robust vs Empirical covariance estimate пример того, как обучить объект
MinCovDet
к данным и посмотреть, как оценка остается точной, несмотря на наличие промахов.Смотрите Robust covariance estimation and Mahalanobis distances relevance для визуализации разницы между оценками ковариации
EmpiricalCovariance
иMinCovDet
в терминах расстояния Махаланобиса (так мы получаем лучшую оценку матрицы точности).
Влияние промахов на оценки местоположения и ковариации |
Отделение выбросов с помощью расстояния Махаланобиса |
---|---|