标签: pyramid-arima

如何在Python中根据年份分割数据框?

我有一个名为“dataframe”的数据框,其中包含一堆特定日期的销售信息。每个日期条目的格式为 YYYY-MM-DD,数据范围从 2012 年到 2017 年。我想将此数据框拆分为 6 个单独的数据框,每年一个。例如,第一个分割数据帧将包含 2012 年的所有条目。

我想我可以在下面的代码中做到这一点。我将数据框分成每年一个,并将它们放入“年”列表中。但是,当我尝试在每个数据帧上运行 auto_arima 时,我收到错误“发现样本数量不一致的输入变量”。

我认为这是因为我没有正确分割原始数据框。如何根据年份正确分割数据框?

#Partition data into years
years = [g for n, g in dataframe.set_index('Date').groupby(pd.Grouper(freq='Y'))]

#Create a list that will hold all auto_arima results for every dataframe
stepwise_models = []

#Call auto_arima on every dataframe
for x in range(len(years)-1):
    currentDf = years[x]
    model = auto_arima(currentDf['price'], exogenous=xreg, start_p=1, start_q=1,
        max_p=3, max_q=3, m=12,
        start_P=0, seasonal=True,
        d=1, D=1, trace=True,
        error_action='ignore',  
        suppress_warnings=True, 
        stepwise=True)
    stepwise_models.append(model) #Store current auto_arima result in our stepwise_models[] list
Run Code Online (Sandbox Code Playgroud)

python statistics pandas data-science pyramid-arima

5
推荐指数
1
解决办法
1万
查看次数

ARIMA在pmdarima样本预测中如何缩放?

我使用auto_arimapmdarima软件包执行了时间序列预测。我知道该程序包基于statsmodel SARIMAX程序包。

使用命令:fit.predict_in_sample(ARIMA_input, dynamic=None),可以将结果缩放/归一化为0。我想将样本中的预测转换回去,以使用我的输入数据进行绘制。有谁知道它是如何转变的?我从pmdarima中搜索了源代码,但找不到任何东西。使用statsmodel SARIMAX,样本中的预测与我的输入具有相同的比例。

注意:我的数据不是季节性的,因此我仅将ARIMA与statsmodel SARIMAX一起使用。

此外,如果我使用auto_arimapmdarima拟合给出的顺序并将其与statsmodel SARIMAX一起使用,则会得到不同的预测结果(pmdarima的预测非常合理,而SARIMAX的预测只是一条直线)。看来我看不出有什么不同。也许你们中的某人更了解它并可以帮助我?

如果您需要更多信息,我们很乐意提供。

python time-series forecasting arima pyramid-arima

5
推荐指数
0
解决办法
239
查看次数

如何安装 pmdarima?

存在持续错误,并且所有要求均已满足。

C:\Users\dobri>python -m pip install --user pmdarima
Collecting pmdarima
  Using cached https://files.pythonhosted.org/packages/1a/4f/6851c8d37551efcb8cfe12539f42f0f1b42a2d28a7275f1e1f6bdd6956a2/pmdarima-1.4.0.tar.gz
Requirement already satisfied: Cython>=0.29 in c:\users\dobri\appdata\roaming\python\python38\site-packages (from pmdarima) (0.29.14)
Requirement already satisfied: joblib>=0.11 in c:\users\dobri\appdata\roaming\python\python38\site-packages (from pmdarima) (0.14.0)
Requirement already satisfied: numpy>=1.16 in c:\users\dobri\appdata\roaming\python\python38\site-packages (from pmdarima) (1.17.4+mkl)
Requirement already satisfied: pandas>=0.19 in c:\users\dobri\appdata\roaming\python\python38\site-packages (from pmdarima) (0.25.3)
Requirement already satisfied: scikit-learn>=0.19 in c:\users\dobri\appdata\roaming\python\python38\site-packages (from pmdarima) (0.21.3)
Requirement already satisfied: scipy>=1.3 in c:\users\dobri\appdata\roaming\python\python38\site-packages (from pmdarima) (1.4.0rc1)
Requirement already satisfied: six>=1.5 in c:\users\dobri\appdata\roaming\python\python38\site-packages (from pmdarima) (1.13.0)
Requirement already satisfied: statsmodels>=0.10.0 in …
Run Code Online (Sandbox Code Playgroud)

python-3.x pyramid-arima python-3.8

4
推荐指数
1
解决办法
2万
查看次数

如何在Anaconda Jupyter笔记本上运行金字塔自动有马?

显然,Anaconda有一个不同的金字塔包,用于Web框架。https://anaconda.org/anaconda/pyramid

Arima pyramid用户指南建议使用pip安装金字塔Arima。https://www.alkaline-ml.com/pyramid/setup.html#setup

但是,由于Anaconda使用conda来配置程序包,如何为Jupyter笔记本电脑在Anaconda环境中添加金字塔形?

anaconda jupyter-notebook arima pyramid-arima

2
推荐指数
1
解决办法
3829
查看次数