Technic

使用python构建ARIMA模型进行预测分析的小说明:forecast函数

Autoregressive Integrated Moving Average model(ARIMA),即差分整合移动平均自回归模型,或称为整合移动平均自回归模型,是一种时间序列预测分析方法。今天我在实践过程中遇到一个小问题,后来看了官方文档才弄清楚,这里和大家分享一下。 首先分享三篇我觉得比较好并且容易上手的教程,其中包含源代码可以直接使用。第一篇是一个最简单的入门,是单步预测;第二篇可以进行多步预测;第三篇对于算法使用前的数据处理和分析进行了详细的介绍;第四篇也有相详尽的步骤和代码,并对数据进行了详细的分析,第五篇详细的介绍了从线性回归到AR、ARMA、ARIMA及GARCH等方法。 How to Create an ARIMA Model for Time Series Forecasting with Python How to Make Out-of-Sample Forecasts with ARIMA in Python Forecast a time series with ARIMA in Python A Guide to Time Series Forecasting with ARIMA in Python 3 Time Series Analysis (TSA) in Python – Linear Models […]

Continue Reading

Technic

机器学习利用第三方库自动寻找最优参数

        目前的实验中我在用深度学习构建神经网络,开始的时候我一般是随机手调几个数大致看下效果,有时候如果需要知道网络效果随参数变化的趋势,就用for循环自动运行许多实验,然后我来收结果并用matlab批量分析。今天同事给我推荐了两个github上的库,利用这两个库可以实现对模型多次的运行并评价系统的运行结果。这个过程中不涉及对系统的优化,只是通过大量的自动运行的实验通过统计学的角度来比较什么样的参数相对较好。         这两个库分别为Spearmint 和 BayesianOptimization.详细的介绍、安装方法和例子在各自的网站里都有写,我就不赘述了。目前我正在尝试使用Spearmint方法,所以先把安装过程中的一点小提示写在这里。         首先,这个库是在python 2.7环境的,如果你使用python 3 的话会遇到一些问题,所以建议使用2.7.         其次,新版的scipy中weave模块已经独立出来,所以原来的文件中使用的scipy.weave as weave语句就没法使用了,会报错。有人建议如下修改   try: import scipy.weave as weave except ImportError: import weave                 可是我的电脑上即使更新scipy后也无法导入scipy.weave或者weave,所以只好使用下边这种方法,也就是完全不使用weave库。因为weave只使用了一次,所以只要在/spearmint/kernels/kernel_utils.py文件中把使用weave模块的部分注释掉即可,把第226行附近的代码调整为如下所示。原来使用weave模块用c语言计算的部分被用python语言的替代了,计算速度会下降,不过好歹可以用了。此外记得删除kernel_utils.py和/spearmint/models/gp_classifier.py文件中weave模块的import。   #try: # scipy.weave.inline(code, [‘x1′,’x2′,’gX’,’ls’,’M’,’N’,’D’], \ # type_converters=scipy.weave.converters.blitz, \ # compiler=’gcc’) […]

Continue Reading