Следующая тема: ИАД. Валидация результатов

Вернуться в раздел: Исследовательский анализ данных

Вернуться в оглавление: Я.Практикум

 
 

Введение

Когда у вас два набора данных, будьте готовы к тому, что связь придётся искать не для двух, а для четырёх, шести, восьми наборов — параметров может быть много. Для таких поисков вам понадобится совместное распределение множества величин.

Чему вы научитесь:

  • Строить диаграмму рассеяния;
  • Считать коэффициент корреляции Пирсона;
  • Находить совместное распределение для множества величин

Вам предстоит:

Построить две матрицы диаграмм рассеяния: для исходных и отфильтрованных данных.

Сколько времени это займет:

4 урока по 15 минут

Постановка задачи:

Убедитесь в том, что избавление от аномалий не повлияло на природу распределения исходных данных.

Изучим числовые характеристики:

hw.describe()

                     height           weight
count 7634.000000      7634.000000
mean   172.640603        57.688374
std         4.875440         5.274638
min       153.956131        37.687478
25%       169.297852        54.155792
50%       172.641400        57.746296
75%       175.939310        61.205201
max       190.888112        76.604422

...и гистограммы:

hw.plot(x='height', y='weight', kind='scatter', alpha=0.3)

p1

Какие красивые соты получились! Отчётливо видно, что в центре графика не однородное пятно, а определённая структура данных. В самой «густой» зоне люди с ростом от 170 до 175 см и весом от 55 до 60 кг.

0.5196907833692264
0.5196907833692264

        height    weight       age      male
height  1.000000  0.940822  0.683689  0.139229
weight  0.940822  1.000000  0.678335  0.155443
age     0.683689  0.678335  1.000000  0.005887
male    0.139229  0.155443  0.005887  1.000000

Проверочные задания. Взаимосвязь данных

Чтобы пройти тест нужно правильно ответить на 5 вопросов из 10.
Время на прохождение: 20 минут

Задание 1 из 10
Данные о пользователях интернет-магазина собрали в датафрейм из четырёх колонок. Для каких значений можно посчитать коэффициент корреляции Пирсона? Выберите несколько вариантов. 
import pandas as pd

users_df = pd.DataFrame({
    "age": [23, 45, 38, 47, 25, 27, 34],
    "time_on_website": [15, 47, 18, 32, 55, 125, 9],
    "made_a_purchase": [1, 0, 1, 1, 1, 1, 0],
    "money_spent": [11.1, 0, 20.9, 31.4, 5.5, 9.7, 0]
})

print(users_df) 


Правильный ответ
age, time_on_website

Правильный ответ
age, money_spent

time_on_website, made_a_purchase

Правильный ответ
time_on_website, money_spent

Коэффициент Пирсона считают только для количественных значений. Коэффициент корреляции поможет проверить, зависит ли сумма покупки от времени, проведённого на сайте. Возраст — тоже количественное значение, значит, можно оценить связь между возрастом и суммой трат на онлайн-покупки. В колонке made_a_purchase находятся категориальные значения. В этом случае посчитать коэффициент Пирсона не получится.

Задание 2 из 10
Выберите метод, который построит матрицу корреляции.


Правильный ответ
corr()

hist()

pivot_table()

variance()

Матрица корреляции выглядит как таблица с коэффициентами для каждой пары столбцов. Методом corr() не только строят матрицу корреляции, но и считают корреляцию между двумя столбцами.

Задание 3 из 10
В данных интернет-магазина обнаружилась корреляция между количеством промоакций и увеличением выручки. Сложно сказать, что промоакции напрямую вызывают рост продаж. Выберите главную причину, почему нельзя сделать однозначный вывод.

Промоакции могут отрицательно влиять на выручку.

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

Нужно учесть, что данные могут быть неточными или неполными.

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

Важно помнить, что корреляция не доказывает причинно-следственную связь. Иначе можно ошибиться в выводах. Агрессивный маркетинг действительно часто приносит больше вреда, чем пользы. Но это не значит, что рост или падение продаж не спровоцировал третий фактор.

