当前位置: 首页 > 面试题库 >

适用于python的auto.arima()

东郭自强
2023-03-14
问题内容

我正在尝试使用 ARMA
ARIMA模型预测每周销售量。我找不到用于调整中的order(p,d,q)的函数statsmodels。当前,R具有forecast::auto.arima()将调整(p,d,q)参数的功能。

如何为模型选择正确的顺序?python中有为此目的提供的任何库吗?


问题答案:

您可以实现多种方法:

  1. ARIMAResults包括aicbic。根据它们的定义(请参阅此处和此处),这些条件会对模型中的参数数量造成不利影响。因此,您可以使用这些数字来比较模型。scipy还具有optimize.brute在指定参数空间上进行网格搜索的功能。因此,这样的工作流程应该可以工作:

    def objfunc(order, exog, endog):
    from statsmodels.tsa.arima_model import ARIMA
    fit = ARIMA(endog, order, exog).fit()
    return fit.aic()
    

    from scipy.optimize import brute
    grid = (slice(1, 3, 1), slice(1, 3, 1), slice(1, 3, 1))
    brute(objfunc, grid, args=(exog, endog), finish=None)

确保你打电话brutefinish=None

  1. 您可以pvalues从获得ARIMAResults。因此,一种易于执行的步进算法可以在整个维度上增加模型的度数,从而为添加的参数获得最低的p值。

  2. 使用ARIMAResults.predict交叉验证的替代机型。最好的方法是使时间序列的尾部(例如最新数据的5%)不出现在样本中,并使用这些点来获得拟合模型的 测试误差



 类似资料:
  • 问题内容: 我正在尝试从sqlalchemy(SQlite)迁移到使用mongodb。我想要架构验证。我看了看mongokit,但我想要一个类似于映射器的东西,这样它就可以从对象的属性中保存,而不是字典。 我想要一个映射器,这样我就可以使用现有对象而无需修改它们。 问题答案: 另一个选择是MongoEngine。MongoEngine的ORM与Django使用的ORM非常相似。 示例(来自教程):

  • 我的python 2.7脚本在我的Ubuntu系统上工作,如果我称之为使用 或从bash脚本使用 但是如果我从Py魅力调用它,我会得到oauth错误,并且从命令提示符 在导入熊猫行抛出一个错误: 我试过了 如Python Pandas中所述,卸载pip,然后为熊猫、Numpy和smpy安装pip-缺少必需的依赖项['Numpy'] 1 上面使用了标志-升级和-用户来尝试让包应用到我的用户帐户而不是

  • 问题内容: 有序词典是非常有用的结构,但是不幸的是,它们仅在3.1和2.7版本中才是最近的版本。在旧版本中如何使用有序词典? 问题答案: 我在pip python 2.6上安装了ordereddict

  • 问题内容: 在Python 3的文件下载过程中,我需要显示一个进度。我已经看到了一些关于主题,但是考虑到我对编程不熟悉,没有人张贴完整的示例,只是其中的一部分,或者是我可以使Python 3上的工作对我没有好处… 附加信息: 好的,所以我有这个: 脚本通过python命令行运行 问题答案: 有将URL下载到文件并允许指定reporthook回调来报告进度的方法: 这是一个GUI进度栏: 在Pyth

  • 问题内容: 最新的Python Sendkeys模块适用于Python 2.6。我自己不能升级它,因为它需要重新编译C模块。 有谁知道将密钥发送到窗口的相当简单的替代方法? 使用win32ui.FindWindow(),我可以找到正确的窗口,然后使用PyCWnd.SetActiveWindow()将其激活,因此所需要的只是将击键发送到活动窗口的简单方法。 目的是执行菜单项。 该应用程序是用Delp

  • 问题内容: 我正在尝试导入Pygame以用于我的Python 3.3版本。Pygame网站上的下载仅包含Python 3.1和3.2。我似乎无法导入Pygame,尽管我认为我已将其安装在正确的路径中。我已经尝试了3.1和3.2 Pygame下载。 是Pygame只是没有安装在正确的文件路径中,还是Pygame与我的Python版本(3.3)不兼容? 我正在运行Windows 7,这是错误: 问题答