Это скорее математический анализ, чем вопрос - PullRequest
1 голос
/ 23 марта 2010

Вот настройка. Никаких предположений относительно значений, которые я использую.

n=2; % dimension of vectors x and (square) matrix P 
r=2; % number of x vectors and P matrices
x1 = [3;5]
x2 = [9;6]
x = cat(2,x1,x2)
P1 = [6,11;15,-1]
P2 = [2,21;-2,3]
P(:,1)=P1(:)
P(:,2)=P2(:)
modePr = [-.4;16]
TransPr=[5.9,0.1;20.2,-4.8]

pred_modePr = TransPr'*modePr
MixPr = TransPr.*(modePr*(pred_modePr.^(-1))')
x0 = x*MixPr

Тогда пришло время применить следующую формулу, чтобы получить myP alt text

, где μij - MixPr. Я использовал этот код, чтобы получить его:

myP=zeros(n*n,r);
Ptables(:,:,1)=P1;
Ptables(:,:,2)=P2;
for j=1:r
    for i = 1:r;
        temp = MixPr(i,j)*(Ptables(:,:,i) + ...
        (x(:,i)-x0(:,j))*(x(:,i)-x0(:,j))');
        myP(:,j)= myP(:,j) + temp(:);
    end
end

Какой-то гениальный парень предложил эту формулу в качестве другого способа производства myP

for j=1:r 
  xk1=x(:,j); PP=xk1*xk1'; PP0(:,j)=PP(:);
  xk1=x0(:,j); PP=xk1*xk1'; PP1(:,j)=PP(:);
end
myP = (P+PP0)*MixPr-PP1

Я попытался сформулировать равенство между этими двумя методами и, похоже, именно этот. Чтобы упростить задачу, я пропустил суммирование матрицы P в обоих методах. alt text

где первая часть обозначает формулу, которую я использовал, а вторая - из его фрагмента кода. Как вы думаете, это очевидное равенство? Если да, игнорируйте все вышеперечисленное и попробуйте объяснить, почему. Я мог начать только с LHS, и после некоторой алгебры, я думаю, я доказал, что она равна RHS. Однако я не могу понять, как он (или она) думал об этом в первую очередь.

1 Ответ

1 голос
/ 14 июля 2010

Используя E для ожидания, одномерная версия вашей формулы является знакомой:

Variance(X) = E((X-E(X))^2) = E(X^2) - E(X)^2

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

...