1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9

# теория · шаг 3 из 9

Многомерная нормаль: ковариация и независимость

Коротко

Нормальный вектор получается линейным преобразованием независимых стандартных нормальных величин: X=AZ+μ. Его среднее μ, ковариация Σ=AAᵀ. Матрица Σ описывает масштабы и связи координат; она симметрична и неотрицательна как квадратичная форма. При обратимой Σ есть обычная плотность на всём пространстве, при вырожденной закон лежит в меньшем подпространстве. У совместно нормальных координат нулевая ковариация означает независимость. Одной нормальности отдельных маргинальных законов для этого недостаточно. Условный закон снова нормален, но его ковариацию нужно считать правильными блоками.

Если выводишь AAᵀ, отличаешь совместную нормальность от нормальных маргинальных законов и можешь нормировать условную модель, переходи к «Теперь сам».

Как думаешь, два нормальных датчика обязательно независимы

Пусть Z₁,Z₂ независимо имеют N(0,1). Определим X=Z₁ и Y=2Z₁+3Z₂. Обе координаты нормальны, но общий Z₁ связывает их: большое X сдвигает ожидаемое Y вверх. Средние обеих равны нулю, дисперсии 1 и 13, ковариация равна 2. Без совместной модели связь потерялась бы.

Теперь другой пример: X=Z, Y=BZ, где Z стандартно нормален, а независимый B равновероятно +1 или −1. Обе отдельные координаты опять N(0,1), ковариация нулевая, но |X|=|Y| всегда. Они зависимы и не образуют совместно нормальный вектор. Так различаются сведения о каждой координате и сведения обо всей системе.

На что это похоже

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

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

Механизм: ковариационная матрица

Пусть Z содержит m независимых N(0,1), A имеет d строк и m столбцов, а μ задаёт d средних. Тогда X=AZ+μ - совместно нормальный вектор. В этом определении допускаются и вырожденные нормальные законы, включая постоянные координаты. Любая линейная комбинация координат тоже нормальна или постоянна. Для двух величин ковариация Cov(U,V)=E[(U−E[U])(V−E[V])].

Матрица Σ содержит Σᵢⱼ=Cov(Xᵢ,Xⱼ). Поскольку E[ZₖZₗ]=0 при k≠l и 1 при k=l, раскрытие произведения даёт Σᵢⱼ=Σₖaᵢₖaⱼₖ, то есть Σ=AAᵀ. Диагональ содержит дисперсии. Для любого вектора c cᵀΣc=Var(cᵀX)≥0: произвольная симметричная таблица чисел не обязана быть допустимой ковариацией.

Корреляция двух координат с положительными стандартными отклонениями равна ρ=Cov(X,Y)/(σXσY). У стандартизованных U,V E[(U±V)²]=2±2ρ≥0, поэтому −1≤ρ≤1. Корреляция измеряет нормированную ковариацию, но вне совместной нормальности не определяет всю зависимость.

Для двух координат с положительными σX,σY и |ρ|<1 можно раскрыть обратную матрицу явно. Обозначим u=(x−μX)/σX, v=(y−μY)/σY. Плотность равна exp(−(u²−2ρuv+v²)/(2(1−ρ²)))/(2πσXσY√(1−ρ²)). При ρ=0 она распадается в произведение двух плотностей; перекрёстный член при ненулевом ρ наклоняет линии равной плотности. В стандартизованном масштабе это эллипсы, при ρ=0 - окружности. При |ρ|=1 область сжимается к прямой, и эта формула уже не применяется.

Правило

Для X~N(μ,Σ) любая группа координат имеет нормальный маргинальный закон с соответствующими блоками μ и Σ. Две группы совместно нормального вектора независимы тогда и только тогда, когда их перекрёстный блок ковариации нулевой. При невырожденной Σ плотность равна exp(−(x−μ)ᵀΣ⁻¹(x−μ)/2)/√((2π)^d det(Σ)). При вырожденной Σ обычной d-мерной плотности нет.

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

Разбор: от преобразования к плотности

Для квадратной обратимой A значения z=A⁻¹(x−μ). В d измерениях объём прямоугольника - произведение длин его сторон; это продолжает длину в одном измерении и площадь в двух. Линейное преобразование A умножает такой объём на |det A|. Определитель det - коэффициент ориентированного изменения объёма; модуль убирает знак смены ориентации.

Связь можно понять через исключение Гаусса: прибавление координаты с коэффициентом к другой сдвигает сечения и не меняет их объём, перестановка координат меняет ориентацию, масштабирование координаты умножает объём на свой модуль. Разложение матрицы на эти операции даёт коэффициент det A. Для двумерной матрицы [[a,b],[c,d]] это ad−bc.

Одна вероятность не меняется после преобразования области, поэтому плотность делится на |det A|. Подстановка z в произведение стандартных плотностей даёт показатель (x−μ)ᵀ(A⁻¹)ᵀA⁻¹(x−μ). Здесь (A⁻¹)ᵀA⁻¹=(AAᵀ)⁻¹=Σ⁻¹, а |det A|=√det(Σ). Получили формулу плотности, которая в общем случае обратимой Σ зависит только от μ и Σ, а не от конкретного выбора источников.

