【问题标题】:How to get Exponential Smoothing model forecast values to POWER BI/POWER Query dataset?如何将指数平滑模型预测值获取到 POWER BI/POWER Query 数据集?
【发布时间】: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)

【问题讨论】:

  • 我的建议对你有什么效果?

标签: python powerbi powerquery forecasting


【解决方案1】:

您的 sn-p 中有一堆导入和函数定义。您似乎缺少的是函数中的 return 语句,例如return(dfoutput)。不过,您的缩进似乎有点不对劲。但是,如果其他一切都正确,那么您将错过对您的函数的调用,例如 output=get_prediction(dataset=dataset)

只要output 确实以数据框的形式结束,那么在代码运行后,您就可以在 PowerBI 中使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多