Exemplo n.º 1
0
vac = temp.add_holidays(dates)  ## <-
ad = temp.associate_days(data[data.columns[1]], 'ven')
yd = temp.generate_days(data[data.columns[1]], 'ven')
anglesd = np.array([temp.convert_day_to_angle(v) for v in yd])  ## <-
ora = np.sin(np.array(data[data.columns[1]]) * np.pi / 24)  ## <-

arg = {'holiday': vac, 'day': anglesd, 'ora': ora}
arg = pd.DataFrame(arg)

arfit = statsmodels.tsa.arima_model.ARIMA(endog=ardata["PUN"],
                                          order=[4, 1, 2],
                                          exog=arg.as_matrix()).fit(
                                              trend='c',
                                              method='mle',
                                              maxiter=100)
rmse_fit = Functions_for_TSP.RMSE(arfit.resid)  ## 7.7520042757584031

trainset = list(range(8016))
testset = list(range(8016, 8760))

artfit = statsmodels.tsa.arima_model.ARIMA(
    endog=ardata["PUN"].ix[trainset],
    order=[4, 1, 2],
    exog=arg.ix[trainset].as_matrix()).fit(trend='c',
                                           method='mle',
                                           maxiter=100)

art_forecast = artfit.forecast(steps=744, exog=arg.ix[testset].as_matrix())

### http://statsmodels.sourceforge.net/devel/generated/statsmodels.tsa.arima_model.ARMAResults.html ####
#RMSE(art_forecast[1]-ardata["PUN"].ix[testset])