1. GRU(Gated Recurrent Unit)
- 特徴:
- LSTMに似たリカレントニューラルネットワーク(RNN)の一種。
- 計算効率が高く、トレーニング時間が短い。
- 記憶セルが少ないため、モデルがシンプルでありながら、LSTMと同等の性能を発揮することが多い。
- 例
1 2 3 4 5 6 7 8 9 10 | from tensorflow.keras.models import Sequential from tensorflow.keras.layers import GRU, Dense, Dropout model = Sequential() model.add(GRU( 50 , return_sequences = True , input_shape = (look_back, 7 ))) model.add(Dropout( 0.2 )) model.add(GRU( 50 )) model.add(Dense( 50 , activation = 'relu' )) model.add(Dense( 7 )) model. compile (loss = 'mean_squared_error' , optimizer = 'adam' ) |
2. XGBoost(Extreme Gradient Boosting)
- 特徴:
- 勾配ブースティングアルゴリズムに基づいた強力な機械学習ライブラリ。
- 多くのカスタマイズが可能で、正確な予測が可能。
- 欠損値の処理やカテゴリ変数の取り扱いが自動で行われる。
- 非線形の関係を捉えるのが得意。
- 適用例:
- 回帰問題や分類問題全般。
- 時系列データの予測、特に長期的なトレンド予測。
- 例:
1 2 3 4 | from xgboost import XGBRegressor model = XGBRegressor(n_estimators = 1000 , learning_rate = 0.01 ) model.fit(X, y) |
3. ARIMA(AutoRegressive Integrated Moving Average)
- 特徴:
- 古典的な時系列予測手法であり、統計学に基づくアプローチ。
- 非季節性の時系列データに対して効果的。
- データの自動相関を捉えるのが得意。
- モデルのパラメータ(AR, I, MA)の選択が重要。
- 適用例:
- 経済データの予測(例:GDP、インフレ率)。
- セールスデータや生産量の予測。
- 例:
1 2 3 4 5 | from statsmodels.tsa.arima.model import ARIMA model = ARIMA(df[ 'sum_numbers' ], order = ( 5 , 1 , 0 )) model_fit = model.fit() forecast = model_fit.forecast(steps = 1 ) |
コメント