如何将指数平滑模型预测值获取到 POWER BI/POWER Query 数据集?
Posted
技术标签:
【中文标题】如何将指数平滑模型预测值获取到 POWER BI/POWER Query 数据集?【英文标题】:How to get Exponential Smoothing model forecast values to POWER BI/POWER Query dataset? 【发布时间】:2020-02-28 13:58:06 【问题描述】:我一直无法在 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)
【问题讨论】:
我的建议对你有什么效果? 【参考方案1】:您的 sn-p 中有一堆导入和函数定义。您似乎缺少的是函数中的 return 语句,例如return(dfoutput)
。不过,您的缩进似乎有点不对劲。但是,如果其他一切都正确,那么您将错过对您的函数的调用,例如 output=get_prediction(dataset=dataset)
。
只要output
确实以数据框的形式结束,那么在代码运行后,您就可以在 PowerBI 中使用它。
【讨论】:
以上是关于如何将指数平滑模型预测值获取到 POWER BI/POWER Query 数据集?的主要内容,如果未能解决你的问题,请参考以下文章