Structural Breaks and ARMA process
Posted: Wed Feb 05, 2025 10:23 am
Hi everyone,
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:
Also, when looking at the data, I was afraid there could be structural breaks. When doing a Perron test, and after testing for multiple breaks, it identified breaks during 2004, 2017, 2019, and 2022.
I ended up going forward by looking at the ACF and PACF graphs to see which ARMA model could be used just for curiosity but I was still aware that the test identified breaks in the data.
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.
When doing this, I wasn't trying to create the perfect model at first, I just wanted to see if Time Series Analysis could be used to improve accuracy in forecasting enrollment at my institution. However, if I was to go ahead and do this analysis more properly and potentially present this, what should I take into consideration to make my results more robust now that I know there were structural breaks in the data.
I am still new to Time Series so any help or guidance would be greatly appreciated!
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!