Как проверить равенство двух ковариационных матриц? - PullRequest
2 голосов
/ 10 февраля 2020

Мне нужно проверить два условия:

  1. $ E [X] \ stackrel {?} {=} \ Mu $ ,
  2. $ E [(X - \ mu) (X- \ mu) ^ {\ top}] \ stackrel {?} {=} \ Sigma $ .

Здесь генерируется $ X $ ( output) data, $ \ mu $ - средний вектор, $ \ Sigma $ - ковариационная матрица. $ \ mu $ , $ \ Sigma $ - входные данные.

Для теста первым условием я написал код в R:

all( abs(apply(X, 1, mean) - mu) < .Machine$double.eps)
# [1] TRUE

Для теста второе условие я написал код в R с ошибкой:

SS <- mean((X - mu) %*% t(X - mu)) # Error in X - mu : non-conformable arrays

Также я попытался

XX <- apply(X, 2, X- mu); 
all(abs(cov(XX)-Sigma) <Machine$double.eps)

Вопрос. Как проверить второе условие?

Входные и выходные данные приведены ниже.

> dput(X)
structure(c(0.0613307578354561, 0.0793852352305158, 0.106501868600655, 
0.0613307578354561, 0.0793852352305158, 0.106501868600655, 0.0613307578354561, 
0.0793852352305158, 0.106501868600655, 0.0613307578354561, 0.0793852352305158, 
0.106501868600655, 0.0613307578354561, 0.0793852352305158, 0.106501868600655, 
-0.0580547578354561, -0.0677532352305158, -0.102897868600655, 
-0.0580547578354561, -0.0677532352305158, -0.102897868600655, 
-0.0580547578354561, -0.0677532352305158, -0.102897868600655, 
-0.0580547578354561, -0.0677532352305158, -0.102897868600655, 
-0.0580547578354561, -0.0677532352305158, -0.102897868600655, 
0.001638, 0.005816, 0.001802, -0.0632519844767603, -0.0984530938115999, 
-0.0957267222612055, 0.0665279844767603, 0.1100850938116, 0.0993307222612055
), .Dim = c(3L, 13L))
> dput(mu)
structure(c(0.001638, 0.005816, 0.001802), .Dim = c(3L, 1L))
> dput(Sigma)
structure(c(0.00164362748495062, 0.00127550132157053, 0.00109066033003292, 
0.00127550132157053, 0.00296017401626616, 0.00168755721411896, 
0.00109066033003292, 0.00168755721411896, 0.00280257641141517
), .Dim = c(3L, 3L))

1 Ответ

2 голосов
/ 10 февраля 2020

Вам просто нужно определить расстояние между ковариационными матрицами, что вы и сделали для среднего значения, то есть, используя abs. Вы можете выбрать из часто используемых норм матрицы , перечисленных здесь, например, Frobenius, $ L_2 $ et c. Вам также необходимо выбрать разумный порог на основе каждой из этих норм. Здесь - еще один хороший топи c в резюме.

...