(Не рекомендуемый) Ковариация, игнорирующая 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