numpy.corrcoef
- numpy.corrcoef(x, y=None, rowvar=True, bias=<no value>, ddof=<no value>, *, dtype=None)[source]
-
Возвращает коэффициенты корреляции Пирсона.
Обратитесь к документации для
covдля получения более подробной информации. Связь между матрицей коэффициентов корреляции,R, и матрицей ковариации,C, составляет\[R_{ij} = \frac{ C_{ij} } { \sqrt{ C_{ii} C_{jj} } }\]Значения
Rнаходятся в диапазоне от -1 до 1 включительно.- Параметры:
-
- xarray_like
-
Одномерный или двумерный массив, содержащий несколько переменных и наблюдений. Каждая строка
xпредставляет переменную, а каждый столбец — одно наблюдение за всеми этими переменными. Также см.rowvarниже. - yarray_like, необязательно
-
Дополнительный набор переменных и наблюдений.
yимеет такую же форму, какx. - rowvarbool, необязательно
-
Если
rowvarравно True (по умолчанию), то каждая строка представляет переменную, а наблюдения находятся в столбцах. В противном случае связь транспонирована: каждый столбец представляет переменную, а строки содержат наблюдения. - bias_NoValue, необязательно
-
Не оказывает влияния, не используйте.
Устарело начиная с версии 1.10.0.
- ddof_NoValue, необязательно
-
Не оказывает влияния, не используйте.
Устарело начиная с версии 1.10.0.
- dtypeтип данных, необязательно
-
Тип данных результата. По умолчанию возвращаемый тип данных будет иметь по крайней мере
numpy.float64точность.Добавлен в версии 1.20.
- Возвращает:
-
- Rndarray
-
Матрица коэффициентов корреляции переменных.
См. также
cov-
Матрица ковариации
Примечания
Из-за округления с плавающей точкой результирующий массив может не быть эрмитовым, диагональные элементы могут не быть равны 1, а элементы могут не удовлетворять неравенству abs(a) <= 1. Вещественная и мнимая части обрезаются до интервала [-1, 1] в попытке улучшить ситуацию, но это не сильно помогает в комплексном случае.
Эта функция принимает, но игнорирует аргументы
biasиddof. Это делается для обратной совместимости с предыдущими версиями этой функции. Эти аргументы не влияли на возвращаемые значения функции и могут быть безопасно проигнорированы в этой и предыдущих версиях numpy.Примеры
В этом примере мы генерируем два случайных массива,
xarrиyarr, и вычисляем коэффициенты корреляции Пирсона по строкам и столбцам,R. Посколькуrowvarпо умолчанию равно True, мы сначала находим коэффициенты корреляции Пирсона по строкам между переменнымиxarr.>>> import numpy as np >>> rng = np.random.default_rng(seed=42) >>> xarr = rng.random((3, 3)) >>> xarr array([[0.77395605, 0.43887844, 0.85859792], [0.69736803, 0.09417735, 0.97562235], [0.7611397 , 0.78606431, 0.12811363]]) >>> R1 = np.corrcoef(xarr) >>> R1 array([[ 1. , 0.99256089, -0.68080986], [ 0.99256089, 1. , -0.76492172], [-0.68080986, -0.76492172, 1. ]])Если мы добавим другой набор переменных и наблюдений
yarr, мы можем вычислить коэффициенты корреляции Пирсона по строкам между переменными вxarrиyarr.>>> yarr = rng.random((3, 3)) >>> yarr array([[0.45038594, 0.37079802, 0.92676499], [0.64386512, 0.82276161, 0.4434142 ], [0.22723872, 0.55458479, 0.06381726]]) >>> R2 = np.corrcoef(xarr, yarr) >>> R2 array([[ 1. , 0.99256089, -0.68080986, 0.75008178, -0.934284 , -0.99004057], [ 0.99256089, 1. , -0.76492172, 0.82502011, -0.97074098, -0.99981569], [-0.68080986, -0.76492172, 1. , -0.99507202, 0.89721355, 0.77714685], [ 0.75008178, 0.82502011, -0.99507202, 1. , -0.93657855, -0.83571711], [-0.934284 , -0.97074098, 0.89721355, -0.93657855, 1. , 0.97517215], [-0.99004057, -0.99981569, 0.77714685, -0.83571711, 0.97517215, 1. ]])Наконец, если мы используем опцию
rowvar=False, столбцы теперь обрабатываются как переменные, и мы получим коэффициенты корреляции Пирсона по столбцам между переменными вxarrиyarr.>>> R3 = np.corrcoef(xarr, yarr, rowvar=False) >>> R3 array([[ 1. , 0.77598074, -0.47458546, -0.75078643, -0.9665554 , 0.22423734], [ 0.77598074, 1. , -0.92346708, -0.99923895, -0.58826587, -0.44069024], [-0.47458546, -0.92346708, 1. , 0.93773029, 0.23297648, 0.75137473], [-0.75078643, -0.99923895, 0.93773029, 1. , 0.55627469, 0.47536961], [-0.9665554 , -0.58826587, 0.23297648, 0.55627469, 1. , -0.46666491], [ 0.22423734, -0.44069024, 0.75137473, 0.47536961, -0.46666491, 1. ]])
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.corrcoef.html