The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Estoy tratando de usar el suavizado exponencial en Pandas en Power BI y quiero que el pronóstico siempre comience después de la fecha máxima en el conjunto de datos reales, es decir, mi última semana de datos reales es 6/11/2022, así que quiero pronosticar a partir de ahí.
Estoy tratando de escribir código para extraer y alimentar esta fecha máxima en el marco de datos que contendrá las predicciones terminadas, pero por alguna razón no está determinando correctamente la fecha máxima. Siempre da un valor en 1970, que supongo que es el equivalente de fecha y hora de un valor cero.
# 'dataset' holds the input data for this script
import pandas as pd
import numpy as np
dataset.set_index('Date')
dataset.index.freq='W'
from statsmodels.tsa.holtwinters import ExponentialSmoothing
model = ExponentialSmoothing(dataset['Volume'],trend='mul',seasonal='mul',seasonal_periods=52).fit()
lastweek = dataset.index.max()
range = pd.date_range(lastweek,periods=17,freq='W')
predictions = model.forecast(17)
predictions_range = pd.DataFrame({'Volume':predictions,'Date':range})
Información adicional: he podido obtener código diferente para que funcione en Jupyter Notebook, pero por alguna razón esto no funciona en Power BI:
# 'dataset' holds the input data for this script
import pandas as pd
import numpy as np
dataset.set_index('Date')
dataset.index.freq='W'
from statsmodels.tsa.holtwinters import ExponentialSmoothing
model = ExponentialSmoothing(dataset['Volume'],trend='mul',seasonal='mul',seasonal_periods=52).fit()
lastweek = dataset.index.max()
lastweekdate = lastweek.to_pydatetime().date()
range = pd.date_range(lastweekdate,periods=17,freq='W')
predictions = model.forecast(17)
predictions_range = pd.DataFrame({'Volume':predictions,'Date':range})
Source es un archivo csv muy común que se convierte en fechas y números:
Agradecería la ayuda de cualquiera!
@c37581 , Estas dos líneas tienen problemas
lastweek = dataset.index.max()
lastweekdate = lastweek.to_pydatetime().date()
¿Puede probar este código fuera de un dato de ejemplo?