РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
224 of 541 menu

Функция corrcoef

Функция corrcoef вычисляет коэффициент корреляции Пирсона для выборок данных. Коэффициент корреляции измеряет линейную зависимость между двумя переменными и принимает значения от -1 до 1: 1 означает полную положительную корреляцию, -1 - полную отрицательную корреляцию, 0 - отсутствие линейной зависимости. Первым параметром функция принимает массив данных, где каждая строка - это переменная, а каждый столбец - наблюдение. Вторым параметром можно передать массив для попарного сравнения.

Синтаксис

np.corrcoef(arr, [arr2], [rowvar=True], [bias=False], [dtype=None])

Основные параметры:

  • arr - входной массив, содержащий переменные в строках и наблюдения в столбцах;
  • arr2 - второй массив для попарного сравнения с первым;
  • rowvar - если True (по умолчанию), каждая строка - переменная, иначе каждый столбец - переменная;
  • bias - нормализация: если False (по умолчанию), используется деление на (N-1);
  • dtype - тип данных результирующего массива.

Пример

Вычислим коэффициент корреляции между двумя переменными:

import numpy as np # Две переменные: положительная корреляция x = np.array([1, 2, 3, 4, 5]) y = np.array([2, 4, 6, 8, 10]) arr = np.array([x, y]) res = np.corrcoef(arr) print(res)

Результат выполнения кода:

[[1. 1.] [1. 1.]]

Пример

Рассчитаем корреляцию для отрицательной зависимости:

import numpy as np x = np.array([1, 2, 3, 4, 5]) y = np.array([10, 8, 6, 4, 2]) arr = np.array([x, y]) res = np.corrcoef(arr) print(res)

Результат выполнения кода:

[[ 1. -1.] [-1. 1.]]

Пример

Используем второй массив для попарного сравнения:

import numpy as np x = np.array([1, 2, 3, 4, 5]) y = np.array([2, 4, 6, 8, 10]) z = np.array([5, 4, 3, 2, 1]) res = np.corrcoef(x, y, z) print(res)

Результат выполнения кода:

[[ 1. 1. -1.] [ 1. 1. -1.] [-1. -1. 1.]]

Пример

Изменим интерпретацию строк и столбцов с помощью параметра rowvar:

import numpy as np # Данные: столбцы - переменные arr = np.array([[1, 2, 3], [4, 5, 6]]) # По умолчанию строки - переменные res1 = np.corrcoef(arr) print("rowvar=True (строки - переменные):") print(res1) # Столбцы - переменные res2 = np.corrcoef(arr, rowvar=False) print("rowvar=False (столбцы - переменные):") print(res2)

Результат выполнения кода:

rowvar=True (строки - переменные): [[1. 1.] [1. 1.]] rowvar=False (столбцы - переменные): [[1. 1. 1.] [1. 1. 1.] [1. 1. 1.]]

Пример

Используем функцию для данных с случайным шумом:

import numpy as np rng = np.random.default_rng(0) x = rng.normal(0, 1, 100) y = 2 * x + rng.normal(0, 0.5, 100) arr = np.array([x, y]) res = np.corrcoef(arr) print("Коэффициент корреляции:") print(res)

Результат выполнения кода:

Коэффициент корреляции: [[1. 0.95923356] [0.95923356 1. ]]

Смотрите также

  • функцию cov,
    которая вычисляет ковариационную матрицу
  • функцию mean,
    которая вычисляет среднее арифметическое
  • функцию std,
    которая вычисляет стандартное отклонение
  • функцию var,
    которая вычисляет дисперсию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить