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

62fcedaa30d148f0b90eb962585b6ce9.jpg

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

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

7. Центрирование и нормирование одномерных координат


Разминку проведем на простом и всем понятном — центрировании и нормировании данных. Пусть у нас есть ряд чисел V_i. Тогда операция центрирования сводится к нахождению среднего (центроида набора)

%5Coverline%7BV%7D%3D1%2Fn%5Csum%5Climit

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

X_i%3DV_i-%5Coverline%7BV%7D%5Cquad%20(7

Центрирование — это первый шаг к собственной системе координат (ССК) исходного набора, поскольку сумма центрированных координат равна 0. Вторым шагом является нормирование суммы квадратов центрированных координат к 1. Для выполнения данной операции нам нужно вычислить эту сумму (точнее среднее):

S%3D1%2Fn%5Csum%5Climits_%7Bi%3D1%7D%5En

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

x_i%3DX_i%2F%5Csqrt%7BS%7D%5Cquad%20(7.4

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

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

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

Ответ.

Собственное число (дисперсия): 1.25.
Собственный вектор: {-1.342, -0.447, 0.447, 1.342}.


8. Центрирование и ортонормирование многомерных координат


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

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

Введем обозначение компонент набора. Нам заданы точки (узлы, переменные, векторы, кортежи) V_i и каждая точка характеризуется числовыми компонентами V_%7Bia%7D. Обращаем внимание, что второй индекс a — это номер компоненты (столбцы матрицы), а первый индекс i — номер точки (узла) набора (строки матрицы).

Что мы делаем дальше? Правильно — центрируем компоненты. То есть для каждого столбца (компоненты) находим центроид (среднее) и вычитаем его из значения компоненты:

%5Coverline%7BV_a%7D%3D1%2Fn%5Csum%5Clim

X_%7Bia%7D%3DV_%7Bia%7D-%5Coverline%7BV_

Мы получили матрицу центрированных данных (МЦД) X_%7Bia%7D.
Следующим шагом нам как будто бы надо вычислить дисперсию для каждой компоненты и их нормировать. Но мы этого делать не будем. Потому что хотя таким образом мы действительно получим нормированные векторы, но нам-то нужно, чтобы эти векторы были независимыми, то есть ортонормированными. Операция нормирования не поворачивает вектора (а лишь меняет их длину), а нам нужно развернуть векторы перпендикулярно друг другу. Как это сделать?

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

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

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

G_%7Bij%7D%3D%5Csum_a%7BX_%7Bia%7DX_%7Bj

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

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

C_%7Bab%7D%3D%5Csum_i%7BX_%7Bia%7DX_%7Bi

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

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

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

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

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

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

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


Все это прекрасно, но причем здесь преобразование девиации?

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

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

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

D_%7Bij%7D%3D%5Csum_a%7B(V_%7Bia%7D-V_%7

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

G_%7Bij%7D%3D(%5Coverline%7BD_i%7D%2B%5C

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

%5Coverline%7BD%7D%3D1%2Fn%5E2%5Csum_%7B

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

G_%7Bij%7D%3D%5Csum_a%7B%5Cleft(%5Coverl

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

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

Матрица расстояний между городами, например, заведомо неевклидова, — никаких компонент (характеристик городов) не задано. Преобразование девиации тем не менее позволяет определить спектр такой матрицы и собственные координаты городов.

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

© Habrahabr.ru