R Пошаговая и множественная линейная регрессия [Пошаговый пример]

Простая линейная регрессия в R

Линейная регрессия отвечает на простой вопрос: можете ли вы измерить точную связь между одной целевой переменной и набором предикторов?

Простейшей вероятностной моделью является прямолинейная модель:

Простая линейная регрессия в R

в котором

  • y = Зависимая переменная
  • x = независимая переменная
  • Простая линейная регрессия в R = компонент случайной ошибки
  • Простая линейная регрессия в R = перехватить
  • Простая линейная регрессия в R = Коэффициент x

Рассмотрим следующий сюжет:

Простая линейная регрессия в R

Уравнение Простая линейная регрессия в R это перехват. Если x равно 0, y будет равен пересечению, 4.77. это наклон линии. Он показывает, в какой пропорции изменяется y при изменении x.

Для оценки оптимальных значений Простая линейная регрессия в R и Простая линейная регрессия в R, вы используете метод под названием Обычные наименьшие квадраты (OLS). Этот метод пытается найти параметры, которые минимизируют сумму квадратов ошибок, то есть расстояние по вертикали между прогнозируемыми значениями y и фактическими значениями y. Разница известна как срок ошибки.

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

разброс точек

Мы будем использовать очень простой набор данных, чтобы объяснить концепцию простой линейной регрессии. Мы импортируем средний рост и вес американских женщин. Набор данных содержит 15 наблюдений. Вы хотите измерить, положительно ли коррелирует рост с весом.

library(ggplot2)
path <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/women.csv'
df <-read.csv(path)
ggplot(df,aes(x=height, y =  weight))+
geom_point()

Вывод:

разброс точек

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

Оценки методом наименьших квадратов

В простой регрессии OLS вычисление Оценки методом наименьших квадратов и Оценки методом наименьших квадратов это просто. Целью данного урока не является показать вывод. Вам останется только написать формулу.

Вы хотите оценить: Оценки методом наименьших квадратов

Целью регрессии МНК является минимизация следующего уравнения:

Оценки методом наименьших квадратов

в котором

Оценки методом наименьших квадратов фактическое значение и Оценки методом наименьших квадратов это прогнозируемое значение.

Решение для Оценки методом наименьших квадратов is Оценки методом наименьших квадратов

Обратите внимание, что Оценки методом наименьших квадратов означает среднее значение x

Решение для Оценки методом наименьших квадратов is Оценки методом наименьших квадратов

В R вы можете использовать функции cov() и var() для оценки Оценки методом наименьших квадратов и вы можете использовать функциюmean() для оценки Оценки методом наименьших квадратов

beta <- cov(df$height, df$weight) / var (df$height)
beta

Вывод:

##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)
alpha

Вывод:

## [1] -87.51667

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

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

Множественная линейная регрессия в R

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

Множественная линейная регрессия в R

В матричной записи можно переписать модель:

  • Множественная линейная регрессия в R

Зависимая переменная y теперь является функцией k независимых переменных. Значение коэффициента Множественная линейная регрессия в R определяет вклад независимой переменной Множественная линейная регрессия в R и Множественная линейная регрессия в R.

Кратко представим сделанное нами предположение о случайной ошибке Множественная линейная регрессия в R из ОЛС:

  • Среднее равно 0
  • Дисперсия равна Множественная линейная регрессия в R
  • Нормальное распределение
  • Случайные ошибки независимы (в вероятностном смысле)

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

Решение закрытой формы:

Множественная линейная регрессия в R

с:

  • указывает на транспонировать матрицы X
  • Множественная линейная регрессия в R указывает на обратимая матрица

Мы используем набор данных mtcars. Вы уже знакомы с набором данных. Наша цель — спрогнозировать количество миль на галлон по набору признаков.

Непрерывные переменные в R

На данный момент вы будете использовать только непрерывные переменные и отложите категориальные признаки. Переменная am — это двоичная переменная, принимающая значение 1, если коробка передач механическая, и 0 для автомобилей с автоматической коробкой передач; vs также является двоичной переменной.

