Что такое ковариационная матрица

Корреляция, ковариация и девиация (часть 3)

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

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

В данной статье покажем, что матрица Грина и матрица корреляции — суть одно и то же.

7. Векторизация и нормирование одномерных координат

Пусть значения некой характеристики элементов заданы рядом чисел Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица. Для того, чтобы данный набор можно было сравнивать с другими характеристиками, необходимо его векторизовать и обезразмерить (нормировать).
Для векторизации находим центр (среднее) значений

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

и строим новый набор как разность между исходными числами и их центроидом (средним):

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Получили вектор. Основной признак векторов состоит в том, что сумма их координат равна нулю. Далее нормируем вектор, — приведем сумму квадратов его координат к 1. Для выполнения данной операции нам нужно вычислить эту сумму (точнее среднее):

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Теперь можно построить ССК исходного набора как совокупность собственного числа S и нормированных координат вектора:

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Квадраты расстояний между точками исходного набора определяются как разности квадратов компонент собственного вектора, умноженные на собственное число. Обратим внимание на то, что собственное число S оказалось равно дисперсии исходного набора (7.3).

Итак, для любого набора чисел можно определить собственную систему координат, то есть выделить значение собственного числа (она же дисперсия) и рассчитать координаты собственного вектора путем векторизации и нормирования исходного набора чисел. Круто.

Упражнение для тех, кто любит «щупать руками». Построить ССК для набора <1, 2, 3, 4>.

8. Векторизация и ортонормирование многомерных координат

Что, если вместо набора чисел нам задан набор векторов — пар, троек и прочих размерностей чисел. То есть точка (узел) задается не одной координатой, а несколькими. Как в этом случае построить ССК? Стандартный путь следующий.

Введем обозначение характеристик (компонент) набора. Нам заданы точки (элементы) Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрицаи каждой точке соответствует числовое значение характеристики Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица. Обращаем внимание, что второй индекс Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица— это номер характеристики (столбцы матрицы), а первый индекс Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица— номер точки (элемента) набора (строки матрицы).

Далее векторизуем характеристики. То есть для каждой находим центроид (среднее значение) и вычитаем его из значения характеристики:

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Получили матрицу координат векторов (МКВ) Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица.
Следующим шагом как будто бы надо вычислить дисперсию для каждой характеристики и их нормировать. Но хотя таким образом мы действительно получим нормированные векторы, нам-то нужно, чтобы эти векторы были независимыми, то есть ортонормированными. Операция нормирования не поворачивает вектора (а лишь меняет их длину), а нам нужно развернуть векторы перпендикулярно друг другу. Как это сделать?

Правильный (но пока бесполезный) ответ — рассчитать собственные вектора и числа (спектр). Бесполезный потому, что мы не построили матрицу, для которой можно считать спектр. Наша матрица координат векторов (МКВ) не является квадратной — для нее собственные числа не рассчитаешь. Соответственно, надо на основе МКВ построить некую квадратную матрицу. Это можно сделать умножением МКВ на саму себя (возвести в квадрат).

Но тут — внимание! Неквадратную матрицу можно возвести в квадрат двумя способами — умножением исходной на транспонированную. И наоборот — умножением транспонированной на исходную. Размерность и смысл двух полученных матриц — разный.

Умножая МКВ на транспонированную, мы получаем матрицу корреляции:

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

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

Теперь переставим перемножаемые в (8.1) матрицы местами и получим матрицу ковариации (опять же опускаем множитель 1/(1-n), которым обычно нормируют значения ковариации):

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Здесь результат выражен в характеристиках. Соответственно, размерность матрицы ковариации равна количеству исходных характеристик (компонент). Для двух характеристик матрица ковариации имеет размерность 2×2, для трех — 3×3 и т.д.

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

Диагональные элементы ковариации отражают дисперсию компонент. Как мы видели выше, дисперсия и собственные числа тесно связаны. Поэтому можно сказать, что в первом приближении собственные числа матрицы ковариации (а значит, и корреляции) равны диагональным элементам (а если межкомпонентная дисперсия отсутствует, то равны в любом приближении).

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

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