Нельзя при этом механически умножать покомпонентное неравенство X≤x на A⁻¹ и сохранять знак ≤ во всех координатах. Даже при A=−1 в одном измерении событие −Z≤x означает Z≥−x. Преобразование плотности учитывает область правильно; CDF не преобразуется таким прямым умножением.

normal_vector.py
import math

A = [[1, 0], [2, 3]]
sigma = [[sum(A[i][k] * A[j][k] for k in range(2))
          for j in range(2)] for i in range(2)]
print("ковариация =", sigma)
det = sigma[0][0] * sigma[1][1] - sigma[0][1] * sigma[1][0]
print("определитель =", det)
coefficient = sigma[1][0] / sigma[0][0]
conditional_mean = coefficient * 1
conditional_variance = sigma[1][1] - coefficient * sigma[0][1]
print("Y при X=1: среднее =", conditional_mean,
      "дисперсия =", conditional_variance)
rho = sigma[0][1] / math.sqrt(sigma[0][0] * sigma[1][1])
print("корреляция =", f"{rho:.6f}")
# Контрпример к независимости из одних нормальных маргинальных законов.
# Z~N(0,1), B - независимый равновероятный знак; X=Z, Y=B*Z.
print("X=Z,Y=BZ: обе маргинальные N(0,1), Cov=0, |X|=|Y|")
↳  выводpython3 normal_vector.py
ковариация = [[1, 2], [2, 13]]
определитель = 9
Y при X=1: среднее = 2.0 дисперсия = 9.0
корреляция = 0.554700
X=Z,Y=BZ: обе маргинальные N(0,1), Cov=0, |X|=|Y|

В примере A имеет строки [1,0] и [2,3]. Определитель Σ равен 9, поэтому модель невырождена. Отношение 2/√13 даёт напечатанную корреляцию. Последняя строка относится к отдельному примеру с случайным знаком B, который предупреждает об ограничении критерия нулевой ковариации.

Разбор: условное среднее и правильная условная ковариация

Разделим вектор на группы Xi и Xj. Пусть Σjj обратима. Положим B=ΣijΣjj⁻¹ и R=Xi−μi−B(Xj−μj). Перекрёстная ковариация R и Xj равна Σij−BΣjj=0. Они совместно нормальны как линейные преобразования одного исходного вектора, поэтому независимы.

Почему нулевой блок дал независимость? Совместная MGF нормального вектора равна exp(tᵀμ+tᵀΣt/2). При нулевом перекрёстном блоке показатель распадается на сумму отдельных частей; функция факторизуется в произведение, что задаёт независимые нормальные группы. Это использует всю совместную нормальную модель, а не только одно равенство E[XY]=E[X]E[Y].

Раскрытие ковариации R даёт Var(R)=Σii−ΣijΣjj⁻¹Σji. Следовательно, при Xj=xj условный закон Xi имеет среднее μi+ΣijΣjj⁻¹(xj−μj) и эту ковариацию. Размеры матриц важны: Σij переводит координаты j в координаты i, а Σji=Σijᵀ. Нельзя переставлять блоки по внешнему сходству индексов.

В нашей модели Y=2X+3Z₂ и Z₂ независимо от X. При X=1 остаётся Y=2+3Z₂: среднее 2, дисперсия 9. Блочная формула даёт 13−2·1⁻¹·2=9. Это тот же ответ, полученный без матричных преобразований, поэтому пример проверяет и индексы, и смысл уменьшившейся неопределённости.

Что ломается без этого

Указывают только нормальные маргинальные законы и считают, что они автоматически задают нормальную совместную плотность. Пример с Y=BZ показывает, сколько сведений при этом потеряно. Или объявляют любую нулевую ковариацию независимостью; это специальное свойство совместно нормальной модели.

Ещё одна ошибка - обращать вырожденную Σ. При X=(Z,Z) матрица [[1,1],[1,1]] не обратима, а носитель - прямая. Для обычной двумерной плотности её площадь равна нулю. Конструкция через Z остаётся правильной, но формула с обратной матрицей неприменима.

Зачем это в работе

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

Теперь сам

Z₁,Z₂ независимы и стандартно нормальны. X=2Z₁, Y=Z₁+Z₂. Найди Var(X),Var(Y),Cov(X,Y), затем закон Y при X=2.

Ответ. Дисперсии 4 и 2, ковариация 2. Условие задаёт Z₁=1, поэтому Y=1+Z₂: среднее 1, дисперсия 1. Блочная формула даёт 2−2·(1/4)·2=1, как и непосредственный разбор.

Главное

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

Комментарии

Пока нет комментариев. Будь первым!

Оставить комментарий

Комментарий появится после проверки. Email не публикуется. Войти, чтобы не вводить имя каждый раз.