2014 dxdy logo

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

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




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

 
 
 
 Re: Вычисление ковариационной матрицы
Сообщение04.05.2013, 16:25 
$$\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 
Аватара пользователя
Да.
Нужно воспользоваться тождеством $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 
Евгений Машеров в сообщении #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 
Аватара пользователя
Да. Начальные пересчитываются очевидным образом, а центральные через них выражаются. Только один вектор средних это мало, нужны все начальные моменты.

 
 
 
 Re: Вычисление ковариационной матрицы
Сообщение05.05.2013, 14:31 
Евгений Машеров в сообщении #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 
Аватара пользователя
Формула для третьего смешанного момента несколько иная. Хотя формула для третьего момента одномерной переменной, взятая из Вики, это правильный её частный случай.
$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 
Евгений Машеров в сообщении #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 
Аватара пользователя
В частности, так можно сделать "скользящий экзамен", с пересчётом модели при выбрасывании одного наблюдения и проверке по отброшенному (правда, там может появиться обращение матриц, но для упрощения можно воспользоваться разложением обратной величины в ряд)

 
 
 [ Сообщений: 9 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group