
Snowflakeでの機械学習向けにマーケットプレイスで気象データを取得する
データ事業本部の鈴木です。
需要予測などの分析・モデル作成には気象データが有効ですが、Snowflakeではマーケットプレイスからいくつかの日本国内向けの気象データを取得することが可能です。
- Prepper Open Data Bank - Japanese Weather Data(truestar inc.)
- 1km メッシュ天気予報データ(Weathernews Inc.)
- CO-ODE – Japanese Open Data Weather information data(Zeal Co., Ltd.)
などがあります。
今回はSnowflakeのマーケットプレイスで無料の気象データを取得から機械学習モデルへの取り込みの動線と、住所がある場合の気象データの紐付け例を、簡単にですがご紹介します。
マーケットプレイスでのデータのサブスクライブ
基本的に以前に公開された以下のブログと同じになります。
今回は無料の『Prepper Open Data Bank - Japanese Weather Data』を使います。
Snowsightよりマーケットプレイスを開きます。"天気 日本"などで検索すると、ヒットするのでプロダクトページを開きます。
無料ですのでGet
ボタンを押すとサブスクライズすることができます。ロールはIMPORT SHARE
権限を持っている必要があります。オプションでデータベース名の変更、アクセスできるロールの追加の許可設定ができます。
データベースができていることを確認しました。
モデルでの利用
サブスクライブしたデータは、自身のデータベースと同様にSELECTして利用できます。ML FunctionsなどであればSQLで、Snowpark MLなどPythonによる利用の場合はSnowparkのDataFrameとして使うことになります。
モデルへの取り込み
ML Functionsの時系列予測では、外生変数として取り込むことができます。
Top Insightで要因分析をするようなケースでは、カテゴリ値のまま利用可能です。
Snowpark MLで回帰モデルを開発する場合は、モデルによってはワンホットエンコーディングなどモデルが利用できる形にエンコードする必要があります。
住所がある場合の気象情報の利用
天気のデータを取得したい場所に最も近い地域・地点の天気を利用することとなります。
気象庁の公開する全国の天気予報の場合はエリアコードを利用するのがよさそうです。
メッシュごとの場合は、天気の情報を紐づけたい住所の緯度・経度からどのメッシュが該当するか突き合わせるのがよさそうです。メッシュについては以下の資料が参考になります。
以下のブログでGoogle Maps PlatformのGeocoding APIを利用した住所から緯度・経度の変換例を紹介しています。
最後に
Snowflakeのマーケットプレイスで無料の気象データを取得する例と、機械学習モデルへの取り込み・住所がある場合の気象データの紐付け例を簡単にですがご紹介しました。
参考になりましたら幸いです。