library(dplyr)
df <- mtcars % > %
select(-c(am, vs, cyl, gear, carb))
glimpse(df)

Вывод:

## Observations: 32
## Variables: 6
## $ mpg  <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19....
## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1...
## $ hp   <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, ...
## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9...
## $ wt   <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3...
## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2...

Вы можете использовать функцию lm() для вычисления параметров. Основной синтаксис этой функции:

lm(formula, data, subset)
Arguments:
	-formula: The equation you want to estimate	
	-data: The dataset used
	-subset: Estimate the model on a subset of the dataset

Помните, что уравнение имеет следующий вид

Непрерывные переменные в R

в R

  • Символ = заменяется на ~
  • Каждый x заменяется именем переменной
  • Если вы хотите удалить константу, добавьте -1 в конце формулы.

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

Вы хотите оценить вес людей на основе их роста и дохода. Уравнение

Непрерывные переменные в R

Уравнение в R записывается следующим образом:

y ~ X1+ X2+…+Xn # С перехватом

Итак, для нашего примера:

  • Вес ~ рост + доход

Ваша цель — оценить количество миль на галлон на основе набора переменных. Уравнение для оценки:

Непрерывные переменные в R

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

model <- mpg~.disp + hp + drat + wt
fit <- lm(model, df)
fit

Код Пояснение

  • модель <- миль на галлон ~. disp + hp + drat+ wt: сохраните модель для оценки.
  • lm(модель, df): оцените модель с помощью фрейма данных df.
## 
## Call:
## lm(formula = model, data = df)
## 
## Coefficients:
## (Intercept)         disp           hp         drat           wt  
##    16.53357      0.00872     -0.02060      2.01577     -4.38546  
##        qsec  
##     0.64015	

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

summary(fit)

Вывод:

## return the p-value and coefficient
## 
## Call:
## lm(formula = model, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.5404 -1.6701 -0.4264  1.1320  5.4996 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept) 16.53357   10.96423   1.508  0.14362   
## disp         0.00872    0.01119   0.779  0.44281   
## hp          -0.02060    0.01528  -1.348  0.18936   
## drat         2.01578    1.30946   1.539  0.13579   
## wt          -4.38546    1.24343  -3.527  0.00158 **
## qsec         0.64015    0.45934   1.394  0.17523   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.558 on 26 degrees of freedom
## Multiple R-squared:  0.8489, Adjusted R-squared:  0.8199 
## F-statistic: 29.22 on 5 and 26 DF, p-value: 6.892e-10

Вывод из приведенной выше таблицы

  • Приведенная выше таблица доказывает, что существует сильная отрицательная связь между весом и пробегом и положительная связь с расходом топлива.
  • Только переменная wt оказывает статистическое влияние на расход топлива. Помните, чтобы проверить гипотезу в статистике, мы используем:
    • H0: Статистического влияния нет.
    • H3: Предиктор оказывает значимое влияние на y
    • Если значение p ниже 0.05, это указывает на то, что переменная статистически значима.
  • Скорректированный R-квадрат: дисперсия, объясненная моделью. В вашей модели модель объяснила 82 процента дисперсии y. R в квадрате всегда находится между 0 и 1. Чем выше, тем лучше.

Вы можете запустить ANOVA протестируйте, чтобы оценить влияние каждого признака на дисперсию с помощью функции anova().

anova(fit)

Вывод:

## Analysis of Variance Table
## 
## Response: mpg
##           Df Sum Sq Mean Sq  F value   Pr(>F)    
## disp       1 808.89  808.89 123.6185 2.23e-11 ***
## hp         1  33.67   33.67   5.1449 0.031854 *  
## drat       1  30.15   30.15   4.6073 0.041340 *  
## wt         1  70.51   70.51  10.7754 0.002933 ** 
## qsec       1  12.71   12.71   1.9422 0.175233    
## Residuals 26 170.13    6.54                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1	

Более традиционный способ оценить эффективность модели — отобразить остаток по различным показателям.

Вы можете использовать функциюplot(), чтобы показать четыре графика:

– Остатки против подобранных значений

