Last Update: May 13, 2022
My online video tutorials are hosted at YouTube channel.
For learning this concept, you can view my online video tutorials: Stationarity: Augmented Dickey-Fuller Test in Python (Spyder) and Stationarity: Augmented Dickey-Fuller Test in Python (Jupyter).
Videos Code
1. Packages
import pandas as pd
import statsmodels.api as sm
import statsmodels.tsa.stattools as st
import matplotlib.pyplot as plt
2. Data
mdata_obj = sm.datasets.get_rdataset(dataname="AirPassengers",
package="datasets",
cache=True)
mdata = mdata_obj.data
mdata = pd.DataFrame(data=mdata["value"]).set_index(
pd.date_range(start="1949", end="1961", freq="M"))
print(mdata.head())
print(mdata_obj.__doc__)
Ranges Delimiting
tdata = mdata[:"1958-12-31"]
fdata = mdata["1959-01-01":]
Chart
plt.plot(tdata)
plt.ylabel("Air Passengers")
plt.xlabel("Year")
plt.show()
3. First Order Stationarity
Augmented Dickey-Fuller Test
adf = st.adfuller(x=tdata, regression="ct", maxlag=12)
print("adf:", adf[0], "adf_pvalue:", adf[1])