Правда, могут быть и отрицательные дисперсии, и тогда аналогия с эллипсоидом уже не очевидна.

9. Матрица Грина — это матрица корреляции векторов

Рассмотрим теперь ситуацию, когда нам известен не набор чисел, характеризующих точки (элементы), а набор расстояний между точками (причем между всеми). Достаточно ли данной информации для определения ССК (собственной системы координат) набора?

Ответ дан в первой части — да, вполне. Здесь же мы покажем, что построенная по формуле (1.3′) матрица Грина и определенная выше матрица корреляции векторов (8.1) — это одна и та же матрица.

Как такое получилось? Сами в шоке. Чтобы в этом убедиться, надо подставить выражение для элемента матрицы квадратов расстояний

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

в формулу преобразования девиации:

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Отметим, что среднее значение матрицы квадратов расстояний отражает дисперсию исходного набора (при условии, что расстояния в наборе — это сумма квадратов компонент):

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Подставляя (9.1) и (9.3) в (9.2), после несложных сокращений приходим к выражению для матрицы корреляции (8.1):

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Итак, матрица Грина и матрица корреляции векторов — суть одно и то же. Ранг матрицы корреляции совпадает с рангом матрицы ковариации (количеством характеристик — размерностью пространства). Это обстоятельство позволяет строить спектр и собственную систему координат для исходных точек на основе матрицы расстояний.

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

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

Источник

Машинное обучение для факультета математики Записки лекций

Илья Щуров (НИУ ВШЭ)

5 Ещё о линейной регрессии

5.1 Напоминание: постановка задачи и метод наименьших квадратов

5.1.1 Геометрическая интерпретация

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

5.2 Несмещённость МНК-оценки

5.3 Дисперсии и ковариации МНК-оценки

5.3.1 Ковариационная матрица

Гм-гм, симметричная матрица? Наверняка она задаёт какую-нибудь симметричную билинейную или квадратичную форму! И правда.

5.3.2 Пример и геометрическая интерпретация

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Для правой картинки матрица ковариации равна

5.3.3 Ковариационная матрица и линейные операторы

5.3.4 Ковариационная матрица МНК-оценки

5.3.5 Теорема Гаусса — Маркова

Иными словами, теорема Гаусса — Маркова говорит, что дисперсия (разброс) любого предсказания для любой линейной несмещённой оценки w будет не меньше, чем дисперсия того же предсказания для МНК-оценки.

Заключение теоремы можно также переформулировать таким образом: матрица

Доказывать эту теорему мы сейчас не будем.

5.3.6 Когда смещённая оценка лучше

Теорема Гаусса — Маркова рассматривает только довольно узкий класс альтернатив — исключительно линейные несмещённые оценки, и показывает, что МНК-оценка оптимальна именно в этом классе. Но это не означает, что она оптимальна с практической точки зрения.

Напомним (второй раз за сегодня), что ожидаемая ошибка на новом наблюдении (то, что мы хотим сделать как можно менше) складывается из шума, смещения и разброса. Мы показали, что МНК-оценка имеет нулевое смещение и минимальный разброс среди оценок с нулевым смещением. Однако, может быть, есть оценка с ненулевым смещением, которая имеет существенно более низкий разброс, и таким образом по сумме выигрывает у МНК-оценки? Оказывается, что так как раз часто и бывает (более того, почти всегда).

Давайте покажем, как это возможно, на простом примере.

Как мы видим, если σ 2 очень большое, разброс предсказаний МНК-модели может быть также очень большим.

Давайте вместе с МНК-оценкой для исходной модели рассмотрим также МНК-оцеки для упрощённых моделей, которые игнорируют один из или оба признака. Иными словами, мы рассматриваем четыре модели.

Давайте посчитаем ожидаемую ошибку для всех четырёх моделей. Для этого нужно найти смещение и разброс для каждой модели.

Сведём наши результаты в табличку.

Итак, на нашем примере мы видим, что бывают ситуации, когда лучше выбрать смещённую модель, которая даёт меньший разброс предсказаний, чем несмещённую модель. Это ещё один пример так называемого bias-variance tradeoff.

