На всякий случай позвольте представить вам квартет Энскомба. Он состоит из четырех наборов данных, которые имеют аналогичную статистическую сводку. У них одинаковые показатели центральной тенденции, корреляции и даже одна и та же модель линейной регрессии. Они похожи во всех отношениях. Однако вы добавляете визуализацию данных, и начинает появляться совершенно другая история. В следующем блоге вы найдете подробные заметки о наборе данных и его визуализации с использованием библиотек Python.

Набор данных

Чтобы объяснить эту концепцию, вот четыре набора данных, которые я использую, с 11 точками данных для значений x и y.

Статистическая сводка для всех четырех наборов данных выглядит следующим образом. Я поделился подробным кодом для создания регрессионной модели в блоге ниже.

Сделайте точечную диаграмму (подробный код ближе к концу блога) и о чудо, графики выглядят так:

  • Набор данных 1: мы видим четкую положительную корреляцию между значениями x и y.
  • Набор данных 2: отсутствие линейной зависимости между x и y
  • Набор данных 3: хотя между x и y существует линейная зависимость, у нас также есть выброс, из-за которого корреляция уменьшилась с 1 до 0,816.
  • Набор данных 4: На четвертом графике мы видим, как одна точка выброса с высоким кредитным плечом привела к высокому значению корреляции. Рычаг – это показатель того, насколько независимые значения одного наблюдения отличаются от значений других наблюдений.

Как видно выше, ясно, что мы не можем полагаться исключительно на статистическую сводку. Поскольку мы пытаемся получить представление о данных и проанализировать их, визуализация является ключевым шагом.

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

Ниже приведены библиотеки Python, которые я использовал для демонстрации этого:

  1. Numpy — для выполнения числовых и статистических операций над набором данных.
  2. Pandas — для создания фреймов данных
  3. Matplotlib и Seaborn для визуализации данных и разработки выводов
  4. LinearRegression из библиотеки Scikit для получения коэффициента и перехвата путем обучения модели.
  5. R2_score от scikit научиться получать значения r в квадрате

Приступим к анализу наборов данных:

Первый набор данных

1. Создание первого набора данных

2. Проверка значений

3. Проверка статистической сводки

Мы можем заметить, что среднее значение x1 равно 9, а среднее значение y1 равно 7,5.

4. Теперь проверим корреляцию между x1 и y1

Корреляция между x1 и y1 составляет 0,816.

5. Давайте получим уравнение линии линейной регрессии.

Преобразование значений в двумерный массив, т. е. от (11,) до (11,1), поскольку библиотеке обучения Scikit требуется двумерный массив.

Обучение модели

Мы видим, что после обучения модели значениями x1 и y1 с использованием библиотеки обучения scikit мы получаем точку пересечения 3,0 и наклон 0,5.

y1=3.0+0.5*x1

6. Теперь давайте проверим значение r в квадрате

Значение R в квадрате равно 0,67.

Таким образом, мы получаем следующие значения для Dataset1

Точно так же мы можем проанализировать и другие наборы данных, код которых доступен по моей git ссылке здесь.

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

Результирующий сюжет будет таким, как мы видели ранее

Вывод:

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

Ссылки:

https://en.wikipedia.org/wiki/Anscombe's_quartet