概要
このモデルは 1 時間ごとの気象データ (各種の気象特徴からなる Numpy 配列を含むテキスト・ファイル) を入力として取り、特定のターゲット変数 (気温や風速など) に対する 1 時間ごとの気象予測を返します。
このモデルで使用されている 3 つの事前トレーニングされたモデルは、いずれも CODAIT チームにより、米国海洋大気庁の局所的気候学データでトレーニングされています。このデータは、当初 JFK 空港で収集されたものです。3 つのモデルにはすべて、LSTM 再帰型ニューラル・ネットワーク・アーキテクチャーが使用されています。
モデルのトレーニングに使用された気象変数の説明は、以下のように設定されています。
変数 | 説明 |
---|---|
HOURLYVISIBILITY | オブジェクトを観測可能な距離。 |
HOURLYDRYBULBTEMPF | 乾球温度 (華氏)。最も一般的に報告される標準の温度です。 |
HOURLYWETBULBTEMPF | 湿球温度 (華氏)。 |
HOURLYDewPointTempF | 露点温度 (華氏)。 |
HOURLYRelativeHumidity | 相対湿度 (パーセント)。 |
HOURLYWindSpeed | 風速 (マイル/時)。 |
HOURLYWindDirection | コンパス方位による真北を基準とした風向。 |
HOURLYStationPressure | 気圧 (水銀柱インチ、つまり Hg 単位)。 |
HOURLYPressureTendency | 直近 3 時間の気圧の変化を示す気圧傾向。 |
HOURLYSeaLevelPressure | 海面気圧 (Hg 単位)。 |
HOURLYPrecip | 直近 1 時間の全降水量 (インチ単位)。 |
HOURLYAltimeterSetting | 「標準」の気圧の温度プロフィールを使用して海面まで下げられた気圧 (Hg 単位)。 |
気象変数についての詳細は、「US Local Climatological Data Documentation」を参照してください。
以下のように、モデルごとに異なる形式の予測が返されます。
- 単変量モデル: 入力データ・ポイントごとに、次の 1 時間の乾球温度 (
HOURLYDRYBULBTEMPF
) の予測を返します。 - 多変量モデル: 入力データ・ポイントごとに、次の 1 時間の 12 の気象変数すべての予測を返します。
- 多段階モデル: 入力データ・ポイントごとに、次の 48 時間の乾球温度 (
HOURLYDRYBULBTEMPF
) の予測を返します。
モデルのメタデータ
ドメイン | アプリケーション | 業種 | フレームワーク | トレーニング・データ | 入力データ形式 |
---|---|---|---|---|---|
気象 | 時系列予測 | 一般 | TensorFlow / Keras | JFK 空港の気象データ (NOAA) | CSV |
- US Local Climatological Data (米国海洋大気庁国立気候データ・センター) に含まれるデータ
参考資料
文献およびドキュメント
- Keras の LSTM
- RNN による時系列予測
- S.Hochreiter、J. Schmidhuber 共著「Long Short Term Memory」(Neural Computation、1997 年)
関連リポジトリー
ライセンス
コンポーネント | ライセンス | リンク |
---|---|---|
モデルの GitHub リポジトリー | Apache 2.0 | LICENSE |
モデルの重み | Apache 2.0 | LICENSE |
テスト・アセット | 制限なし | アセットの README |
このモデルのデプロイ方法
このモデルは、以下のメカニズムを使用してデプロイできます。
- Dockerhub からデプロイする場合:
docker run -it -p 5000:5000 codait/max-weather-forecaster
- Kubernetes 上にデプロイする場合:
kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Weather-Forecaster/master/max-weather-forecaster.yaml
- ローカルにデプロイする場合: GitHub 上のモデルの README に記載されている手順に従います。
使用例
モデルをデプロイしたら、コマンド・ラインからモデルをテストできます。例えば、ローカルで実行中の多変量モデルをテストするには、次のコマンドを使用します。
curl -F "file=@assets/lstm_weather_test_data/multistep_model_test_data.txt" -XPOST http://localhost:5000/model/predict?model=multistep
以下のような multistep
データセットに対する JSON レスポンスが表示されるはずです。ここで、predictions
には入力データ・ポイントごとに予測される次の 48 時間の乾球温度 (F 単位) が格納されます。
{
"status": "ok",
"predictions": [
[
77.51201432943344,
76.51381462812424,
75.0168582201004,
73.84445126354694,
72.79087746143341,
71.71804094314575,
70.97693882882595,
70.44060184061527,
69.89843893051147,
69.35454525053501,
69.04163710772991,
68.70432360470295,
68.37075608968735,
68.20421539247036,
68.01852786540985,
67.6653740555048,
67.27566187083721,
67.0398361980915,
66.69407051801682,
66.9289058893919,
67.19844545423985,
67.65162572264671,
68.30480472743511,
69.37090930342674,
70.37226051092148,
71.57235226035118,
72.68855434656143,
73.91224025189877,
74.65138283371925,
75.09161844849586,
75.30447003245354,
75.04770956933498,
74.93723678588867,
74.27759975194931,
73.82458955049515,
73.32358133792877,
72.66812674701214,
71.75925283133984,
71.28871068358421,
70.66486597061157,
70.06835387647152,
69.74887031316757,
69.49707941710949,
69.26406812667847,
68.87126012146473,
68.60496838390827,
68.39429907500744,
68.03596951067448
],
...
}