I have been trying to play with some enrollment data from my postsecondary institution. I wanted to see if it was possible to use a simple ARMA process to forecast short term enrollment since what my institution does currently is just assume that enrollment will increase by 150 students every year, which has led them to budget deficits year after year. I have data from the 1999-2000 to 2023-2024 academic year. I applied growth rates and was doing some DF tests for stationarity and they were coming back as significant. However, the fact that it was choosing 0 lags for both AIC and BIC criteria had me double thinking:
Code: Select all
CALENDAR(A) 1999:1
DATA(FORMAT=XLSX,ORG=COLUMNS) 1999:01 2024:01 DATE ENROLLMENTUND CHANGEEU GREU ENROLLMENTTOT CHANGEET GRET
***stationarity test***
*significant at 1%, stationary
@dfunit(det=constant) greu
*gives me zero lags from 6 AIC
@dfunit(det=constant,maxlags=6,method=aic) greu
*gives me zero lags from 6 BIC
@dfunit(det=constant,maxlags=6,method=bic) greu Code: Select all
@PERRONBREAKS(breaks=4,io=crash,lags=2,method=AIC) greu
@PERRONBREAKS(breaks=4,io=crash,lags=2,method=BIC) greu
*it identifies breaks on 2004, 2017, 2019, 2022 After analyzing the graphs and trying a few ARMA models I ended up sticking to an ARMA (2,2) to forecast enrollment for the 2024-2025 academic year, which also ended up being 10 times more accurate than the "forecast" (even though it is more of an assumption) of 150 students that my postsecondary institution did.
Code: Select all
BOXJENK(CONSTANT,DEFINE=GREU_ARMA22,AR=2,MA=2) greu
UFORECAST(stderrs=stderrs4,EQUATION=GREU_ARMA22,PRINT) FORE_ARMA22GREU 2024:01 2026:01
I am still new to Time Series so any help or guidance would be greatly appreciated!