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

问题描述 投票:1回答:1

我一直坚持在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)
python powerbi powerquery forecasting
1个回答
0
投票

您的代码段中包含一堆导入和一个函数定义。您似乎缺少的是函数中的return语句,例如return(dfoutput)。您的缩进似乎有些偏离。但是,如果其他所有内容都正确,则您将丢失对函数的调用,例如output=get_prediction(dataset=dataset)

只要output确实作为一个数据帧结束,那么在代码运行后,它就会在PowerBI中提供给您。

© www.soinside.com 2019 - 2024. All rights reserved.