Menu
CoddyTech

Корреляция не означает причинность

Часть раздела Статистика для машинного обучения путешествия по Machine Learning на Coddy. Урок 33 из 64.

r видит только прямые линии. Здесь y полностью определяется x, однако r равно 0:

Диаграмма рассеяния y = x в квадрате для x от -3 до 3: идеальная U-образная форма из точек, заголовок — r = 0.0

Нисходящая половина компенсирует восходящую. Значение r, близкое к 0, означает отсутствие прямой линии, а не отсутствие взаимосвязи: построй график, прежде чем удалять признак.

И одна удалённая точка может создать впечатление сильной корреляции r, поэтому сначала проверьте выбросы:

Восемь синих точек образуют рыхлое облако около 4 по горизонтали и 5 по вертикали, r = -0.27, а одна красная точка находится далеко — на отметках 20 и 25. С ней r возрастает до 0.95

Наконец, r никогда не доказывает причинно-следственную связь. У детей постарше размер обуви больше, и они лучше читают: возраст, скрытая третья переменная, влияет на оба показателя.

challenge icon

Задание

Средне

Чайная проверяет свои чашки: steep и taste для 9 чашек (время заваривания в минутах, оценка), sugar и score для 10 других (кубики сахара, оценка). Программа считывает количество сахара для одной дополнительной чашки, затем оценку.

  1. Выведите r для steep и taste.
  2. Выведите r для sugar и score, а затем — с добавлением дополнительной чашки.

Округлите до 2 знаков после запятой, подпишите, как показано ниже. Для другой чайной и дополнительной чашки со значениями 10, 2.0:

Steeping r: -0.05
Sugar r: -0.23
Sugar r with the extra cup: -0.88

Попробуйте сами

import numpy as np

# Время заваривания в минутах и оценка вкуса 9 чашек
steep = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
taste = np.array([3.1, 5.0, 6.6, 7.7, 8.1, 7.6, 6.5, 5.1, 3.4])

# Количество кубиков сахара и оценка вкуса 10 других чашек
sugar = np.array([0, 2, 1, 3, 0, 2, 1, 3, 2, 1])
score = np.array([6.5, 5.8, 7.4, 6.1, 5.9, 7.0, 6.2, 6.8, 6.4, 5.7])

# Дополнительная чашка
extra_sugar = float(input())
extra_score = float(input())

# Напишите свой код ниже
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Статистика для машинного обучения

Потренируйтесь самостоятельно: Онлайн-компилятор Python