Основы линейной регрессии
Определение
Линейная регрессия — это методология, которая позволяет нам связать два явления. Этот подход позволяет определить правило на основе реальных данных для прогнозирования новых значений. Существуют алгоритмы и пакеты, которые выполняют линейную регрессию простым способом, но мы не всегда понимаем, что происходит за кулисами. Цель этой презентации — раскрыть математические основы линейной регрессии.
Метод
Метод можно разделить на три этапа:
- Начальный вид данных;
- Определение параметров;
- Сгенерируйте найденные параметры кривой.
Цель этого шага — проверить, следуют ли данные приблизительно линейному поведению. В противном случае метод линейной регрессии не следует применять. Рассмотрим следующий набор дат.

Мы можем построить эти данные и проверить их поведение. На изображении ниже мы видим, что график демонстрирует линейное поведение, поэтому применение метода линейной регрессии оправдано.

В этом репозитории я предоставил код Python, который генерирует аппроксимацию кривой с использованием линейной регрессии, как я уже сказал, математические основы подавлены, и мы понятия не имеем, что происходит внутри. Код генерирует изображение ниже.


Определение параметров
Для определения параметров a и b кривой воспользуемся методом наименьших квадратов. В этом методе значения а и b получаются таким образом, чтобы сумма квадратов разностей между наблюдаемыми значениями Y и значениями, полученными из скорректированной кривой для тех же значений X, была минимальной. Математически эту идею можно представить как:

Чтобы найти минимальную конфигурацию, мы можем вывести приведенное выше выражение относительно параметров a и b и приравнять его к нулю.

Зная, что n — это количество наблюдений, мы можем записать уравнения (I) и (II) в виде уравнений (III) и (IV) следующим образом.

Чтобы определить параметр b, мы разделим первое уравнение на n и выделим a, чтобы подставить его во второе уравнение:

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

Линейный коэффициент линии можно легко определить по уже определенному выше уравнению:

Мы можем рассчитать эти параметры прямо из данных, без использования пакета scipy, с помощью кода ниже:

И, наконец, после получения линейного коэффициента a и углового коэффициента b мы можем построить кривую соответствия.