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

Что такое линейная регрессия?

В статистическом моделировании регрессионный анализ представляет собой набор статистических процессов для оценки отношений между зависимой переменной (часто называемой «конечной переменной») и одной или несколькими независимыми переменными (часто называемыми «предикторами», ковариаты 'или' особенности '). (источник: википедия)

Линейная регрессия - это простейшая из всех регрессий, в которой мы просто проводим прямую линию между двумя функциями. В финансах эту линию часто называют линией наилучшего соответствия или линией тренда. Используя эту - наиболее подходящую линию - мы можем оценить / спрогнозировать дальнейшие значения (мы увидим это подробно). Прежде всего, вы должны знать, что такое зависимые и независимые переменные. Лучше всего взять пример,

Пример 1:

y = 2x + 1

Здесь y изменяется при изменении x, но x не влияет на изменения значения y.

Если x имеет значения - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, мы можем определять значения y по одному, подставляя значения x в уравнение . Например, если мы поместим в уравнение значение 5,

y = 2(5) + 1 = 10 + 1 = 11

Следовательно, мы получили y как 11, если x равно 5, и теперь мы можем просто сделать это для каждого значения. Следовательно, x - независимая переменная, а y - зависимая переменная.

В машинном обучении мы всегда обозначаем y как прогнозируемую переменную.

Пример 2:

Здесь мы взяли значения Цельсия и Фаренгейта, и наша цель - предсказать значения Фаренгейта по заданным значениям Цельсия. Следовательно, значения по Цельсию являются независимыми, а значения по Фаренгейту - зависимыми. Для значения шкалы Цельсия «1» значение Фаренгейта равно «34,8». Между этими ценностями есть какая-то связь, но что? и как мы можем найти эти отношения? Прежде всего, мы должны решить, какой алгоритм регрессии мы должны применить, для этого мы построим эти значения,

Из графика довольно ясно, что существует линейная связь между данными, и поэтому мы будем использовать линейную регрессию. Во многих статьях вы, возможно, видели, что мы можем сделать это с помощью scikit learn очень легко, просто импортировав LinearRegression, соответствующую нашим данным, и готово! Но в этой статье мы сначала познакомимся с математикой, а затем создадим собственный алгоритм линейной регрессии. Начнем с математики!

Формула линейной регрессии:

y = mx + c… Уравнение 1.1

где ‘m’ - НАКЛОН, а ‘c’ - Y-точка пересечения. Каждая линия имеет некоторый наклон, и он рассчитывается как отношение вертикального изменения к горизонтальному изменению, и его часто цитируют как «подъем за пробегом» (на языке непрофессионала, насколько крутой уклон линии) и Y -intercept - это точка пересечения нашей линии и оси Y.

Но мы не знаем этих терминов! Все, что мы знаем, это X (значения по Цельсию) и y (значения по Фаренгейту). Найдя эти термины, мы можем определить любое значение y по заданному значению x. Именно здесь линейная регрессия поможет нам определить наклоны и значения пересечения по оси Y.

Формула для определения точки пересечения по оси Y и наклона:

Эта формула выглядит сбивающей с толку, но если у вас есть предварительные знания линейной алгебры, вы определенно сможете ее понять.

Здесь X 'представляет транспонирование матрицы, X, возведенной в -1, означает обратное произведение X'X, и затем мы умножим это на X'y после выполнения всех этих вычислений, мы будем получить матрицу, которая будет содержать наклоны и точку пересечения по оси Y наших данных. Итак, давайте запрограммируем этот материал, а Python сделает за нас вычисления!

Подгоним данные следующим образом:

Выход:

››› Наклон: [[1.8]]
››› Перехват: [32.]

Следовательно, мы можем записать уравнение 1.1 как,

y = 1.8x + 32

Теперь для значения 100 градусов Цельсия значение по Фаренгейту будет таким,

y = 1.8*100 + 32

y = 180 + 32

y = 212

Следовательно, для значения Цельсия «100» значение Фаренгейта будет «212». Вы даже можете проверить это в Google,

Вы даже можете проверить, что наклон и точка пересечения по оси Y в точности равны фактической формуле преобразования значения Цельсия в значение Фаренгейта.

Спасибо,

Притиш Мишра