(Не рекомендуемый) Ковариационное игнорирование NaN значения
nancov не рекомендуется. Используйте MATLAB® функция cov вместо этого. С cov можно задать, включать или опускать функцию NaN значения для вычисления. Для получения дополнительной информации см. раздел Вопросов совместимости.
Y = nancov(X)
Y = nancov(X1,X2)
Y
= nancov(...,1)
Y = nancov(...,'pairwise')
Y = nancov(X) является ковариацией cov от X, вычисленный после удаления наблюдений с NaN значения.
Для векторов x, nancov(x) является выборочным отклонением остальных элементов, один раз NaN значения удаляются. Для матриц X, nancov(X) является выборочной ковариацией остальных наблюдений, если наблюдения (строки) содержат какие-либо NaN значения удаляются.
Y = nancov(X1,X2), где X1 и X2 являются матрицами с таким же количеством элементов, эквивалентно nancov(X), где X = [X1(:) X2(:)].
nancov удаляет среднее значение из каждой переменной (столбец для матрицы X) перед вычислением Y. Если n - количество оставшихся наблюдений после удаления наблюдений с NaN значения, nancov нормализует Y по n - 1 или n , в зависимости от того, n > 1 или n = 1, соответственно. Чтобы задать нормализацию по n, используйте Y
= nancov(...,1).
Y = nancov(...,'pairwise') вычисляет Y(i,j) использование строк без NaN значения в столбцах i или j. Результат Y может не быть положительно определенной матрицей.
Сгенерируйте случайные данные для двух переменных (столбцов) со случайными отсутствующими значениями:
X = rand(10,2);
p = randperm(numel(X));
X(p(1:5)) = NaN
X =
0.8147 0.1576
NaN NaN
0.1270 0.9572
0.9134 NaN
0.6324 NaN
0.0975 0.1419
0.2785 0.4218
0.5469 0.9157
0.9575 0.7922
0.9649 NaNУстановите корреляцию между третьей переменной и двумя другими переменными:
X(:,3) = sum(X,2)
X =
0.8147 0.1576 0.9723
NaN NaN NaN
0.1270 0.9572 1.0842
0.9134 NaN NaN
0.6324 NaN NaN
0.0975 0.1419 0.2394
0.2785 0.4218 0.7003
0.5469 0.9157 1.4626
0.9575 0.7922 1.7497
0.9649 NaN NaNВычислите ковариационную матрицу для трех переменных после удаления наблюдений (строк) с NaN значения:
Y = nancov(X)
Y =
0.1311 0.0096 0.1407
0.0096 0.1388 0.1483
0.1407 0.1483 0.2890