Учебники

R — Линейная регрессия

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

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

Общее математическое уравнение для линейной регрессии —

y = ax + b

Ниже приведено описание используемых параметров:

  • у — переменная ответа.

  • х — это предикторная переменная.

  • a и b являются константами, которые называются коэффициентами.

у — переменная ответа.

х — это предикторная переменная.

a и b являются константами, которые называются коэффициентами.

Шаги по созданию регрессии

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

Шаги для создания отношений —

  • Проводят эксперимент по сбору образца наблюдаемых значений роста и соответствующего веса.

  • Создайте модель отношений, используя функции lm () в R.

  • Найдите коэффициенты из созданной модели и создайте математическое уравнение, используя эти

  • Получите сводную информацию о модели отношений, чтобы узнать среднюю ошибку в прогнозировании. Также называется остатками .

  • Чтобы предсказать вес новых людей, используйте функцию предиката () в R.

Проводят эксперимент по сбору образца наблюдаемых значений роста и соответствующего веса.

Создайте модель отношений, используя функции lm () в R.

Найдите коэффициенты из созданной модели и создайте математическое уравнение, используя эти

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

Чтобы предсказать вес новых людей, используйте функцию предиката () в R.

Входные данные

Ниже приведен пример данных, представляющих наблюдения —

# Values of height
151, 174, 138, 186, 128, 136, 179, 163, 152, 131

# Values of weight.
63, 81, 56, 91, 47, 57, 76, 72, 62, 48

Функция lm ()

Эта функция создает модель отношений между предиктором и переменной ответа.

Синтаксис

Основной синтаксис функции lm () в линейной регрессии —

lm(formula,data)

Ниже приведено описание используемых параметров:

  • формула представляет собой символ, представляющий отношения между х и у.

  • Данные — это вектор, к которому будет применена формула.

формула представляет собой символ, представляющий отношения между х и у.

Данные — это вектор, к которому будет применена формула.

Создать модель отношений и получить коэффициенты

Live Demo

x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)

# Apply the lm() function.
relation <- lm(y~x)

print(relation)

Когда мы выполняем приведенный выше код, он дает следующий результат —

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x  
   -38.4551          0.6746 

Получить резюме отношений

Live Demo

x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)

# Apply the lm() function.
relation <- lm(y~x)

print(summary(relation))

Когда мы выполняем приведенный выше код, он дает следующий результат —

Call:
lm(formula = y ~ x)

Residuals:
    Min      1Q     Median      3Q     Max 
-6.3002    -1.6629  0.0412    1.8944  3.9775 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -38.45509    8.04901  -4.778  0.00139 ** 
x             0.67461    0.05191  12.997 1.16e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.253 on 8 degrees of freedom
Multiple R-squared:  0.9548,    Adjusted R-squared:  0.9491 
F-statistic: 168.9 on 1 and 8 DF,  p-value: 1.164e-06

функция предиката ()

Синтаксис

Основным синтаксисом для Предиката () в линейной регрессии является —

predict(object, newdata)

Ниже приведено описание используемых параметров:

  • Объект — это формула, которая уже создана с помощью функции lm ().

  • newdata — это вектор, содержащий новое значение переменной-предиктора.

Объект — это формула, которая уже создана с помощью функции lm ().

newdata — это вектор, содержащий новое значение переменной-предиктора.

Предсказать вес новых людей

Live Demo

# The predictor vector.
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)

# The resposne vector.
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)

# Apply the lm() function.
relation <- lm(y~x)

# Find weight of a person with height 170.
a <- data.frame(x = 170)
result <-  predict(relation,a)
print(result)

Когда мы выполняем приведенный выше код, он дает следующий результат —

       1 
76.22869 

Визуализируйте регрессию графически

Live Demo

# Create the predictor and response variable.
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)
relation <- lm(y~x)

# Give the chart file a name.
png(file = "linearregression.png")

# Plot the chart.
plot(y,x,col = "blue",main = "Height & Weight Regression",
abline(lm(x~y)),cex = 1.3,pch = 16,xlab = "Weight in Kg",ylab = "Height in cm")

# Save the file.
dev.off()

Когда мы выполняем приведенный выше код, он дает следующий результат —