– Обычный график QQ: теоретический квартиль против стандартизированных остатков

– Местоположение масштаба: подобранные значения по сравнению с квадратными корнями стандартизированных остатков.

– Остатки против кредитного плеча: Кредитное плечо против стандартизированных остатков

Вы добавляете код par(mfrow=c(2,2)) передplot(fit). Если вы не добавите эту строку кода, R предложит вам нажать команду ввода, чтобы отобразить следующий график.

par(mfrow=(2,2))

Код Пояснение

  • (mfrow=c(2,2)): вернуть окно с четырьмя графиками, расположенными рядом.
  • Первые 2 добавляют количество строк
  • Вторая 2 добавляет количество столбцов.
  • Если вы напишете (mfrow=c(3,2)): вы создадите окно из 3 строк и 2 столбцов.
plot(fit)

Вывод:

Непрерывные переменные в R

Формула lm() возвращает список, содержащий много полезной информации. Вы можете получить к ним доступ с помощью созданного вами объекта fit, за которым следует знак $ и информация, которую вы хотите извлечь.

– коэффициенты: `fit$coefficients`

– остатки: `fit$residuals`

– подобранное значение: `fit$fitted.values`

Факторы регрессии в R

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

df <- mtcars % > %
mutate(cyl = factor(cyl),
    vs = factor(vs),
    am = factor(am),
    gear = factor(gear),
    carb = factor(carb))
summary(lm(model, df))

Вывод:

## 
## Call:
## lm(formula = model, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.5087 -1.3584 -0.0948  0.7745  4.6251 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept) 23.87913   20.06582   1.190   0.2525  
## cyl6        -2.64870    3.04089  -0.871   0.3975  
## cyl8        -0.33616    7.15954  -0.047   0.9632  
## disp         0.03555    0.03190   1.114   0.2827  
## hp          -0.07051    0.03943  -1.788   0.0939 .
## drat         1.18283    2.48348   0.476   0.6407  
## wt          -4.52978    2.53875  -1.784   0.0946 .
## qsec         0.36784    0.93540   0.393   0.6997  
## vs1          1.93085    2.87126   0.672   0.5115  
## am1          1.21212    3.21355   0.377   0.7113  
## gear4        1.11435    3.79952   0.293   0.7733  
## gear5        2.52840    3.73636   0.677   0.5089  
## carb2       -0.97935    2.31797  -0.423   0.6787  
## carb3        2.99964    4.29355   0.699   0.4955  
## carb4        1.09142    4.44962   0.245   0.8096  
## carb6        4.47757    6.38406   0.701   0.4938  
## carb8        7.25041    8.36057   0.867   0.3995  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.833 on 15 degrees of freedom
## Multiple R-squared:  0.8931, Adjusted R-squared:  0.779 
## F-statistic:  7.83 on 16 and 15 DF,  p-value: 0.000124

R использует первый уровень факторов в качестве базовой группы. Вам необходимо сравнить коэффициенты другой группы с базовой группой.

Пошаговая линейная регрессия в R

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

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

Библиотека включает в себя различные функции для отображения сводной статистики, такой как корреляция и распределение всех переменных в матрице. Мы будем использовать функцию ggscatmat, но вы можете обратиться к виньетка для получения дополнительной информации о библиотеке GGally.

Основной синтаксис ggscatmat():

ggscatmat(df, columns = 1:ncol(df), corMethod = "pearson")
arguments:
-df:  A matrix of continuous variables
-columns: Pick up the columns to use in the function. By default, all columns are used
-corMethod: Define the function to compute the correlation between variable. By default, the algorithm uses the Pearson formula

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

library(GGally)
df <- mtcars % > %
	select(-c(am, vs, cyl, gear, carb))
ggscatmat(df, columns = 1: ncol(df))

Вывод:

Пошаговая линейная регрессия в R

Пошаговый пример регрессии

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

Вам необходимо установить пакет olsrr из CRAN. Пакет пока недоступен в Anaconda. Следовательно, вы устанавливаете его прямо из командной строки:

install.packages("olsrr")

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

