Преобразовать ковариационную матрицу в корреляционную матрицу
Сравните матрицу корреляции, полученную при применении corrcov
на ковариационной матрице с корреляционной матрицей, полученной прямым расчетом с помощью corrcoef
на матрице входа.
Загрузите hospital
Данные установите и создайте матрицу, содержащую Weight
и BloodPressure
измерения. Обратите внимание, что hospital.BloodPressure
имеет два столбца данных.
load hospital
X = [hospital.Weight hospital.BloodPressure];
Вычислите ковариационную матрицу.
C = cov(X)
C = 3×3
706.0404 27.7879 41.0202
27.7879 45.0622 23.8194
41.0202 23.8194 48.0590
Вычислите корреляционную матрицу из ковариационной матрицы при помощи corrcov
.
R1 = corrcov(C)
R1 = 3×3
1.0000 0.1558 0.2227
0.1558 1.0000 0.5118
0.2227 0.5118 1.0000
Вычислите матрицу корреляции непосредственно при помощи corrcoef
, а затем сравните R1
с R2
.
R2 = corrcoef(X)
R2 = 3×3
1.0000 0.1558 0.2227
0.1558 1.0000 0.5118
0.2227 0.5118 1.0000
Матрицы корреляции R1
и R2
те же самые.
Найдите вектор стандартных отклонений от ковариационной матрицы и покажите связь между стандартными отклонениями и ковариационной матрицей.
Загрузите hospital
Данные установите и создайте матрицу, содержащую Weight
, BloodPressure
, и Age
измерения. Обратите внимание, что hospital.BloodPressure
имеет два столбца данных.
load hospital
X = [hospital.Weight hospital.BloodPressure hospital.Age];
Вычислите ковариационную матрицу X
.
C = cov(X)
C = 4×4
706.0404 27.7879 41.0202 17.5152
27.7879 45.0622 23.8194 6.4966
41.0202 23.8194 48.0590 4.0315
17.5152 6.4966 4.0315 52.0622
C
является квадратным, симметричным и положительным полусердинитом. Диагональные элементы C
являются отклонениями четырех переменных в X
.
Вычислите корреляционную матрицу и стандартные отклонения X
из ковариационной матрицы C
.
[R,s1] = corrcov(C)
R = 4×4
1.0000 0.1558 0.2227 0.0914
0.1558 1.0000 0.5118 0.1341
0.2227 0.5118 1.0000 0.0806
0.0914 0.1341 0.0806 1.0000
s1 = 4×1
26.5714
6.7128
6.9325
7.2154
Вычислите квадратный корень диагональных элементов в C
, а затем сравните s1
с s2
.
s2 = sqrt(diag(C))
s2 = 4×1
26.5714
6.7128
6.9325
7.2154
s1
и s2
равны и соответствуют стандартному отклонению переменных в X
.
C
- Ковариационная матрицаКовариационная матрица, заданная как квадратная, симметричная и положительная полуопределенная матрица.
Для матричной X, которая имеет N наблюдения (строки) и n случайные переменные (столбцы), C
является n -by - n матрицей. Диагональные элементы n C
являются отклонениями n случайных переменных в X и нулем диагонали в C
указывает постоянную переменную в X.
Типы данных: single
| double
R
- Матрица корреляцииМатрица корреляции, возвращенная как матрица, которая соответствует ковариационной матрице C
.
Типы данных: single
| double
sigma
- Стандартные отклоненияСтандартные отклонения, возвращенные как n -by - 1 вектор.
Элементы sigma
являются стандартными отклонениями переменных в X, N матрице n -by -, которая создает C
. Строка i
в sigma
соответствует стандартному отклонению столбца i
в X.
Типы данных: single
| double
Для двух векторов A и B случайных переменных, ковариация определяется как
где N - длина каждого столбца, μA и μB - средние значения A и B, соответственно, и *
обозначает комплексный сопряженный.
Ковариационная матрица двух случайных переменных является матрицей парных ковариационных вычислений между каждой переменной,
Для матричной X, в которой каждый столбец является случайной переменной, составленной из наблюдений, ковариационная матрица является парным ковариационным вычислением между каждой комбинацией столбцов. Другими словами, .
Для векторной A случайных переменных, составленной из N скалярных наблюдений, отклонение определяется как
где μ - среднее значение A,
В некоторых определениях отклонения вместо N–1 используется коэффициент нормализации N, но среднее значение всегда имеет N фактора нормализации.
Эта функция полностью поддерживает массивы GPU. Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.