История двух переменных

Введение в регрессию с statsmodels на Python

Maarten Van den Broeck

Content Developer at DataCamp

Данные о страховании автомобилей в Швеции

  • Каждая строка представляет один географический регион Швеции.
  • Всего 63 строки.
n_claims total_payment_sek
108 392.5
19 46.2
13 15.7
124 422.2
40 119.4
... ...
Введение в регрессию с statsmodels на Python

Описательная статистика

import pandas as pd
print(swedish_motor_insurance.mean())
n_claims             22.904762
total_payment_sek    98.187302
dtype: float64
print(swedish_motor_insurance['n_claims'].corr(swedish_motor_insurance['total_payment_sek']))
0.9128782350234068
Введение в регрессию с statsmodels на Python

Что такое регрессия?

  • Статистические модели для изучения связи между целевой переменной и объясняющими переменными.
  • Зная значения объясняющих переменных, можно предсказать значения целевой переменной.
n_claims total_payment_sek
108 3925
19 462
13 157
124 4222
40 1194
200 ???
Введение в регрессию с statsmodels на Python

Терминология

Целевая переменная (она же зависимая переменная)

Переменная, значение которой нужно предсказать.

Объясняющие переменные (они же независимые переменные)

Переменные, которые объясняют изменение целевой переменной.

Введение в регрессию с statsmodels на Python

Линейная и логистическая регрессия

Линейная регрессия

  • Целевая переменная числовая.

Логистическая регрессия

  • Целевая переменная логическая.

Простая линейная/логистическая регрессия

  • Используется только одна объясняющая переменная.
Введение в регрессию с statsmodels на Python

Визуализация пар переменных

import matplotlib.pyplot as plt
import seaborn as sns

sns.scatterplot(x="n_claims",
                y="total_payment_sek",    
                data=swedish_motor_insurance)

plt.show()

Диаграмма рассеяния суммы выплат в зависимости от числа страховых случаев. Выплаты растут по мере увеличения числа случаев.

Введение в регрессию с statsmodels на Python

Добавление линии тренда

sns.regplot(x="n_claims",
            y="total_payment_sek",
            data=swedish_motor_insurance,
            ci=None)

Та же диаграмма рассеяния, дополненная линией тренда, построенной методом линейной регрессии. Линия хорошо описывает данные.

Введение в регрессию с statsmodels на Python

Структура курса

Глава 1

Визуализация и построение моделей линейной регрессии.

Глава 2

Прогнозирование на основе линейной регрессии и интерпретация коэффициентов модели.

Глава 3

Оценка качества модели линейной регрессии.

Глава 4

То же самое, но для моделей логистической регрессии.

Введение в регрессию с statsmodels на Python

Пакеты Python для регрессии

statsmodels

  • Оптимизирован для анализа и интерпретации (основной инструмент курса)

scikit-learn

  • Оптимизирован для прогнозирования (используется в других курсах DataCamp)
Введение в регрессию с statsmodels на Python

Давайте потренируемся!

Введение в регрессию с statsmodels на Python

Preparing Video For Download...