Заметим, что в данном случае оптимальной могла стать третья модель, но никак не вторая: её ожидаемая ошибка при любом σ 2 больше ожидаемой ошибки третьей. Это можно интерпретир��вать так. В нашей истинной зависимости коэффициенты при обоих признаках были равны между собой. В то же время дисперсии самих признаков существенно различались — дисперсия первого признака была гораздо больше дисперсии второго. При равных дисперсиях шумов в каждой точке, это привело к тому, что дисперсия второй компоненты вектора признаков оказалась гораздо выше дисперсии первой. Поэтому именно ей нам пришлось «пожертвовать», чтобы уменьшить разброс предсказаний. На этой идее основан один из методов отбора признаков — удаление незначимых признаков, то есть таких, у которых слишком большое значение разброса по сравнению со значением самого признака.

Если предполагать, что веса в истинной зависимости примерно одинаковые и остальные предположения выполняются, большую дисперсию будут иметь веса, соответствующие признакам, которые сами имеют маленькую дисперсию (как второй признак в нашем примере). Это ещё один механизм отбора признаков.

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

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

Источник

Как работает метод главных компонент (PCA) на простом примере

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

В этой статье я бы хотел рассказать о том, как именно работает метод анализа главных компонент (PCA – principal component analysis) с точки зрения интуиции, стоящей за ее математическим аппаратом. Максимально просто, но подробно.

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

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

К примеру, расход топлива у нас меряется в литрах на 100 км, а в США в милях на галлон. На первый взгляд, величины разные, но на самом деле они строго зависят друг от друга. В миле 1600м, а в галлоне 3.8л. Один признак строго зависит от другого, зная один, знаем и другой.

Но гораздо чаще бывает так, что признаки зависят друг от друга не так строго и (что важно!) не так явно. Объем двигателя в целом положительно влияет на разгон до 100 км/ч, но это верно не всегда. А еще может оказаться, что с учетом не видимых на первый взгляд факторов (типа улучшения качества топлива, использования более легких материалов и прочих современных достижений), год автомобиля не сильно, но тоже влияет на его разгон.

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

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

Шаг 1. Подготовка данных

Здесь для простоты примера я не буду брать реальные обучающие датасеты на десятки признаков и сотни наблюдений, а сделаю свой, максимально простой игрушечный пример. 2 признака и 10 наблюдений будет вполне достаточно для описания того, что, а главное – зачем, происходит в недрах алгоритма.

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

В данной выборке у нас имеются два признака, сильно коррелирующие друг с другом. С помощью алгоритма PCA мы сможем легко найти признак-комбинацию и, ценой части информации, выразить оба этих признака одним новым. Итак, давайте разбираться!

Для начала немного статистики. Вспомним, что для описания случайной величины используются моменты. Нужные нам – мат. ожидание и дисперсия. Можно сказать, что мат. ожидание – это «центр тяжести» величины, а дисперсия – это ее «размеры». Грубо говоря, мат. ожидание задает положение случайной величины, а дисперсия – ее размер (точнее, разброс).

Сам процесс проецирования на вектор никак не влияет на значения средних, так как для минимизации потерь информации наш вектор должен проходить через центр нашей выборки. Поэтому нет ничего страшного, если мы отцентрируем нашу выборку – линейно сдвинем ее так, чтобы средние значения признаков были равны 0. Это очень сильно упростит наши дальнейшие вычисления (хотя, стоит отметить, что можно обойтись и без центрирования).
Оператор, обратный сдвигу будет равен вектору изначальных средних значений – он понадобится для восстановления выборки в исходной размерности.

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица
Дисперсия же сильно зависит от порядков значений случайной величины, т.е. чувствительна к масштабированию. Поэтому если единицы измерения признаков сильно различаются своими порядками, крайне рекомендуется стандартизировать их. В нашем случае значения не сильно разнятся в порядках, так что для простоты примера мы не будем выполнять эту операцию.

Шаг 2. Ковариационная матрица

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

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Для описания формы случайного вектора необходима ковариационная матрица.

Это матрица, у которой (i,j)-элемент является корреляцией признаков (Xi, Xj). Вспомним формулу ковариации:

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

