Currently, we're looking at predictions for students with over 120 units (which would allow them to graduate). Below is our current dataset we're working on.
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")
We're wanting to use ARIMA forecasting———looking at 3 different periods throughout a year: Spring, Summer, Fall - from 2014 through 2017———with this were looking to see what the trend will look like for the next 6 years (2018 to 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)
plot of ARIMA forecast (sidenote: I don't have enough rep to directly post an image)
We expected the conditional exception line of the forecast plot to follow the same type trend as in the previous years (zig zaging) however as the years progress the line begins to flatline around the mean. Currently were stuck on this, and not sure if its something in the code or this is simply how the trend is supposed to happen.