Основы линейной регрессии

Nov 27 2022
Определение Линейная регрессия — это методология, которая позволяет нам связать два явления. Этот подход позволяет определить правило на основе реальных данных для прогнозирования новых значений.

Определение

Линейная регрессия — это методология, которая позволяет нам связать два явления. Этот подход позволяет определить правило на основе реальных данных для прогнозирования новых значений. Существуют алгоритмы и пакеты, которые выполняют линейную регрессию простым способом, но мы не всегда понимаем, что происходит за кулисами. Цель этой презентации — раскрыть математические основы линейной регрессии.

Метод

Метод можно разделить на три этапа:

  • Начальный вид данных;
  • Определение параметров;
  • Сгенерируйте найденные параметры кривой.

Цель этого шага — проверить, следуют ли данные приблизительно линейному поведению. В противном случае метод линейной регрессии не следует применять. Рассмотрим следующий набор дат.

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

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

Определение параметров

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

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

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

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

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

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

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

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