用法:
class cuml.tsa.ARIMA(endog, *, order: Tuple[int, int, int] =(1, 1, 1), seasonal_order: Tuple[int, int, int, int] =(0, 0, 0, 0), exog=None, fit_intercept=True, simple_differencing=True, handle=None, verbose=False, output_type=None)
為 in- 和 out-of-sample 時間序列預測實現批處理 ARIMA 模型,並支持季節性 (SARIMA)
ARIMA 代表Auto-Regressive 綜合移動平均線。看https://en.wikipedia.org/wiki/Autoregressive_integrated_moving_average
此類可以將 ARIMA(p,d,q) 或 ARIMA(p,d,q)(P,D,Q)_s 模型擬合到一批相同長度(或不同長度,使用缺失值填充的開始)。該實現旨在在使用大批量時間序列時提供最佳性能。
- endog:數據幀或類似數組(設備或主機)
內生變量,假設每個時間序列都在列中。可接受的格式:cuDF DataFrame、cuDF 係列、NumPy ndarray、Numba 設備 ndarray、cuda 陣列接口兼容陣列(如 CuPy)。接受缺失值,用 NaN 表示。
- order:元組[int, int, int]
模型的 ARIMA 階 (p, d, q)
- seasonal_order: Tuple[int, int, int, int]:
模型的季節性 ARIMA 階數 (P, D, Q, s)
- exog:數據幀或類似數組(設備或主機)
外生變量,假設每個時間序列都在列中,以便與同一批次成員關聯的變量相鄰(列數:n_exog * batch_size)可接受的格式:cuDF DataFrame、cuDF Series、NumPy ndarray、Numba 設備ndarray,cuda 數組接口兼容的數組,如 CuPy。不支持缺失值。
- fit_intercept:bool 或 int(默認 = True)
是否在模型中包含恒定趨勢 mu
- simple_differencing: bool or int (default = True):
如果為 True,則數據在傳遞到卡爾曼濾波器之前會進行差分。如果為 False,則差分是狀態空間模型的一部分。在某些情況下,可以忽略此設置:使用置信區間計算預測將強製其為 False ;與 CSS 方法擬合將強製其為 True。注意:預測始終針對原始序列,而 statsmodels 在 simple_differencing 為 True 時計算差異序列的預測。
- handle:cuml.Handle
指定 cuml.handle 保存用於此模型中計算的內部 CUDA 狀態。最重要的是,這指定了將用於模型計算的 CUDA 流,因此用戶可以通過在多個流中創建句柄在不同的流中同時運行不同的模型。如果為 None,則創建一個新的。
- verbose:int 或布爾值,默認=False
設置日誌記錄級別。它必須是
cuml.common.logger.level_*
之一。有關詳細信息,請參閱詳細級別。- output_type:{‘input’, ‘cudf’, ‘cupy’, ‘numpy’, ‘numba’},默認=無
用於控製估計器的結果和屬性的輸出類型的變量。如果為 None,它將繼承在模塊級別設置的輸出類型
cuml.global_settings.output_type
。有關詳細信息,請參閱輸出數據類型配置。
參數:
注意:
Performance:
讓 。大多數操作使用的設備內存是 。執行時間是n_obs
和batch_size
的線性函數(如果batch_size
很大),但隨著r
增長非常快。性能針對非常大的批量(例如數千個係列)進行了優化。
參考:
此類深受 Python 庫
statsmodels
的影響,尤其是statsmodels.tsa.statespace.sarimax.SARIMAX
。見https://www.statsmodels.org/stable/statespace.html。此外,以下書籍是有用的參考:“Time Series Analysis by State Space Methods”,J. Durbin,S.J.考夫曼,第 2 版(2012 年)。
例子:
import numpy as np from cuml.tsa.arima import ARIMA # Create seasonal data with a trend, a seasonal pattern and noise n_obs = 100 np.random.seed(12) x = np.linspace(0, 1, n_obs) pattern = np.array([[0.05, 0.0], [0.07, 0.03], [-0.03, 0.05], [0.02, 0.025]]) noise = np.random.normal(scale=0.01, size=(n_obs, 2)) y = (np.column_stack((0.5*x, -0.25*x)) + noise + np.tile(pattern, (25, 1))) # Fit a seasonal ARIMA model model = ARIMA(y, order=(0,1,1), seasonal_order=(0,1,1,4), fit_intercept=False) model.fit() # Forecast fc = model.forecast(10) print(fc)
輸出:
[[ 0.55204599 -0.25681163] [ 0.57430705 -0.2262438 ] [ 0.48120315 -0.20583011] [ 0.535594 -0.24060046] [ 0.57207541 -0.26695497] [ 0.59433647 -0.23638713] [ 0.50123257 -0.21597344] [ 0.55562342 -0.25074379] [ 0.59210483 -0.27709831] [ 0.61436589 -0.24653047]]
- order:ARIMA訂單
模型的 ARIMA 順序 (p, d, q, P, D, Q, s, k, n_exog)
- d_y: device array:
設備上的時間序列數據
- n_obs: int:
觀察次數
- batch_size: int:
批次中的時間序列數
- dtype: numpy.dtype:
數據和參數的浮點類型
- niter: numpy.ndarray:
擬合後,包含每個時間序列收斂前的迭代次數。
屬性:
相關用法
- Python cuml.tsa.ARIMA.predict用法及代碼示例
- Python cuml.tsa.ARIMA.forecast用法及代碼示例
- Python cuml.tsa.auto_arima.AutoARIMA用法及代碼示例
- Python cuml.metrics.pairwise_distances.pairwise_distances用法及代碼示例
- Python cuml.neighbors.KNeighborsClassifier用法及代碼示例
- Python cuml.ensemble.RandomForestRegressor用法及代碼示例
- Python cuml.svm.SVC用法及代碼示例
- Python cuml.svm.SVR用法及代碼示例
- Python cuml.Lasso用法及代碼示例
- Python cuml.multiclass.OneVsRestClassifier用法及代碼示例
- Python cuml.random_projection.GaussianRandomProjection用法及代碼示例
- Python cuml.MBSGDRegressor用法及代碼示例
- Python cuml.experimental.preprocessing.PolynomialFeatures用法及代碼示例
- Python cuml.PCA用法及代碼示例
- Python cuml.feature_extraction.text.HashingVectorizer用法及代碼示例
- Python cuml.DBSCAN用法及代碼示例
- Python cuml.dask.feature_extraction.text.TfidfTransformer用法及代碼示例
- Python cuml.TruncatedSVD用法及代碼示例
- Python cuml.common.memory_utils.using_output_type用法及代碼示例
- Python cuml.preprocessing.text.stem.PorterStemmer用法及代碼示例
- Python cuml.experimental.preprocessing.SimpleImputer用法及代碼示例
- Python cuml.experimental.preprocessing.add_dummy_feature用法及代碼示例
- Python cuml.dask.manifold.UMAP用法及代碼示例
- Python cuml.LogisticRegression用法及代碼示例
- Python cuml.dask.decomposition.PCA用法及代碼示例
注:本文由純淨天空篩選整理自rapids.ai大神的英文原創作品 cuml.tsa.ARIMA。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。