Подбор линейной регрессии

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

Maarten Van den Broeck

Content Developer at DataCamp

Прямая линия определяется двумя параметрами

Свободный член

Значение $y$, когда $x$ равно нулю.

Наклон

Величина, на которую увеличивается $y$ при увеличении $x$ на единицу.

Уравнение

$y = \text{intercept} + \text{slope} * x$

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

Оценка свободного члена

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

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

Оценка свободного члена

Точечная диаграмма зависимости суммы выплат от числа страховых случаев с отмеченной точкой пересечения линии тренда с осью y.

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

Оценка свободного члена

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

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

Оценка наклона

Точечная диаграмма зависимости суммы выплат от числа страховых случаев с двумя отмеченными точками на линии тренда. Одна точка — 1500 крон и 40 случаев; другая — 3500 крон и 100 случаев.

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

Оценка наклона

Точечная диаграмма зависимости суммы выплат от числа страховых случаев с отмеченной разностью выплат между двумя точками: 3500 крон минус 1500 крон равно 2000 крон.

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

Оценка наклона

Точечная диаграмма зависимости суммы выплат от числа страховых случаев с отмеченной разностью числа случаев между двумя точками: 100 случаев минус 40 случаев равно 60 случаев.

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

Оценка наклона

Точечная диаграмма зависимости суммы выплат от числа страховых случаев с отмеченным отношением разности выплат к разности числа случаев: 2000 делить на 60 — примерно 33.

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

Запуск модели

from statsmodels.formula.api import ols

mdl_payment_vs_claims = ols("total_payment_sek ~ n_claims", data=swedish_motor_insurance)
mdl_payment_vs_claims = mdl_payment_vs_claims.fit()
print(mdl_payment_vs_claims.params)
Intercept    19.994486
n_claims      3.413824
dtype: float64
Введение в регрессию с statsmodels на Python

Интерпретация коэффициентов модели

Intercept    19.994486
n_claims      3.413824
dtype: float64

Уравнение

$\text{total\_payment\_sek} = 19.99 + 3.41 * \text{n\_claims}$

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

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

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

Preparing Video For Download...