Ковариационная матрица и линейная трансформация

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

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

Начнем с формирования исходных данных.

Шум и ничего более

Будем работать с двумя массивами, или как любят говорить в линейной алгебре — векторами. Переменные x0 и x1 будут представлять из себя независимые друг от друга векторы с нормальным распределением со средним 0 и дисперсией равной единице.

Почему переменных будет именно две? Только по той причине, что двумерные распределения удобно смотреть на плоском графике 🙂 Можно конечно работать и с трех- и многомерными переменными, но в этом случае наглядность может пострадать 🙂

В любом случае, этот пример можно распространить на любое количество измерений.

Я сразу сохранил два этих вектора в одной матрице x для удобства дальнейшей работы. Вот что получилось при отрисовке при N=1500 (по оси абсцисс — x0, по оси ординат — x1):

Ковариационная матрица, линейное преобразование, собственные числа, собственные векторы, Covariation matrix, Eigen vectors, eigen values

Нормальное распределение двух независимых случайных переменных

Из графика видно, что наибольшая плотность вероятности действительно лежит в точке (0,0). Переменные независимы друг от друга, потому что точки с координатами (x0,x1) распределены равномерно вокруг центра.

Независимость, или некоррелированность, мы можем подтвердить также путем вычислений:

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

Сделаем небольшое отступление: почему мы работаем с матрицей ковариации а не корреляции? Исторически сложилось, что корреляцию воспринимают как ковариацию, нормированную в диапазон -1, … +1. Нормировка нам не к чему, поэтому мы работаем с матрицей ковариации.

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

Линейное преобразование двух случайных векторов

Трансформацию векторов x0,x1 получают перемножением векторов на матрицу трансформации A, в результате чего получится уже новая пара векторов. Трансформация будет состоять из двух частей: поворот на угол 20°

и масштабирование с коэффициентом 4 по оси х и коэффициентом 0.5 по оси y:

В результате матрица трансформации A как произведение только что заданных матриц поворота и масштабирования будет такой:

Ну и в результате получим трансформированные векторы, чего мы и добивались:

На рисунке изображение всех значений вектора xa выделено зеленым цветом.

Ковариационная матрица, линейное преобразование, собственные числа, собственные векторы, Covariation matrix, Eigen vectors, eigen values

Исходное нормальное распределение (синий цвет) и распределение после его трансформации: поворота и масштабирования (зеленый цвет)

Наше нормальное распределение деформировалось: теперь оно уже далеко не нормальное: вытянулось вдоль одной оси, сжалось вдоль другой и вдобавок еще повернуто. Но самое главное из того что произошо, это то что теперь новые векторы не являются зависимыми: например, если первый из трансформированных векторов принимает значения >10, то с высокой степенью вероятности второй вектор будет принимать значения >3, как следует из распределения. В исходном распределении такого не было: любому из значений x0 могло соответствовать любое значение x1 из области распределения.

Теперь эту зависимость отражает и ковариационная матрица:

Значение 5.135 недвусмысленно намекает на взаимосвязь между трансформированными векторами.

Здесь самое время задаться вопросом: поскольку ковариационная матрица является обобщенной характеристикой нового распределения, которое в свою очередь получено в результате трансформации A, существует ли связь между ковариацией и линейной трансформацией A?

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

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

COV=A \cdot A^T

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

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

Другими словами, все взаимосвязи в результате будут определяться матрицей линейного преобразования.

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

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

В статье посвященной методу главных компонент мы занимались поиском собственных значений матрицы линейного преобразования. А что если найти собственные векторы и числа ковариационной матрицы? Сказано — сделано:

В результате получаем собственные векторы

и собственные числа:

Отрисуем их на нашем распределении красным цветом. При этом само собой масштабируем собственный вектор собственным числом:

Ковариационная матрица, линейное преобразование, собственные числа, собственные векторы, Covariation matrix, Eigen vectors, eigen values

Собственные векторы линейного преобразования: показаны красным цветом

Пусть вас не смущает отсутствие стрелочки справа: она как раз находится за полем рисунка.

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

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

Ответить

Вы можете использовать эти HTML теги

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">