Open gbekes opened 2 years ago
Please check R and Python
@gbekes Same case as in #13, I created the python code based on stata, and included the monthly seasonality dummies to the model
mse_var_season = []
for i in range(1, 5):
train_data = data_work.loc[lambda x: x["train" + str(i)] == 1, :].dropna()
test_data = data_work.loc[lambda x: x["test" + str(i)] == 1, :].dropna()
model7_season = VAR(
train_data[["dp", "du", "dlnemp"]], exog=pd.get_dummies(train_data["month"])
).fit(1)
dphat = model7_season.forecast(
train_data[["dp", "du", "dlnemp"]].values[-model7_season.k_ar :],
exog_future=pd.get_dummies(test_data["month"]).values,
steps=12,
)[:, 0]
test_data["phat"] = None
for i in range(0, 12):
if i == 0:
test_data.iloc[i, -1] = train_data["p"].values[-1] + dphat[i]
else:
test_data.iloc[i, -1] = test_data.iloc[i - 1, -1] + dphat[i]
errsq = np.square(test_data["p"] - test_data["phat"])
mse_var_season.append(np.mean(errsq))
rmse_cv_m7_season = np.sqrt(np.mean(mse_var_season))
Need to add monthly seasonality to VAR