Регрессионный анализ - это метод прогнозного моделирования, который исследует взаимосвязь между зависимой и независимой переменной.

Давайте рассмотрим простую линейную регрессию (только одна зависимая и одна независимая переменные) в этой статье.

В уравнении линии y = mx + c, y - зависимая переменная, x - независимая переменная, m - наклон, c '- точка пересечения по оси y.

Подробнее о форме перехвата склона читайте в ханской академии.

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

Линия наилучшего соответствия означает линию с минимальной суммой квадратов ошибок (SSE) или средней суммой квадратов ошибок (MSE). Здесь я использую SSE.

Математическая формулировка линейной регрессии выглядит следующим образом:

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

Решив поставленную выше задачу оптимизации, мы получим следующие значения «m» и «c»:

Теперь давайте реализуем это на Python

Изначально я импортировал необходимые модули

Я рассмотрел набор данных образца и сохраненный во фрейме данных pandas следующим образом:

Теперь давайте нанесем на график приведенные выше данные.

Теперь я создам класс для линейной регрессии.

Теперь давайте создадим модель с нашим набором данных dtrain.

Теперь давайте найдем прогнозируемые значения

Теперь давайте проверим степень соответствия с помощью R-Square

Значение R-квадрат - это статистическая мера того, насколько данные близки к подобранной линии регрессии.

Значение R-Squared составляет ~ 0,3, что не очень подходит.

Теперь давайте сравним нашу модель с моделью sklearn.

Результаты в точности совпадают с результатами нашей модели.

См. Полный код в блокноте ipython по ссылке на GitHub.

Также, если вы хотите узнать больше о линейной регрессии и о том, как она работает, есть отличная серия статей от Datum Guy, которую вы можете найти здесь.

Спасибо за чтение :) Ура!

Узнали что-то полезное из статьи? Пожалуйста, покажите свою признательность, хлопнув в ладоши и поделившись ею с друзьями. :)