機械学習に使う気象データ（2019末）

機械学習については初心者ですが、気象データに関しては比較的知っている方（AORIで修士で研究、気象予報士）なので、両方を合わせた形でまとめでも作っておこうと思う

## データの取得場所

ここ最近では気象庁が積極的に「ビッグデータとして活用してほしい」ということで、かなりデータ適用に積極的になっています
民間から貰う場合はもっと細かい（時間軸・空間軸）データが得られるかもしれませんが、基本的には有償であると思います。
気象庁も別に無償ではないが、安価で、また無償で試せることも多々あります
今回は基本的に気象庁のみのデータの話です

[気象データ高度利用ポータルサイト](https://www.data.jma.go.jp/developer/index.html)に記載さていることも多々あるだろうけど、別の形でのまとめという感じです。
気象庁自身もどうすれば使ってもらえるかわからない、という感じで出している感じもありますね。
気象ビジネス推進コンソーシアムなどで色々情報が得られそうです

継続的にデータを得る場合は、場合によっては気象業務支援センターと契約して取得することになると思います

## データの種類
### データの種類１（観測か予測か）

- 観測データ
    - 過去の情報
    - 細い面では速報値系と解析して正しさを増したもの、推測し補間も入れたものなどがある
    - 欠測があり得る
    - 一つの決まった値が出る
- 予報データ
    - 未来の予測
    - 確率的な話が出てくることがある（晴れ予報でも降水確率20%など）
    - 欠測はない
    - 大まかな予想（遠い未来まで予報できる）と細かい予想（近い未来のみ予測できる）
        - ここは何に使うか次第でしょう
        - 明日の何か、1週間後の何かを予測するのと、急に雨が降る場合の何かを予測するのでは使うデータが異なると思います。

### データの種類２（場所について）

- 点のデータ
    - アメダスなどがイメージ湧きやすいと思います
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140947/b3c14c6e-ac92-607a-b1f5-e6e4eb5ee366.png)
- 地域データ
    - 「東京地方」「京都府北部」のような分け方（都道府県も同様）
    - 基本予報のみ
- 格子（グリッド）データ
    - 2次元格子と3次元格子があります
        - 2次元の場合高さは色々あります
            - 多くのものが「地表面」という表し方になります
            - レーダーが測った場所になります（地球は丸いことも含めて一定高度ではない）
        - 3次元格子の場合、基本的に高度はmではなくhPa（気圧面）で記載します（500hPa面とか）
    - 機械学習で使うなら2次元データがほとんどだと思います
    - 観測も予報もあります
    - 格子の大きさはデータによって様々です
    - 雨のレーダーによる降水分布も格子に落としているのでこのデータになります
    - ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140947/6929ace6-643a-29ae-8537-52217ff1c109.png)

## 機械学習に使えそうなデータ

- アメダスデータ（観測・点）
- 推計気象分布（観測・格子）
- 天気分布予報（予報・格子）
- 高解像度降水ナウキャスト（観測&予報・格子）
- 解析雨量（観測・格子） → 降水短時間予報（予報・格子）
- 天気予報データ（予報・地域）
- 数値予報データ（予報・格子）
- その他

### アメダスデータ（観測・点）

これは既に使われている人も多そうですね。
スクレイピングしている記事なども見られますが、最近（？）CSVでダウンロードできるようになりました。
https://www.data.jma.go.jp/gmd/risk/obsdl/index.php

得られるのは基本的には最短10分ごとのデータです（1分ごとのデータも存在していますが）
機械学習ならCSVで良いと思いますが、気象業務支援センターからはBUFR形式というバイナリで受ける方法もあります（割愛）

気象台のが止まるとかはほぼなさそうですが、小さいアメダスとかは止まることがそこそこあると思います。

最寄りの地点を使ったり、ざっくり東京の話だから東京（大手町）の観測所のデータだけ使おうとかになると思います
扱いが難しい点としては、アメダス地点によって得られる情報に一部差があります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140947/6a2da0f1-9e12-d03f-c49f-e9889a831b09.png)

