如何将指数平滑模型预测值获取到 POWER BI/POWER 查询数据集?

How to get Exponential Smoothing model forecast values to POWER BI/POWER Query dataset?

我无法在 POWER BI /query 数据集中获取预测值。下面是我尝试使用 pd.DataFrame 导出 y_hat 值的代码。该代码不会给出错误,但只会返回原始数据集值,而不是未来日期的预测值。我想要一个单独的数据集,其中包含未来 6 个月的完整预测值。可以做些什么来实现同样的目标?

# 'dataset' holds the input data for this script
dataset = dataset.drop_duplicates()

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import matplotlib.cbook as cbook
from matplotlib.dates import DateFormatter
import numpy as np
import pandas as pd
import datetime
from statsmodels.tsa.api import ExponentialSmoothing, SimpleExpSmoothing, Holt
from statsmodels.tsa.holtwinters import ExponentialSmoothing
import os
from datetime import datetime, timedelta

dataset['Month']= pd.to_datetime(dataset['Month'])
dataset.set_index('Month', inplace=True)

def get_prediction(dataset):

 list_TPID = dataset.TPID.unique()
 for TPID in list_TPID:

  TPID_df = dataset.loc[dataset['TPID'] == TPID]

  train, test = dataset.iloc[:4,0] , dataset.iloc[3:,0]
  model= ExponentialSmoothing(train,trend='add',damped=False).fit() 
  y_hat = model.forecast(6)

  dfoutput= pd.DataFrame(y_hat)

你的代码片段中有一堆导入和一个函数定义。您似乎缺少的是函数中的 return 语句,例如 return(dfoutput)。不过,您的缩进似乎有点偏离。但是,如果其他一切都正确,则您缺少对函数的调用,例如 output=get_prediction(dataset=dataset).

只要 output 确实最终成为一个数据框,那么在代码为 运行.

之后,您就可以在 PowerBI 中使用它了