В любом бизнесе есть несколько легко измеряемых переменных, таких как возраст, пол, доход, уровень образования и т. Д., И есть некоторые трудно измеримые переменные, такие как сумма ссуды, которую нужно дать, количество дней, в течение которых пациент будет оставаться в больнице, стоимость дом через 10 лет и т. д. Итак, Регрессия - это метод, который позволяет вам определять трудно измеримые переменные с помощью легко измеримых переменных.

Рекомендуется: Что такое линейная регрессия? Часть: 1

Линейная регрессия - это один из методов регрессии, который можно определить следующим образом:

«Линейная регрессия - это область исследования, в которой особое внимание уделяется статистической взаимосвязи между двумя непрерывными переменными, известными как Предиктор и Ответ. переменные ».
(Примечание: при наличии нескольких переменных-предикторов возникает множественная линейная регрессия.)

  • Переменная-предиктор чаще всего обозначается как x и также известна как независимая переменная.
  • Переменная ответа чаще всего обозначается как y и также известна как зависимая переменная.

Давайте разберемся с этим с помощью примера в R. В R есть встроенный набор данных «автомобили», который содержит 50 пар точек данных для скорости (миль в час миль / ч) и тормозного пути (футы), который был собраны в 1920 году. Я сделал снимок экрана с первыми 25 точками данных, чтобы вы могли почувствовать набор данных.

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

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

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

Ковариация:

cov(cars_data$dist, cars_data$speed) #covariance
## [1] 109.9469

Совместная дисперсия между расстоянием и скоростью составляет 109,9469. Его значение положительное, что говорит нам о том, что переменные движутся вместе в одном направлении. (В случае отрицательного значения напротив друг друга).

Корреляция:

Чтобы узнать силу того, как переменные перемещаются вместе, ковариация стандартизируется до безразмерной величины, корреляции. Коэффициент корреляции r - это число от -1 до +1, которое говорит нам, насколько хорошо линия (регрессии) соответствует данным.

cor(cars_data$speed, cars_data$dist)      # Correlation
## [1] 0.8068949
  • Коэффициент корреляции скорости автомобиля и расстояния равен 0,8068949.
  • Поскольку значение близко к 1 и имеет знак + ve, можно сделать вывод, что переменные положительно коррелированы.

Рекомендуемая статья: Подробнее о ковариации и корреляции

Давайте визуализируем набор данных, нарисовав диаграмму рассеяния.

  • Независимая переменная (переменная-предиктор) - Скорость (миль / ч) - отложена по оси X.
  • Зависимая переменная (переменная отклика) - Тормозной путь (футы) - откладывается по оси Y.
plot(cars_data$speed,cars_data$dist,xlab="Speed in miles per hour",ylab="Distance in feet",main="Stopping Distance Vs. Speed", col= "blue")

Наблюдения из диаграммы рассеяния:

  • Красная отметка, есть несколько тормозных путей для одинаковой скорости. Это могло быть возможно из-за разных автомобилей, разных дорог, разных погодных условий и т. Д.
  • Итак, если мы возьмем среднее значение всех этих точек на красной отметке, то получим средний тормозной путь в этой точке, но что, если мы хотим узнать тормозной путь на желтой отметке. У нас нет данных по этой желтой точке.
  • Таким образом, вместо того, чтобы сосредотачиваться на каких-либо локальных точках, если мы возьмем всю точку и каким-то образом вменяем среднее значение в желтой отмеченной точке, которая будет тормозным путем в этой точке.

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

Это линейное уравнение будет выглядеть так: y = m * x + c m: наклон и c: пересечение в точке y

Итак, если мы изменим m и c, это даст нам все возможные линии, которые мы можем нарисовать.

Чтобы прийти к заключению, нам нужно найти оптимальные значения наклона m и точки пересечения c, которые позволят получить линию наилучшего соответствия. Итак, давайте разберемся, какая линия лучше всего подходит.

Лучшая линия соответствия:

Таким образом, можно сказать, что линия, которая не проходит через большинство точек данных, является наиболее подходящей линией. Но теперь, если мы увидим рис-01, можем ли мы все же сказать, что это лучшая линия? Нет. Если мы вспомним школьные годы, когда нас просили нарисовать наиболее подходящую линию, мы нарисуем линию, похожую на оранжевую линию на рис-02. Как наш мозг распознает эту линию как наиболее подходящую. И, что удивительно, он не проходит ни через одну из точек данных. Итак, как это нарисовано, возможно, путем соединения точек, что минимизирует расстояние от всех точек данных.

давайте разберемся с математикой.

  • y - фактическое значение точки данных x.
  • ŷ = m * x + c (ŷ читается как y-шляпа, которая представляет собой прогнозируемое значение точки данных x с использованием некоторых m и c, которые мы пытаемся выяснить)

Разница y - ŷ является ошибкой или также называется остаточной ошибкой. Учитывая все точки данных, это будет Σ (y (i) - ŷ (i)). Это известно как среднее расстояние от всех точек данных, которое нужно минимизировать, но минимизировать то, что мы имеем в виду. Учитываем ли мы также отрицательные значения ошибок, и если да, то если две точки данных имеют ошибки как +2 и -2, они будут аннулированы при их суммировании для расчета общей ошибки? Таким образом, лучший способ минимизировать остаточную ошибку - это минимизировать сумму квадратов ошибок, которая составляет:

Теперь есть два неизвестных m и c. поэтому, используя исчисление, если мы возьмем частные производные относительно m и c, положим их равными 0 и решим два уравнения, мы получим наклон m следующим образом:

где xbar - это среднее значение x, а ybar - среднее значение y.

Перехват c можно вычислить, поместив точки (xbar, ybar) в уравнение y = m * x + c вместо x и y, поскольку мы знаем, что наиболее подходящая линия будет проходить через средние точки x и y, которые - это xbar и ybar. И значение m уже вычислено.

Этот метод подбора наилучшей линии называется регрессия наименьших квадратов.

Однако на практике нам не нужно вычислять все это вручную, к счастью, для этого у нас есть встроенные функции R. давайте посмотрим на эти функции:

  • Функция lm используется для подбора линейных моделей
LinearReg = lm(dist ~ speed, data = cars_data)
coefficients(LinearReg)
##  (Intercept)      speed 
##  -17.579095    3.932409
## c = -17.579095
## m = 3.932409
## Summary of the linear model: 
summary(LinearReg)
## 
## Call:
## lm(formula = dist ~ speed, data = cars_data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -29.069  -9.525  -2.272   9.215  43.201 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -17.5791     6.7584  -2.601   0.0123 *  
## speed         3.9324     0.4155   9.464 1.49e-12 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 15.38 on 48 degrees of freedom
## Multiple R-squared:  0.6511, Adjusted R-squared:  0.6438 
## F-statistic: 89.57 on 1 and 48 DF,  p-value: 1.49e-12

Давайте построим график наилучшего соответствия, используя встроенную функцию, как показано ниже:

plot(cars_data$speed,cars_data$dist,xlab="Speed in miles per hour",ylab="Distance in feet",main="Stopping Distance Vs. Speed: Best fit line", col= "blue")
abline(LinearReg,col="steelblue",lty=1,lwd=4)       # The function adds straight line to a plot

Таким образом, по приведенной выше линии наилучшего соответствия мы можем определить тормозной путь для любой точки данных из данных о населении. Линейная регрессия - это очень мощный метод прогнозирования значения переменной ответа, когда существует линейная связь между двумя непрерывными переменными.

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

Эта статья впервые появилась в блоге Tech Tunnel по адресу https://ashutoshtripathi.com/2019/01/06/what-is-linear-regression-part2/