あと厳密なことを言うと、たまに観測場所が微妙に移動することがあるので、そのときに観測値の傾向が少し変わることがあります
参考：[「東京」の観測地点の移転について](https://www.jma.go.jp/jma/kishou/minkan/koushu141114/shiryou1.pdf)

### 推計気象分布（観測・格子）

GRIB2形式
アメダスや気象衛星、レーダーなどの観測に基づいて、気温と天気がどうであったを格子状に1時間毎に出すものです
https://www.data.jma.go.jp/obd/bunpu/index.html

1時間なのでアメダスに比べて粗いですが、補間によって格子データになったので、空間的には近い情報が得られます
アメダスに「天気」はないのもまた情報としては追加されます
天気種別は晴れ、くもり、雨、雨または雪、雪です
雨または雪とあるのは、みぞれというわけではなく（そういう場合も十分あるが）雪判定が結構難しいみたいですね。
なお気象庁の定義として、晴れは雲が覆っているのが空の8割以下なので人によっては曇りと感じるかもしれません

最近はわかりませんが初期は天気は欠測があった気がしなくもない
項目増やすって話があった気がしますが増えてないですね

![img.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140947/1eb5ac50-9473-66b7-e178-5828f1352de4.png)
画像に乗ってる数値はアメダスのものです。色ついているのが今回の推計気象分布

### 天気分布予報（予報・格子）

GRIB2形式
20kmメッシュ・24時間後まで3時簡単位の気温、降水量、降雪量、天気の予報です
2020/3から5kmメッシュ、翌日24時までのデータになります

推計気象分布の予報版みたいな感じ
https://www.jma.go.jp/jp/mesh20/206.html?elementCode=0

### 高解像度降水ナウキャスト（観測&予報・格子）

GRIB2形式
簡単いうとレーダーの情報と、レーダーの情報に基づいた1時間先までの予報です（レーダーといっても単に観測したものをそのまま出しているわけではないです）
https://www.jma.go.jp/jp/highresorad/index.html

- たまにノイズが入ります（シークラッター、エンゼルエコーなど参照）
- 5分単位1km四方の観測と予測
- 1時間先までの予測

![highresorad_201912151415.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/140947/982ceb90-ce04-22c8-bca5-fd1809731649.png)


### 解析雨量（観測・格子）　→　降水短時間予報（予報・格子）

GRIB2形式
レーダーは速報値みたいなものなので、アメダスの観測などに基づき補正したものが解析雨量です。
速報版解析雨量もあるので、少し嘘ですけど。
https://www.jma.go.jp/jp/kaikotan/index.html

学習データとして精度の高い数値がほしいならレーダーよりはこちらのほうが良いと思います
特に雨量が多い場所で誤差が大きくなりやすいはずで、雨量が多いことは樹分表わせているため別に一つの説明変数としては精度が必要ない気もしなくもないですが、ノイズが混ざるのが怖いという点で、こちらのデータのほうが安心だと思います。

- 予報という点では降水ナウキャストよりも未来（15時間先）まで出ます
- 速報版解析雨量は10分ごと、解析雨量は30分ごと、ともに約1km四方
- 降水短時間予報は6時間先までは10分ごと約1km四方、7時間～15時間先は1時間ごと約5km四方
- 降水短時間予報は格子一つ一つの精度としては微妙だと思っています。ざっくり東京地方は雨っぽいとかはわかります

### 天気予報データ（予報・地域）

XMLとかだった気がする。気象庁サイトのスクレイピングもできると思います。
東京地方の天気みたいな感じのものです。
東京地方は東は江戸川区、西は奥多摩まで入るので割と広いです
ヤホーとかウェザーなんとか社が市区町村単位なのは、民間がさらに細かく計算しているからです
そういったところでは1時間単位の予報なども見かけますが、気象庁は最小で3時間単位の予報になります
宮城県大崎市・栗原市の東部は宮城県東部の予報、宮城県大崎市・栗原市の西部は宮城県西部の予報というトラップもあります

### 数値予報データ（予報・格子）

GRIB2形式
天気予報の元になる物理計算をしたデータです。
情報としては海面更正気圧、地上気圧、風（南北・東西）、気温、相対湿度、降水量、雲量、日射

- 地上気圧：地上で測った場合の予想気圧です
- 海面更正気圧：高度が高いと気圧が低いのは当たりまえなので、横並びにするために高度などから海面（＝高度0m）の場合に変換した値です
- 気温：たしか絶対温度（K＝ケルビン）だったはず
- 雲量：下層・中層・上層・全雲量の4種類
- 日射：比較的足されたもので、気象庁的に機械学習とかで使えるものじゃない？という推してるデータ

予報エリア、予報の長さ、格子や時間の細かさに応じて3種類くらいあります

- GSM
    - いちばん粗くて長いもの
    - 日本域と全球の2種類があるのが上に書いた「くらい」の部分です
    - 一番細かくて約20kmごとの格子
    - 1～6時間単位の予報
    - 細かいほど位置のズレとかは出やすい気がするのでざっくりこれくらいが良いのかもしれません
- MSM
    - 日本周辺のみで約5kmごとの格子
    - 1時間単位の予報
- LFM
    - 日本周辺のみで約2kmごとの格子
    - 細かすぎて位置のズレとかは結構出ると思います
    - 機械学習で使うものではないと思います
    - 30分単位の予報

加えてGSMとMSMにはガイダンスバージョンがあります
違いとしては

- 予報時間の単位が長くなる
- 天気・降水量・発雷確率・降水確率
    - 上のGSMやMSMは降水量と雲量などはあるのが天気としては出ていない
    - 「確率」情報が加わる
    - もう少し増えている？：http://www.data.jma.go.jp/add/suishin/jyouhou/pdf/515.pdf
- 統計に基づいた補正を行っている
    - 詳細：https://www.jma.go.jp/jma/kishou/minkan/koushu131120/shiryou2.pdf

# その他

実は詳細知らないものたち

- 紫外線
- 黄砂
- 海面水温
- 2週間気温予報
    - https://www.data.jma.go.jp/gmd/cpd/twoweek/?fuk=44
    - 気象庁がビッグデータ的に推してるもの
    - ちなみにWEBならスクレイピングできるという点で、ウェザーマップ社は16日先までの予報を出しています
        - https://www.weathermap.co.jp/forecast/
- 解析積雪深・解析降雪量
    - 最近加わったので忘れてた（追記した）
    - 解析雨量の積雪・降雪版
    - 降雪量は単位時間に積もった深さ、積雪量は地面から積もってるすべての雪の深さ　のはず
    - https://www.jma.go.jp/jma/kishou/know/kurashi/snow.html

今回のは日本の話ですが、海外データふくめ日本が持ってるデータとしては、降水情報のGSMaPがあります
https://qiita.com/OSAKO/items/d54da432fff34d4be1d8
海外のは海外の情報を探るべきでしょう。NOAAなりECMWFなり。

## GRIB2形式

気象庁の格子データの多くはGRIB2形式です。
wgrib2というのを使うのが一番早いと思っています。

頑張って読むなら、Qiitaなりいろいろなところに情報が上がっていると思います。
- [WMO（世界気象機関）の格子データ形式GRIB2について](https://qiita.com/e_toyoda/items/ce7497e1a633b16f1ff1)
- [PHPでライブラリを使わず独力でGRIB2（気象バイナリデータ）を読む](https://qiita.com/miyawa-tarou/items/e4eff81dfcac527572e5)：コードはちょっと間違ってるかも

今回はデータの種類の説明なので割愛します

## サンプルデータ

概要だけ言われてもわからないと思うので、是非サンプルをダウンロードして下さい
https://www.data.jma.go.jp/developer/gpv_sample.html

いつのかわからないデータだとアレというのであれば、一部データは教育研究機関向けに京大生存圏研究所がアーカイブしているのをちょっと使うのも良いかもしれません（記載の通り教育研究機関向けですので業務利用だめです）
http://database.rish.kyoto-u.ac.jp/arch/jmadata/


## データ確認時によく見る場所

- [気象業務支援センター：ファイル形式データ](http://www.jmbsc.or.jp/jp/online/f-online0.html)
    - どんなデータがあるかはこちらを参照
- [気象庁|配信資料に関する技術情報](http://www.data.jma.go.jp/add/suishin/cgi-bin/jyouhou/jyouhou.cgi)
    - ファイル内の数字が何を表すかとかはこちらを参照