Задание 4 из 10
Данные о корреляции между величинами собрали в матрицу. Выберите правильное утверждение о характере связи между величинами. 
   a     b     c     d

a  1.00 -0.89  0.11 -0.39

b -0.89  1.00 -0.11  0.39

c  0.11 -0.11  1.00  0.02

d -0.39  0.39  0.02  1.00 


Между величинами a и b практически нет взаимосвязи.

При возрастании b будет увеличиваться и c.

Правильный ответ
Если a возрастает, b уменьшается.

У c сильная связь с остальными величинами.

Чем ближе значение корреляции к крайним значениям 1 или -1, тем сильнее связь между величинами. Отрицательное значение корреляции не говорит о том, что связи нет. Зависимость будет обратной: при возрастании одной величины другая будет уменьшаться. Небольшие значения коэффициентов, как в случае с величиной c, говорят о том, что связь слабая.

Задание 5 из 10
Данные в матрице обновились. Выберите правильное утверждение о характере связи между величинами. 
  a      b     c     d

a 1.00   0.19  0.71 -0.49

b 0.19   1.00 -0.43 -0.02

c 0.71  -0.43  1.00  0.92

d -0.49 -0.02  0.92  1.00 


Правильный ответ
Между величинами a и b практически нет взаимосвязи.

При возрастании b увеличивается и c.

Если a возрастает, b уменьшается.

У d слабая связь с остальными величинами.

Невысокое значение корреляции не означает, что рост одной величины уменьшает другую. Если знак положительный — зависимость значений прямая. Но в таких случаях чаще говорят о том, что связи нет или её характер слишком сложный.

Задание 6 из 10
Выберите графики, на которых отображены значения с сильной корреляцией.

image

Правильный ответ
image

Правильный ответ
image

Если на графике точки расположены хаотично, сложно сделать вывод о характере связи. Но если на графике видно, что с увеличением одной величины возрастает или уменьшается другая, такие величины точно связаны.

Задание 7 из 10
Соотнесите график с характером корреляции.

image
Близкая к нулю
image
Положительная
image
Близкая к нулю
image
Отрицательная

Если одна величина не влияет на другую, точки могут выстроиться в линию. На основе такого графика нельзя сделать однозначный вывод о характере связи.

Задание 8 из 10
Соотнесите каждый график с его типом.

image
Диаграмма рассеяния
image
Гистограмма
image
График ‘hexbin’
image
Матрица диаграмм рассеяния

Все три графика, кроме гистограммы, отобразят связь между величинами. Матрицу диаграмм рассеяния стоит использовать, если величин много — больше двух. Гистограмма покажет распределение значений только для одной величины. Для нескольких величин потребуется больше гистограмм, но сравнивать такие графики не очень удобно.

Задание 9 из 10
Перед вами диаграмма рассеяния с коэффициентом прозрачности 1. Какой код выведет этот же график с прозрачностью, увеличенной вдвое?

image

Правильный ответ
df.plot.scatter(x='a', y='e', alpha=0.5)

df.plot.scatter(x='a', y='e', alpha=-2)

df.plot.scatter(x='a', y='e', alpha=2)

df.plot.histogram(x='a', y='e', alpha=-0.5)

Параметр alpha принимает значения от 0 до 1, где 1 — непрозрачный график, а 0 — полностью прозрачный. Коэффициент 0.5 даст нужный результат.

Задание 10 из 10
Какой метод визуализирует все взаимосвязи для датафрейма из пяти числовых колонок?

hist()

scatter()

corr()

Правильный ответ
scatter_matrix()

Сложно нарисовать один понятный график для пяти колонок. Можно построить отдельную диаграмму рассеяния для каждой пары. Эту задачу решит метод scatter_matrix(). Он построит диаграммы рассеяния и гистограммы с распределением каждого столбца. Такой график называется матрицей диаграмм рассеяния.

 

Следующая тема: ИАД. Валидация результатов

Вернуться в раздел: Исследовательский анализ данных

Вернуться в оглавление: Я.Практикум