Как использовать функцию предсказания() в программировании на R
Введение
Функция predict()
в R используется для прогнозирования значений на основе входных данных. Все аспекты моделирования в программе R будут использовать функцию predict()
по-своему, но обратите внимание, что функциональность функции predict()
остается прежней. независимо от случая.
В этой статье вы узнаете, как использовать функцию predict()
в R.
Предпосылки
Для выполнения этого урока вам понадобятся:
- Чтобы установить R.
Синтаксис функции предсказания() в R
Функция predict()
в R используется для прогнозирования значений на основе входных данных.
predict(object, newdata, interval)
- объект: класс, наследуемый от линейной модели
- newdata: ввод данных для прогнозирования значений.
- interval: тип расчета интервала.
Пример функции предсказания()
Нам потребуются данные для прогнозирования значений. Для этого примера мы можем импортировать встроенный набор данных в R — «Автомобили».
df <- datasets::cars
Это назначит фрейму данных набор значений скорости
и расстояния (dist
):
speed dist
1 4 2
2 4 10
3 7 4
4 7 22
5 8 16
6 9 10
7 10 18
8 10 26
9 10 34
10 11 17
Далее мы будем использовать predict()
для определения будущих значений с использованием этих данных.
Во-первых, нам нужно вычислить линейную модель для этого фрейма данных:
# Creates a linear model
my_linear_model <- lm(dist~speed, data = df)
# Prints the model results
my_linear_model
Выполнение этого кода рассчитает результаты линейной модели:
Call:
lm(formula = dist ~ speed, data = df)
Coefficients:
(Intercept) speed
-17.579 3.932
Линейная модель вернула скорость автомобилей в соответствии с нашим поведением входных данных. Теперь, когда у нас есть модель, мы можем применить predict()
.
# Creating a data frame
variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))
# Fiting the linear model
linear_model <- lm(dist~speed, data = df)
# Predicts the future values
predict(linear_model, newdata = variable_speed)
Этот код генерирует следующий вывод:
1 2 3 4 5
25.67740 25.67740 29.60981 29.60981 29.60981
6 7 8 9 10
29.60981 33.54222 33.54222 33.54222 33.54222
Что ж, мы успешно предсказали будущие значения расстояния на основе предыдущих данных и с помощью линейной модели.
Теперь нам нужно проверить уровень \надежности наших прогнозируемых значений, чтобы увидеть, насколько точен наш прогноз.
Уверенность в прогнозируемых значениях
Доверительный интервал в функции прогноза поможет нам оценить неопределенность прогнозов.
# Input data
variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))
# Fits the model
linear_model <- lm(dist~speed, data = df)
# Predicts the values with confidence interval
predict(linear_model, newdata = variable_speed, interval = 'confidence')
Этот код генерирует следующий вывод:
fit lwr upr
1 25.67740 19.96453 31.39028
2 25.67740 19.96453 31.39028
3 29.60981 24.39514 34.82448
4 29.60981 24.39514 34.82448
5 29.60981 24.39514 34.82448
6 29.60981 24.39514 34.82448
7 33.54222 28.73134 38.35310
8 33.54222 28.73134 38.35310
9 33.54222 28.73134 38.35310
10 33.54222 28.73134 38.35310
Вы можете увидеть доверительный интервал в наших прогнозируемых значениях в приведенном выше выводе.
Исходя из этого вывода, мы можем предсказать, что автомобили, движущиеся со скоростью 11-13 миль в час, имеют вероятность проехать расстояние в диапазоне от 19,9 до 31,3 миль.
Заключение
Функция predict()
используется для прогнозирования значений на основе предыдущего поведения данных и, таким образом, путем подгонки этих данных к модели.
Вы также можете использовать доверительные интервалы, чтобы проверить точность наших прогнозов.
Рекомендации
- Документация R