2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

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

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

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



Начать новую тему Ответить на тему
 
 Вычисление ковариационной матрицы
Сообщение04.05.2013, 10:57 


08/03/12
60
Допустим у меня есть выборка $X_1$. Я считаю ковариационную матрицу $\Sigma_1$. Потом оказывается, что я получаю еще наблюдения $X_2$. Можно ли как-то "пересчитать" ковариационную матрицу всей выборки $\Sigma = Cov(X)$, не вычисляя ее для всей выборки $X$?
То есть поступают новые наблюдения, и мы корректируем нашу уже имеющуюся ковариационную матрицу. Как это сделать и возможно ли?

 Профиль  
                  
 
 Re: Вычисление ковариационной матрицы
Сообщение04.05.2013, 16:25 
Заслуженный участник


27/04/09
28128
$$\operatorname{cov}(X, X) = \begin{bmatrix} \operatorname{cov}(X_1, X_1) & \operatorname{cov}(X_1, X_2) \\ \operatorname{cov}(X_2, X_1) & \operatorname{cov}(X_2, X_2) \end{bmatrix}.$$

 Профиль  
                  
 
 Re: Вычисление ковариационной матрицы
Сообщение04.05.2013, 16:27 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
Да.
Нужно воспользоваться тождеством $E((x-\bar{x})(y-\bar{y}))=E(xy)-\bar{x}\bar{y}$
Кроме того, надо хранить вектор средних $\bar{x}$

-- 04 май 2013, 16:35 --

arseniiv

Тут, похоже, задача иная - не добавление переменных, а пополнение выборки новыми наблюдениями. Решается она довольно легко, как и исключение наблюдений из выборки (последнее, впрочем, может давать некоторые численные проблемы)
Связь между ковариациями и суммами парных произведений (при известных средних) очевидна, пополняют суммы произведений просто прибавляя новые слагаемые, соответствующие добавляемым элементам, так же очевидно уточнение средних при добавлении новых наблюдений. $\bar{x}_{n+1}=\frac {n\bar{x}_n+x_{n+1}}{n+1}$

 Профиль  
                  
 
 Re: Вычисление ковариационной матрицы
Сообщение04.05.2013, 17:28 


08/03/12
60
Евгений Машеров в сообщении #719492 писал(а):
Да.
Нужно воспользоваться тождеством $(x-\bar{x})(y-\bar{y})=xy-\bar{x}\bar{y}$
Кроме того, надо хранить вектор средних $\bar{x}$

-- 04 май 2013, 16:35 --

arseniiv

Тут, похоже, задача иная - не добавление переменных, а пополнение выборки новыми наблюдениями. Решается она довольно легко, как и исключение наблюдений из выборки (последнее, впрочем, может давать некоторые численные проблемы)
Связь между ковариациями и суммами парных произведений (при известных средних) очевидна, пополняют суммы произведений просто прибавляя новые слагаемые, соответствующие добавляемым элементам, так же очевидно уточнение средних при добавлении новых наблюдений. $\bar{x_{n+1}=\frac {n\bar{x_n}+x_n}{n+1}}$


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

 Профиль  
                  
 
 Re: Вычисление ковариационной матрицы
Сообщение04.05.2013, 18:18 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
Да. Начальные пересчитываются очевидным образом, а центральные через них выражаются. Только один вектор средних это мало, нужны все начальные моменты.

 Профиль  
                  
 
 Re: Вычисление ковариационной матрицы
Сообщение05.05.2013, 14:31 


08/03/12
60
Евгений Машеров в сообщении #719540 писал(а):
Да. Начальные пересчитываются очевидным образом, а центральные через них выражаются. Только один вектор средних это мало, нужны все начальные моменты.


Для ковариационной матрицы сделать получилось. Проблемы возникают с "тензором асимметрий".
Не понимаю, как применить формулу для выражения через начальные моменты. Вот формула с вики:
$\mu_3 = m_3 - 3 m m_2+2m^3$, где $m$ - начальные моменты, $\mu_3$ - третий центральный момент.
В общем, вычисляя этот момент обычным образом получаю нормальный ответ. Но по этой формуле не получается. Обозначим тензор (получается трехмерная как бы матрица) третьих центральных моментов за $SC$, а начальных за $S$, делал так:
$SC_1 = S_1 - 3 \cdot V \cdot m(1) + 2 m \cdot m' \cdot m(1)$

Аналогично для остальных "срезов" в третьем измерении. Тут $m$ - вектор-столбец мат. ожиданий, $m'$ - вектор-строка, m(1) - первый элемент вектора мат. ожиданий, $V$ - матрица вторых начальных моментов. Ну я попытался обобщить формулу центральных моментов через начальные на случай матриц.
В чем ошибка, как обобщить таки эту формулу на матричный случай?

 Профиль  
                  
 
 Re: Вычисление ковариационной матрицы
Сообщение05.05.2013, 17:05 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
Формула для третьего смешанного момента несколько иная. Хотя формула для третьего момента одномерной переменной, взятая из Вики, это правильный её частный случай.
$E((x-\bar{x})(y-\bar{y})(z-\bar{z}))=E(xyz)-E(xy)\bar{z}-E(xz)\bar{y}-E(yz)\bar{x}+2\bar{x}\bar{y}\bar{z}$

 Профиль  
                  
 
 Re: Вычисление ковариационной матрицы
Сообщение05.05.2013, 22:37 


08/03/12
60
Евгений Машеров в сообщении #719972 писал(а):
Формула для третьего смешанного момента несколько иная. Хотя формула для третьего момента одномерной переменной, взятая из Вики, это правильный её частный случай.
$E((x-\bar{x})(y-\bar{y})(z-\bar{z}))=E(xyz)-E(xy)\bar{z}-E(xz)\bar{y}-E(yz)\bar{x}+2\bar{x}\bar{y}\bar{z}$

Спасибо большое. Обобщил на 4 моменты, все работает.

 Профиль  
                  
 
 Re: Вычисление ковариационной матрицы
Сообщение06.05.2013, 14:51 
Заслуженный участник
Аватара пользователя


11/03/08
9904
Москва
В частности, так можно сделать "скользящий экзамен", с пересчётом модели при выбрасывании одного наблюдения и проверке по отброшенному (правда, там может появиться обращение матриц, но для упрощения можно воспользоваться разложением обратной величины в ряд)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group