В нашем случае она упрощается, так как

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

и это справедливо для любых случайных величин.

Таким образом, в нашей матрице по диагонали будут дисперсии признаков (т.к. i = j), а в остальных ячейках – ковариации соответствующих пар признаков. А в силу симметричности ковариации матрица тоже будет симметрична.

Замечание: Ковариационная матрица является обобщением дисперсии на случай многомерных случайных величин – она так же описывает форму (разброс) случайной величины, как и дисперсия.

И действительно, дисперсия одномерной случайной величины – это ковариационная матрица размера 1×1, в которой ее единственный член задан формулой Cov(X,X) = Var(X).

Итак, сформируем ковариационную матрицу Σ для нашей выборки. Для этого посчитаем дисперсии Xi и Xj, а также их ковариацию. Можно воспользоваться вышенаписанной формулой, но раз уж мы вооружились Python’ом, то грех не воспользоваться функцией numpy.cov(X). Она принимает на вход список всех признаков случайной величины и возвращает ее ковариационную матрицу и где X – n-мерный случайный вектор (n-количество строк). Функция отлично подходит и для расчета несмещенной дисперсии, и для ковариации двух величин, и для составления ковариационной матрицы.
(Напомню, что в Python матрица представляется массивом-столбцом массивов-строк.)

Шаг 3. Собственные вектора и значения (айгенпары)

О’кей, мы получили матрицу, описывающую форму нашей случайной величины, из которой мы можем получить ее размеры по x и y (т.е. X1 и X2), а также примерную форму на плоскости. Теперь надо найти такой вектор (в нашем случае только один), при котором максимизировался бы размер (дисперсия) проекции нашей выборки на него.

Замечание: Обобщение дисперсии на высшие размерности — ковариационная матрица, и эти два понятия эквивалентны. При проекции на вектор максимизируется дисперсия проекции, при проекции на пространства больших порядков – вся ее ковариационная матрица.

Итак, возьмем единичный вектор на который будем проецировать наш случайный вектор X. Тогда проекция на него будет равна v T X. Дисперсия проекции на вектор будет соответственно равна Var(v T X). В общем виде в векторной форме (для центрированных величин) дисперсия выражается так:

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Соответственно, дисперсия проекции:

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Легко заметить, что дисперсия максимизируется при максимальном значении v T Σv. Здесь нам поможет отношение Рэлея. Не вдаваясь слишком глубоко в математику, просто скажу, что у отношения Рэлея есть специальный случай для ковариационных матриц:

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

Последняя формула должна быть знакома по теме разложения матрицы на собственные вектора и значения. x является собственным вектором, а λ – собственным значением. Количество собственных векторов и значений равны размеру матрицы (и значения могут повторяться).

Кстати, в английском языке собственные значения и векторы именуются eigenvalues и eigenvectors соответственно.
Мне кажется, это звучит намного более красиво (и кратко), чем наши термины.

Таким образом, направление максимальной дисперсии у проекции всегда совпадает с айгенвектором, имеющим максимальное собственное значение, равное величине этой дисперсии.

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

Размерность нашей выборки равна двум и количество айгенвекторов у нее, соответственно, 2. Найдем их.

В библиотеке numpy реализована функция numpy.linalg.eig(X), где X – квадратная матрица. Она возвращает 2 массива – массив айгензначений и массив айгенвекторов (векторы-столбцы). И векторы нормированы — их длина равна 1. Как раз то, что надо. Эти 2 вектора задают новый базис для выборки, такой что его оси совпадают с полуосями аппроксимирующего эллипса нашей выборки.

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица
На этом графике мы апроксимировали нашу выборку эллипсом с радиусами в 2 сигмы (т.е. он должен содержать в себе 95% всех наблюдений – что в принципе мы здесь и наблюдаем). Я инвертировал больший вектор (функция eig(X) направляла его в обратную сторону) – нам важно направление, а не ориентация вектора.

Шаг 4. Снижение размерности (проекция)