library(olsrr)
model <- mpg~.
fit <- lm(model, df)
test <- ols_all_subset(fit)
plot(test)

Код Пояснение

  • мили на галлон ~.: Построить модель для оценки
  • lm(модель, df): Запустите модель OLS.
  • ols_all_subset(подходит): постройте графики с соответствующей статистической информацией.
  • сюжет (тест): Постройте графики

Вывод:

Пошаговый пример регрессии

Модели линейной регрессии используют Т-тест оценить статистическое влияние независимой переменной на зависимую переменную. Исследователи установили максимальный порог в 10 процентов, более низкие значения указывают на более сильную статистическую связь. На основе этого теста строится стратегия пошаговой регрессии для добавления и удаления потенциальных кандидатов. Алгоритм работает следующим образом:

Пошаговая линейная регрессия в R
Пошаговая линейная регрессия в R
  • Шаг 1: Регрессируйте каждый предиктор по y отдельно. А именно, регрессируйте x_1 по y, x_2 по y до x_n. Храните р-значение и сохраните регрессор со значением p ниже определенного порога (по умолчанию 0.1). Предикторы со значимостью ниже порога будут добавлены в окончательную модель. Если ни одна из переменных не имеет значения p ниже входного порога, алгоритм останавливается, и у вас есть окончательная модель только с константой.
  • Шаг 2: использовать предиктор с наименьшим значением p и добавлять отдельно одну переменную. Вы регрессируете константу, лучший предиктор первого шага и третьей переменной. Вы добавляете в пошаговую модель новые предикторы со значением ниже входного порога. Если ни одна переменная не имеет значения p ниже 0.1, алгоритм останавливается, и у вас есть окончательная модель только с одним предиктором. Вы регрессируете пошаговую модель, чтобы проверить значимость лучших предикторов шага 1. Если оно превышает порог удаления, вы сохраняете его в пошаговой модели. В противном случае вы исключаете это.
  • Шаг 3: вы повторяете шаг 2 на новой лучшей пошаговой модели. Алгоритм добавляет предикторы в пошаговую модель на основе входных значений и исключает предиктор из пошаговой модели, если он не удовлетворяет порогу исключения.
  • Алгоритм продолжает работать до тех пор, пока ни одна переменная не сможет быть добавлена ​​или исключена.

Вы можете выполнить алгоритм с помощью функции ols_stepwise() из пакета olsrr.

ols_stepwise(fit, pent = 0.1, prem = 0.3, details = FALSE)

