Python - тест корреляции Пирсона между двумя переменными

Опубликовано: 30 Ноября, 2021

Что такое корреляционный тест?
Сила связи между двумя переменными известна как тест корреляции.
Например, если нас интересует, существует ли связь между ростом отцов и сыновей, для ответа на этот вопрос можно рассчитать коэффициент корреляции.

Чтобы узнать больше о корреляции, обратитесь сюда.

Методы корреляционного анализа:

  • Параметрическая корреляция: он измеряет линейную зависимость между двумя переменными (x и y), известную как тест параметрической корреляции, поскольку он зависит от распределения данных.
  • Непараметрическая корреляция: коэффициенты корреляции Кендалла (тау) и Спирмена (ро) , которые являются коэффициентами корреляции на основе ранга, известны как непараметрическая корреляция.

Примечание . Наиболее часто используемым методом является метод параметрической корреляции.

Формула корреляции Пирсона:

x and y are two vectors of length n
m, x and m, y corresponds to the means of x and y, respectively.

Примечание:

  • r принимает значение от -1 (отрицательная корреляция) до 1 (положительная корреляция).
  • r = 0 означает отсутствие корреляции.
  • Не может применяться к порядковым переменным.
  • Размер выборки должен быть умеренным (20-30) для хорошей оценки.
  • Выбросы могут привести к ошибочным значениям, а значит, не устойчивым к выбросам.

Для вычисления корреляции Пирсона в Python можно использовать функцию pearsonr ().
Функции Python

Syntax:
pearsonr(x, y)

Parameters:
x, y: Numeric vectors with the same length

Данные: Загрузите файл csv здесь.

Код: код Python для поиска корреляции Пирсона

# Import those libraries
import pandas as pd
from scipy.stats import pearsonr
# Import your data into Python
df = pd.read_csv( "Auto.csv" )
# Convert dataframe into series
list1 = df[ 'weight' ]
list2 = df[ 'mpg' ]
# Apply the pearsonr()
corr, _ = pearsonr(list1, list2)
print ( 'Pearsons correlation: %.3f' % corr)
# This code is contributed by Amiya Rout

Выход:

 Корреляция Пирсона: -0,878

Корреляция Пирсона для данных Анскомба:
Данные Анскомба, также известные как квартет Анскомба, состоят из четырех наборов данных, которые имеют почти идентичные простые статистические свойства, но выглядят очень разными на графике. Каждый набор данных состоит из одиннадцати (x, y) точек. Они были построены в 1973 году статистиком Фрэнсисом Анскомбом, чтобы продемонстрировать как важность построения графиков данных перед их анализом, так и влияние выбросов на статистические свойства.

Эти 4 набора из 11 точек данных приведены здесь. Загрузите файл csv здесь.
Когда мы наносим эти точки на график, это выглядит так. Здесь я рассматриваю 3 набора из 11 точек данных.

Краткое объяснение приведенной выше диаграммы:
Итак, если мы применим коэффициент корреляции Пирсона для каждого из этих наборов данных, мы обнаружим, что он почти идентичен, не имеет значения, применяете ли вы на самом деле к первому набору данных (вверху слева), второму набору данных (вверху справа) или третьему. набор данных (внизу слева).
Итак, это, кажется, указывает на то, что если мы применим корреляцию Пирсона и обнаружим высокий коэффициент корреляции, близкий к единице в этом первом наборе данных (вверху слева). Ключевым моментом здесь является то, что мы не можем сразу сделать вывод, что если коэффициент корреляции Пирсона будет высоким, то между ними существует линейная зависимость, например, во втором наборе данных (вверху справа) это нелинейная зависимость и по-прежнему дает начало высокой стоимости.

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.