Линейная регрессия
Идея метода
В линейной регрессии (linear regression) прогноз строится как линейная комбинация признаков:
Если ввести в признаки константную единицу и использовать векторное обозначение
то прогноз линейной регрессии можно записать в компактном виде:
Модель основана на следующих предположениях:
-
каждый признак линейно влияет на отклик с коэффициентом ;
-
характер влияния каждого признака постоянен и не зависит от значений других признаков.
Достоинства линейной регрессии
Модель линейной регрессии простая и интерпретируемая, быстро работает и содержит мало параметров, поэтому наименее склонна к переобучению.
Если число признаков велико, а число объектов в обучающей выборке мало, то при тщательно подобранной регуляризации модель может оказаться наилучшей среди всех возможных!
Другим достоинством линейной регрессии является наличие аналитического решения (при минимизации суммы квадратов прогнозов), которое является глобальным мин имумом функции потерь, т.е. наилучшим значением из всех возможных.
Недостатки линейной регрессии
Предположения линейной регрессии довольно просты и на практике, скорее всего, выполняться не будут: признаки влияют скорее всего нелинейно и характер этого влияния зависит от значений других признаков.
Например, при оценке стоимости квартиры по её характеристикам, стоимость нелинейным образом зависит от увеличения расстояния до метро, причем характер этого влияния разный в зависимости от того, есть ли рядом остановка общественного транспорта или нет.
Нарушение модельных предположений будет приводить к меньшей точности прогнозов.
Ограничения линейной регрессии можно исправить вручную, если в качестве признаков добавлять нелинейные трансформации исходных признаков. Тогда модель в терминах исходных признаков будет получаться нелинейной! Если трансформации будут зависеть не от каждого признака по отдельности, а сразу от нескольких признаков, то характер влияния признаков также будет варьироваться в зависимости от значений других признаков.
Ранее мы обсуждали, что для многих методов машинного обучения масштаб признаков (диапазон принимаемых значений) влияет на прогнозы. Например, признак [вес] мы можем измерять в килограммах, граммах или тоннах, и это будет оказывать влияние на прогноз.
Будет ли изменение масштаба признаков (после перенастройки модели с новым масштабом) влиять на прогнозы линейной регрессии?
Нет, не будет. Например, если признак уменьшить в 100 раз, то соответствующий коэффициент при признаке увеличится в 100 раз, а итоговый прогноз не изменится.
Минимизация суммы квадратов отклонений соответствует применению метода максимального правдоподобия к вероятностной модели
где - шум, распределённый согласно нормальному распределению (докажите).
А если бы мы взяли из распределения Лапласа, то чему бы соответствовал метод максимального правдоподобия?
Минимизации суммы модулей ошибок прогнозов (докажите).
Пример запуска в Python
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error
X_train, X_test, Y_train, Y_test = get_demo_regression_data()
model = LinearRegression() # инициализация модели
model.fit(X_train,Y_train) # обучение модели
Y_hat = model.predict(X_test) # построение прогнозов
print(f'Средний модуль ошибки (MAE): \
{mean_absolute_error(Y_test, Y_hat):.2f}')
Больше информации. Полный код.
В следующих главах мы рассмотрим аналитический вывод весов для линейной регрессии, введение регуляризации в модель и всевозможные усложнения и варианты применения модели.
Дополнительно о линейной регрессии можно прочитать в википедии [1], а также в документации sklearn [2].