2018年12月14日SHAREツイートシェアはてブLINEPocketはじめまして、Aidemy研修生のryotake0404です。今回は衛星画像の雲から降水判断を行います。<はじめに>近年、雲(水蒸気)のデータは異常気象予測に注目されていますが、専門的でない自分にはなかなかデータを読み取るのが難しいと感じました。そのため、気象データにくわしくない自分でもわかるやり方で雲を識別し、データとしてみました。衛星画像は地上で衛星から送られてきたデータを基に作成されますが、作成される経緯はよくわからないので、作成された画像から別の方法で雲をデータにおこそうという考えです。世界で誰もやったことがないと思いますが、もしいたらぜひ一緒に飲みに行きたいです。2017年8月全日(但7日除く)、2018年8月1~20と2018年6月21から7月31までの雨が降っている日(降水量0.5以上)の衛星画像(日本列島付近)をダウンロードしました。1に対応した日(但2018年8月11,12日を除く)分の東京の降水量をダウンロードしました。雨と晴れの比率は1:1になるようにデータをとっています。dataにあてはめて、どれくらいの精度で判断できたかをみる※データは時間やパソコンの調子の関係でtrainingとtestそれぞれに約1ヶ月分しか用いられませんでした。次回機会があるなら数年、数十年分のデータで行ってみたいです。<補足説明>説明はほとんどcode内にあります。functionはどういう定義にしたのか、などなどcode内に書き込んであります。途中の画像処理やデータの調整などは記載していないため、ここに画像で貼ります。ひまわり8号からとってくる画像は下の画像そして、きりとって軽くすると下のような感じそして肝のマスクはこんな感じ。ここで雲とそれ以外にわけるのでマスクの数値は大切です。次に、気象庁からのデータですが、ダウンロードして何も調整していない状態だと下のような感じです(画像は例としてあげているものなので実際に使用したものとは必要な情報や日付などすこし違います)。使用しない項目を減らし、今回は降水量をPrecipitation(mm)に変更したので、下のような感じ(例です)。<Code>Codeは下の通り。実際にrunすると、下のように表示されます。下のときは最終的な精度として71.4%でしたが、10回おこなった結果、60%~83%まで変動しました。平均はちょうど70.0%で最頻は67.9%でした。結果をみると、マスクをかけた白黒の画像から70%の精度で判断ができるのは意外ですね、とてもおもしろい結果となりました。<改善点>改善点をあげるとすれば、データ量、画像の切り取り方、雲認識のためのマスクの数値などをいじることだと思います。ここから1日単位ではなく、数分単位で観察して予測につなげるためには、夜の画像を用いなければならないので肉眼で認識するこの方法は使えないです。workとし、試してはいないです。<おまけ>完全におまけですが、下記のサイトを参考に気象庁のデータ20年分をもちいてロジスティック回帰を行うと、85%を超える精度がでました。雲から判断するよりも10~20%くらい高い精度ですね。ちなみにデータは下のように調整しております。特徴量は画像の1行目のとおりです。気象庁の2と同じサイトから、1998/1/1~2017/12/31のデータをダウンロードしております。表示された結果はこんな感じです。codeの説明はcode内に書いてあります。流れとしては、データを読み取り、降水量からlabelを作成。validationを行っています。<最後に>ありがとうございました、自分としては、70%の精度でいろいろ改善点があるものの、おもしろいことができたんじゃないかなと思います。