arguments:
-fit:  Model to fit. Need to use `lm()`before to run `ols_stepwise()
-pent: Threshold of the p-value used to enter a variable into the stepwise model. By default, 0.1
-prem: Threshold of the p-value used to exclude a variable into the stepwise model. By default, 0.3
-details: Print the details of each step

Перед этим мы покажем вам шаги алгоритма. Ниже представлена ​​таблица с зависимыми и независимыми переменными:

Зависимая переменная Независимые переменные
мили на галлон Индик.точки
hp
тряпка
wt
qsec

Начните

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

## [[1]]
##  (Intercept)         disp 
## 3.576586e-21 9.380327e-10 
## 
## [[2]]
##  (Intercept)           hp 
## 6.642736e-18 1.787835e-07 
## 
## [[3]]
##  (Intercept)         drat 
## 0.1796390847 0.0000177624 
## 
## [[4]]
##  (Intercept)           wt 
## 8.241799e-19 1.293959e-10 
## 
## [[5]
## (Intercept)        qsec 
##  0.61385436  0.01708199

Чтобы войти в модель, алгоритм сохраняет переменную с наименьшим значением p. Судя по приведенному выше выводу, это вес

Шаг 1

На первом этапе алгоритм независимо запускает mpg для wt и других переменных.

## [[1]]
##  (Intercept)           wt         disp
## 4.910746e-16 7.430725e-03 6.361981e-02 
## 
## [[2]]
##  (Intercept)           wt           hp 
## 2.565459e-20 1.119647e-06 1.451229e-03 
## 
## [[3]]
##  (Intercept)           wt         drat 
## 2.737824e-04 1.589075e-06 3.308544e-01 
## 
## [[4]]
##  (Intercept)           wt         qsec 
## 7.650466e-04 2.518948e-11 1.499883e-03

Каждая переменная является потенциальным кандидатом на включение в окончательную модель. Однако алгоритм сохраняет только переменную с меньшим значением p. Оказывается, у hp значение p несколько ниже, чем у qsec. Поэтому hp входит в финальную модель

Шаг 2

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

## [[1]]
##  (Intercept)           wt           hp         disp 
## 1.161936e-16 1.330991e-03 1.097103e-02 9.285070e-01 
## 
## [[2]]
##  (Intercept)           wt           hp         drat 
## 5.133678e-05 3.642961e-04 1.178415e-03 1.987554e-01 
## 
## [[3]]
##  (Intercept)           wt           hp         qsec 
## 2.784556e-03 3.217222e-06 2.441762e-01 2.546284e-01

Ни одна из переменных, вошедших в окончательную модель, не имеет достаточно низкого значения p. На этом алгоритм останавливается; у нас есть финальная модель:

## 
## Call:
## lm(formula = mpg ~ wt + hp, data = df)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.941 -1.600 -0.182  1.050  5.854 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 37.22727    1.59879  23.285  < 2e-16 ***
## wt          -3.87783    0.63273  -6.129 1.12e-06 ***
## hp          -0.03177    0.00903  -3.519  0.00145 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.593 on 29 degrees of freedom
## Multiple R-squared:  0.8268, Adjusted R-squared:  0.8148 
## F-statistic: 69.21 on 2 and 29 DF,  p-value: 9.109e-12

Вы можете использовать функцию ols_stepwise() для сравнения результатов.

stp_s <-ols_stepwise(fit, details=TRUE)

Вывод:

Алгоритм находит решение после двух шагов и возвращает тот же результат, что и раньше.

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

## You are selecting variables based on p value...
## 1 variable(s) added....
## Variable Selection Procedure
##  Dependent Variable: mpg 
## 
##  Stepwise Selection: Step 1 
## 
##  Variable wt Entered 
## 
##                         Model Summary                          
## --------------------------------------------------------------
## R                       0.868       RMSE                3.046 
## R-Squared               0.753       Coef. Var          15.161 
## Adj. R-Squared          0.745       MSE                 9.277 
## Pred R-Squared          0.709       MAE                 2.341 
## --------------------------------------------------------------
##  RMSE: Root Mean Square Error 
##  MSE: Mean Square Error 
##  MAE: Mean Absolute Error 
##		ANOVA                                 
## --------------------------------------------------------------------
##                 Sum of                                              
##                Squares        DF    Mean Square      F         Sig. 
## --------------------------------------------------------------------
## Regression     847.725         1        847.725    91.375    0.0000 
## Residual       278.322        30          9.277                     
## Total         1126.047        31                                    
## --------------------------------------------------------------------
## 
##                                   Parameter Estimates                                    
## ----------------------------------------------------------------------------------------
##       model      Beta    Std. Error    Std. Beta      t        Sig      lower     upper 
## ----------------------------------------------------------------------------------------
## (Intercept)    37.285         1.878                 19.858    0.000    33.450    41.120 
##          wt    -5.344         0.559       -0.868    -9.559    0.000    -6.486    -4.203 
## ----------------------------------------------------------------------------------------
## 1 variable(s) added...
## Stepwise Selection: Step 2 
## 
##  Variable hp Entered 
## 
##                         Model Summary                          
## --------------------------------------------------------------
## R                       0.909       RMSE                2.593 
## R-Squared               0.827       Coef. Var          12.909 
## Adj. R-Squared          0.815       MSE                 6.726 
## Pred R-Squared          0.781       MAE                 1.901 
## --------------------------------------------------------------
##  RMSE: Root Mean Square Error 
##  MSE: Mean Square Error 
##  MAE: Mean Absolute Error 
##			ANOVA                                 
## --------------------------------------------------------------------
##                 Sum of                                              
##                Squares        DF    Mean Square      F         Sig. 
## --------------------------------------------------------------------
## Regression     930.999         2        465.500    69.211    0.0000 
## Residual       195.048        29          6.726                     
## Total         1126.047        31                                    
## --------------------------------------------------------------------
## 
##                                   Parameter Estimates                                    
## ----------------------------------------------------------------------------------------
##       model      Beta    Std. Error    Std. Beta      t        Sig      lower     upper 
## ----------------------------------------------------------------------------------------
## (Intercept)    37.227         1.599                 23.285    0.000    33.957    40.497 
##          wt    -3.878         0.633       -0.630    -6.129    0.000    -5.172    -2.584 
##          hp    -0.032         0.009       -0.361    -3.519    0.001    -0.050    -0.013 
## ----------------------------------------------------------------------------------------
## No more variables to be added or removed.

Машинное обучение

Машинное обучение получает широкое распространение среди специалистов по данным и используется в сотнях продуктов, которые вы используете ежедневно. Одним из первых приложений ML было спам-фильтр.

Ниже приведены другие приложения машинного обучения.

  • Выявление нежелательных спам-сообщений в электронной почте
  • Сегментация поведения клиентов для таргетированной рекламы
  • Сокращение мошеннических транзакций по кредитным картам
  • Оптимизация использования энергии в жилых и офисных зданиях
  • Распознавание лица

Контролируемое обучение

In Контролируемое обучение, данные обучения, которые вы передаете в алгоритм, содержат метку.

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

Регрессии обычно используются в области машинного обучения для прогнозирования непрерывной ценности. Задача регрессии может предсказать значение зависимая переменная на основе набора независимые переменные (также называемые предикторами или регрессорами). Например, линейная регрессия может предсказывать цену акций, прогноз погоды, продажи и т. д.

Вот список некоторых фундаментальных алгоритмов обучения с учителем.

  • Линейная регрессия
  • Логистическая регрессия
  • Ближайшие соседи
  • Машина опорных векторов (SVM)
  • Деревья решений и случайный лес
  • Нейронные сети

Обучение без учителя

In Обучение без учителя, данные обучения не помечены. Система пытается учиться без ссылки. Ниже приведен список алгоритмов обучения без учителя.

  • K-среднее
  • иерархическая Cluster Анализ
  • Максимизация ожиданий
  • Визуализация и уменьшение размерности
  • Анализ главных компонентов
  • Ядро PCA
  • Локально-линейное вложение

Резюме

  • Линейная регрессия отвечает на простой вопрос: можете ли вы измерить точную связь между одной целевой переменной и набором предикторов?
  • Обычный метод наименьших квадратов пытается найти параметры, которые минимизируют сумму квадратов ошибок, то есть расстояние по вертикали между прогнозируемыми значениями y и фактическими значениями y.
  • Вероятностная модель, включающая более одной независимой переменной, называется моделью множественной регрессии.
  • Целью алгоритма пошаговой линейной регрессии является добавление и удаление потенциальных кандидатов в модели и сохранение тех, кто оказывает существенное влияние на зависимую переменную.
  • Выбор переменных является важной частью адаптации модели. Пошаговая регрессия автоматически выполняет процесс поиска.

Обычную регрессию наименьших квадратов можно резюмировать в таблице ниже:

Библиотека Цель Функция аргументы
Использование темпера с изогнутым основанием Вычислить линейную регрессию лм() формула, данные
Использование темпера с изогнутым основанием Обобщить модель подведем итог() соответствовать
Использование темпера с изогнутым основанием Извлечь коэффициенты lm()$коэффициент
Использование темпера с изогнутым основанием Извлечь остатки lm()$остатки
Использование темпера с изогнутым основанием Извлечь подобранное значение lm()$fitted.values
олсрр Запустите пошаговую регрессию ols_stepwise() подходит, pent = 0.1, prem = 0.3, подробности = FALSE

Внимание: не забудьте преобразовать категориальную переменную в коэффициент, прежде чем она будет соответствовать модели.

Ежедневная рассылка Guru99

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