Last active
November 2, 2018 10:09
-
-
Save gonzalezgouveia/79c0c126be06e7baac6a8bbe8f4ba6a1 to your computer and use it in GitHub Desktop.
ecobici order sarima
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from statsmodels.tsa.statespace.sarimax import SARIMAX # modelo SARIMA | |
from itertools import product # facilita ejecicion del ciclo for | |
# definiendo niveles del modelo | |
niveles = ['p', 'd', 'q', 'sp', 'sd', 'sq', 'AIC', 'BIC','log-like'] | |
resultados_modelos = pd.DataFrame(columns=niveles) | |
grados = [0,1,2] | |
# recorriendo todos los modelos posibles | |
for p, d, q, sp, sd, sq in product(grados, repeat=6): | |
print('Modelo: (p = {}, d = {}, q = {}, sp = {}, sd = {}, sq = {})'.format(p,d,q,sp,sd,sq)) | |
try: | |
sarima_model = SARIMAX(x, order=(p,d,q), seasonal_order=(sp, sd, sq, 24)) | |
results = sarima_model.fit() | |
fila_de_resultados = pd.DataFrame([[p, d, q, sp, sd, sq, results.aic, results.bic, results.llf]], columns=niveles) | |
resultados_modelos = resultados_modelos.append(fila_de_resultados) | |
except: | |
print('|-----> no se pudo modelizar') | |
fila_de_resultados = pd.DataFrame([[p, d, q, sp, sd, sq, float('inf'), float('inf'), -float('inf')]], columns=niveles) | |
resultados_modelos = resultados_modelos.append(fila_de_resultados) | |
# mostrando tabla | |
resultados_modelos.sort_values(by=['log-like'], ascending=False).head(10) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment