【时序列】python怎么用R的auto-arima?pmdarima( 旧pyramid-arima)的安装方法

R语言中的auto-arima可以自动选择最合适的 q,p,d模型参数,简单好用。对于不熟悉R语言的小伙伴们,python里面也有包可以实现同样功能 就是 pmdarima (旧名: pyramid-arima) 。

由于此包中途改名,导致很多人在安装的时候遇到问题。
不要再用这个command安装了。pip install pyramid-arima

正确安装方法

pip install pmdarima

调用方法

from pmdarima.arima import auto_arima

smodel = pm.auto_arima(data, start_p=1, start_q=1
### 使用ARIMA-LSTM进行序列预测的方法实现教程 #### 一、方法概述 ARIMA-LSTM是一种结合了传统统计学模型与现代机器学习技术的序列预测方法。其中,ARIMAAutoRegressive Integrated Moving Average Model)负责处理数据中的线性和周期性成分;LSTM(Long Short-Term Memory Network),作为一类特殊的循环神经网络,则专注于捕捉复杂的非线性关系以及长间跨度内的依赖模式[^1]。 #### 二、具体实施步骤详解 ##### 数据预处理阶段 为了使后续建模更加有效,在正式进入算法构建之前,通常需要先完成一系列的数据准备工作: - **缺失值填充**:对于存在空缺记录的情况,可以采用前向填补法(forward fill)或插值法(interpolation)等方式来补全这些位置上的数值。 - **异常点检测与修正**:识别并调整那些明显偏离正常范围之外的数据点,防止它们对整体分析造成干扰影响。 - **平稳化转换**:如果原始序列呈现出明显的增长/下降趋势或者季节波动特性,则应考虑对其进行差分化操作直至达到稳定状态为止。 ```python import pandas as pd from statsmodels.tsa.stattools import adfuller def check_stationarity(ts): result = adfuller(ts) pvalue = result[1] return True if pvalue < 0.05 else False data = pd.read_csv('your_dataset.csv') series = data['target_column'] if not check_stationarity(series): series_diff = series.diff().dropna() ``` ##### 构建ARIMA组件 一旦完成了上述准备活动之后,就可以着手建立ARIMA子模块了。这一步骤主要涉及到参数估计(p,d,q的选择),即确定最佳阶数配置方案的过程。可以通过AIC准则(Akaike Information Criterion)来进行自动筛选最优解。 ```python from pyramid.arima import auto_arima model_autoarima=auto_arima(train_data,trace=True, error_action ='ignore', suppress_warnings = True) forecast=model_autoarima.predict(n_periods=len(test_data)) ``` ##### 训练LSTM网络结构 接下来就是针对由ARIMA产生的残差项进一步训练一个基于RNN架构下的LSTM单元格组成的深层感知机。此过程中需要注意设置合理的超参组合(比如隐藏层节点数量、批次大小batch size等),并通过交叉验证机制不断优化性能表现。 ```python from keras.models import Sequential from keras.layers import Dense,LSTM residuals = train_data - forecast[:-len(test_data)] lstm_model = Sequential([ LSTM(units=50, activation='relu', input_shape=(n_steps_in,n_features)), Dense(1)]) lstm_model.compile(optimizer='adam', loss='mse') history=lstm_model.fit(X_train,y_train,batch_size=batch_size,epochs=n_epochs) ``` ##### 预测结果融合策略 最后一步便是将两个独立部分所得到的结果加以综合考量得出最终结论。一般而言会采取简单相加的形式,当然也可以依据实际情况引入权重系数w调节两者贡献度的比例关系。 \[ \hat{y}_{t}^{final}= w*\hat{y}_t^{arima}+(1-w)*\hat{\epsilon }_t ^ {lstm}\] 此处$\hat{y}_t^{arima}$表示来自ARIMA的预测输出,$\hat{\epsilon }_t ^ {lstm}$代表经由LSTM改进过的误差校正值,w则是在区间$[0,1]$内取定的一个常量因子[^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值