Регрессионный анализ - это метод прогнозного моделирования, который исследует взаимосвязь между зависимой и независимой переменной.
Давайте рассмотрим простую линейную регрессию (только одна зависимая и одна независимая переменные) в этой статье.
В уравнении линии 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, которую вы можете найти здесь.
Спасибо за чтение :) Ура!
Узнали что-то полезное из статьи? Пожалуйста, покажите свою признательность, хлопнув в ладоши и поделившись ею с друзьями. :)