В настоящее время мы смотрим на прогнозы для студентов с более чем 120 единицами (что позволило бы им получить высшее образование). Ниже приведен наш текущий набор данных, над которым мы работаем.
structure(list(Term = structure(c(5L, 9L, 1L, 6L, 10L, 2L, 7L,
11L, 3L, 8L, 12L, 4L), .Label = c("F - 2014", "F - 2015", "F - 2016",
"F - 2017", "S - 2014", "S - 2015", "S - 2016", "S - 2017", "Sp - 2014",
"Sp - 2015", "Sp - 2016", "Sp - 2017"), class = "factor"), Bachelors = c(182L,
1103L, 496L, 177L, 1236L, 511L, 161L, 1264L, 544L, 150L, 1479L,
607L), Masters = c(33L, 144L, 35L, 22L, 175L, 55L, 57L, 114L,
66L, 52L, 147L, 50L), Seniors = c(577L, 2485L, 2339L, 604L, 2660L,
2474L, 545L, 2628L, 2594L, 712L, 2807L, 2546L), Over.120 = structure(c(235L,
1746L, 1188L, 235L, 1837L, 1192L, 200L, 1883L, 1217L, 255L, 2002L,
1245L), .Tsp = c(2014, 2017.66666666667, 3), class = "ts")), row.names = c(NA,
-12L), class = "data.frame")
Мы хотим использовать прогнозирование ARIMA - при рассмотрении трех разных периодов в течение года: весна, лето, осень - с 2014 по 2017 год - - при этом мы стремились увидеть, как будет выглядеть тренд для следующие 6 лет (с 2018 по 2023 год)
data <- read.csv("Graduation3.csv")
str(data)
library(forecast)
data$Over.120 <- ts(data$Over.120, start=c(2014,1), end=c(2017,3), frequency = 3)
summary(data)
dOver120 <- diff(data$Over.120)
dOver120 <- diff(data$Over.120,3)
plot(dOver120)
fit_diff_ar <- arima(dOver120, order=c(3,0,0))
summary(fit_diff_ar)
fit_diff_arf <- forecast(fit_diff_ar,h=18)
print(fit_diff_arf)
plot(fit_diff_arf,include=12)
график прогноза ARIMA (sidenote: мне не хватает представителя для прямой публикации изображения)
Мы ожидали, что линия условного исключения на графике прогноза будет следовать тому же типу тренда, что и в предыдущие годы (зигзагообразно), однако по мере того, как годы прогрессируют, линия начинает выравниваться вокруг среднего значения. В настоящее время застряли на этом, и не уверен, что это что-то в коде или это просто, как тенденция должна происходить.