Поиск по сайту:

Как использовать функцию предсказания() в программировании на 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