Наибольший вектор имеет направление, схожее с линией регрессии и, спроецировав на него нашу выборку, мы потеряем информацию, сравнимую с суммой остаточных членов регрессии (только расстояние теперь евклидово, а не дельта по Y). В нашем случае зависимость между признаками очень сильная, так что потеря информации будет минимальна. «Цена» проекции — дисперсия по меньшему айгенвектору — как видно из предыдущего графика, очень невелика.

Замечание: диагональные элементы ковариационной матрицы показывают дисперсии по изначальному базису, а ее собственные значения – по новому (по главным компонентам).

Часто требуется оценить объем потерянной (и сохраненной) информации. Удобнее всего представить в процентах. Мы берем дисперсии по каждой из осей и делим на общую сумму дисперсий по осям (т.е. сумму всех собственных чисел ковариационной матрицы).
Таким образом, наш больший вектор описывает 45.994 / 46.431 * 100% = 99.06%, а меньший, соответственно, примерно 0.94%. Отбросив меньший вектор и спроецировав данные на больший, мы потеряем меньше 1% информации! Отличный результат!

Замечание: На практике, в большинстве случаев, если суммарная потеря информации составляет не более 10-20%, то можно спокойно снижать размерность.

dot(X,Y) — почленное произведение (так мы перемножаем векторы и матрицы в Python)

Нетрудно заметить, что значения проекций соответствуют картине на предыдущем графике.

Шаг 5. Восстановление данных

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

Это очень просто. У нас есть вся необходимая информация, а именно координаты базисных векторов в исходном базисе (векторы, на которые мы проецировали) и вектор средних (для отмены центровки). Возьмем, к примеру, наибольшее значение: 10.596… и раскодируем его. Для этого умножим его справа на транспонированный вектор и прибавим вектор средних, или в общем виде для всей выборки: X T v T +m

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

Вместо заключения – проверка алгоритма

Итак, мы разобрали алгоритм, показали как он работает на игрушечном примере, теперь осталось только сравнить его с PCA, реализованным в sklearn – ведь пользоваться будем именно им.

Параметр n_components указывает на количество измерений, на которые будет производиться проекция, то есть до скольки измерений мы хотим снизить наш датасет. Другими словами – это n айгенвекторов с самыми большими собственными числами. Проверим результат снижения размерности:

Мы возвращали результат как матрицу вектор-столбцов наблюдений (это более канонический вид с точки зрения линейной алгебры), PCA в sklearn же возвращает вертикальный массив.

В принципе, это не критично, просто стоит отметить, что в линейной алгебре канонично записывать матрицы через вектор-столбцы, а в анализе данных (и прочих связанных с БД областях) наблюдения (транзакции, записи) обычно записываются строками.

Проверим и прочие параметры модели – функция имеет ряд атрибутов, позволяющих получить доступ к промежуточным переменным:

— Вектор средних: mean_
— Вектор(матрица) проекции: components_
— Дисперсии осей проекции (выборочная): explained_variance_
— Доля информации (доля от общей дисперсии): explained_variance_ratio_

Замечание: explained_variance_ показывает выборочную дисперсию, тогда как функция cov() для построения ковариационной матрицы рассчитывает несмещенные дисперсии!

Сравним полученные нами значения со значениями библиотечной функции.

Единственное различие – в дисперсиях, но как уже упоминалось, мы использовали функцию cov(), которая использует несмещенную дисперсию, тогда как атрибут explained_variance_ возвращает выборочную. Они отличаются только тем, что первая для получения мат.ожидания делит на (n-1), а вторая – на n. Легко проверить, что 45.99 ∙ (10 — 1) / 10 = 41.39.

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

Что такое ковариационная матрица. Смотреть фото Что такое ковариационная матрица. Смотреть картинку Что такое ковариационная матрица. Картинка про Что такое ковариационная матрица. Фото Что такое ковариационная матрица

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

Итак, мы рассмотрели принципы работы алгоритма PCA и его реализации в sklearn. Я надеюсь, эта статья была достаточно понятна тем, кто только начинает знакомство с анализом данных, а также хоть немного информативна для тех, кто хорошо знает данный алгоритм. Интуитивное представление крайне полезно для понимания того, как работает метод, а понимание очень важно для правильной настройки выбранной модели. Спасибо за внимание!

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *