こんにちは!ICT4D Labメンバー兼PeaceTech部 部長の大石です。
前回の投稿から時間が経ってしまいましたが、本ブログでは、「機械学習を使って難民の移動を予測する」プロジェクトの最終フェーズの様子をお伝えします。すっかり遅くなってしまった・・・!
過去記事はこちらから。
【ステップ17】衛星データの活用可否判断
対象国であるコンゴの様なジャングル地帯でも、衛星データを使って人の移動を観察できるのか、我が部の衛星エキスパートがトライしました。
方法: まずIDMCが公表しているIDPデータを使って、移動人数規模の異なる3つのDestination(移動先)と移動時期を特定します。結果、以下Kisangani、Bukombo、Kitchangeが対象となりました。
次にそれぞれの地域において、IDP発生イベント前後で衛星データに何らかの変化が見られるかを調べます。今回は以下二つの衛星データ指標との相関を検証しました。
- NDVI (Normalized Difference Vegetation Index) :植生の分布状況や活性度を示す指標。活性度が低下した場合、人的活動が活発になったと考えられる
- NDWI (Normalized Difference Water Index): 地表面における水域(雪を含む)や、植生に含まれる水分量の存在を示す指標。水分量が現象した場合、人口増加により水利用量が増加したと考えられる
各色でハイライトされている期間が「IDPの移動が発生した時期」、折れ線グラフが「NDVIとNDWIの推移」です。折れ線グラフの動きが、ハイライトされている時期とそれ以外で異なると、人の移動とNDVI/NDWIの相関が確認できるのですが、、、。う〜ん、下記グラフが示す通り、人の移動が発生してもしなくても、折れ線グラフの動きに特段大きな変化は認めれない事が確認できました。
今回は限定的な分析のため、「衛星データ(NDVIとNDWI)と人の移動には相関がない」、とは言い切れませんが、今回のプロジェクトでは衛星データを使って予測モデルを作る事は断念し、IDMCをメインのデータソースとして機械学習のモデルを作る事にしました。衛星データと人の移動に相関が見られた場合、IDMC(IDPに関するデータのみ保持。難民はなし)を補強する形で、衛星データを難民の移動を示す代理変数として利用する想定でした。しかしながら、今回の分析では相関が認められなかったため、本プロジェクトでは難民の移動を予測する事は断念し、IDPの移動を予測する事に改めて決定しました。
【ステップ18】予測モデルの精度評価
”難民ではなくIDPの移動を予測する ”という意思決定を受け、改めて機械学習を適用する問いを明確にすると、
コンゴ民主共和国の3州(イツリ・北キブ・南キブ)にて、戦闘に関連して発生したIDPのDestination(避難先)を予測する
最終的に使った変数はこちら。
紛争発生地点とDestinationの関係特徴量
- 紛争発生地点とDestinationとの徒歩距離と時間:IDMC及びACLEDに加えてOpen Street Routing Machine(OSRM)という徒歩経路を計算するツールを使用
- 民族分布の類似度: Territory Ethnic CmpositionというAmerican Red Crossが取りまとめている指標を使用
Destinationの特徴量
- 街の人口: Subnational Population StatisticsというOCHA発表のデータを使用
- 街の重要度:
- 採掘場情報: Mining Site InformationというInternational Peace Information Service発表のデータを使用
使用モデル
eXtreme Gradient Boosting:技術周りの詳しい説明はこちらをご覧ください。
学習
IDMCのデータを7:3の割合でトレーニングデータとテストデータに分割。トレーニングデータのうち、使うデータの数をランダムに変えながら予測性能を評価します。
結果
下記図が示す通り、トレーニングデータの数が増加するに従って、Recall(再現率:実際にIDPが移動したケースの内、何%を予測できたか)及びPrecision(適合率:IDPの移動を予測したケースの内、何%当たっていたか)の性能が上昇する事が確認できました。つまり”IDPの移動予測というタスクに、機械学習モデルが使える”と判断する事ができます。
一方で、今回のデータ数では、残念ながら実業務で使える様な精度は出ていません(Recall・Precision共に20%以下)。データ数が今よりも格段に増えて、予測モデルの精度が向上すれば、最終的にIDPの発生予測に基づいたProactiveな緊急援助の形が実現できるかも知れません。
【ステップ19】論文最終化・発表
8月中旬から取り組んできた本プロジェクトですが、調査・モデリング・検証が完了し、ついに論文の最終化段階に!リサーチチームとデータサイエンスチームに分かれて、各チームが調査・実施した内容を英語論文にまとめていきます。Google Documentを活用することで、同時編集や校正も簡単。2週間程度で無事に全16ページの論文にまとめる事ができました。
そして研究成果は、12月5日・6日に開催された国際開発学会全国大会で発表しました!発表の様子はぜひこちらからご覧ください!
論文全文を読みたい!という方は、ぜひこちら(Facebookの有志グループ)を通して、メッセージを送ってください。
おわりに
8月中旬から14名の仲間と共に取り組んできた本プロジェクト。(予想に反して?)ほぼ当初の計画通り、調査から検証、そして論文執筆まで完了する事ができました。類似のプロジェクト経験の無いメンバーがほとんどの上、完全リモートの環境で無事目標を達成できたのは、非常に大きな成果だったと思います。
一方で今回の検証結果は、予測に関する方法論の深化に加えて、平和構築活動に利用できるデータの量を増やす必要性を明確にしました。また実業務で使える予測モデルを構築するには、データ管理や倫理の側面も検討する必要があります。まだまだこれからの領域のPeaceTechだからこそ、今後もこうしたプロボノ活動も含めて様々なプロジェクトにトライしていきたいと思います。
連載をご覧いただきありがとうございました!本プロジェクトを第一弾として、今後もPeaceTech部で面白くてエッジーなプロジェクトに挑戦する予定です!Stay tuned!
===========
文責:大石彩夏PeaceTechに興味ある方はこちら(Facebookの有志グループ)にJoin!
コメント
難民問題へのAI適用への挑戦、おつかれさまでした。RecallもPrecisionも大変低い値(全くランダムに選ぶよりもちょびっとよくなる程度、それでもファクトフルネスの本のように、バイアスがかかって全く見当違いの方へ外すよりはまし?)ですが、学習した成果を示せてホッとされたことと思います。
意思決定問題は、重要な変数を落としていると学習成果を上げられず、モデルとその変数を決めているのが人間である以上、それは知能なのか、という問題は昔からあります。(フレーム問題)変数を決めた経緯は分かりませんが、難民が避難先を決めるのは、現地での流言飛語の類からであって、移動距離とか民族分布はあまり影響しないような気がします。多くの場合、避難先は1か所であって、そこにとどまるか1か所の避難先へ避難するか、の2択でしかないような気がします。
加えて、学習データにせよ検証データにせよ、データの正確さの問題がついてまわるため、入手可能なデータを素直に回帰分析するだけで、同じような予測精度が得られる、場合によってはそちらの方が精度が上回ることも十分ありうると思います。研究では学習性能の評価のために、古典的な予測手法との比較とかもやったりします。
AIに何を期待されたのかは不明ですが、意思決定問題でのAI適用の常識は、全体最適解を求めるには無限の計算時間が必要な離散値をとる変数の問題を、限定した計算時間内で局所最適解を求めることで実用に耐える意思決定をしようとするものです。20年以上前の常識で、ブレークスルーはあるのかもしれませんが、当時ですと、8つくらいだかの離散変数で火力発電のタービン立ち上げ時間を最小化するための運転方法に遺伝アルゴリズムや強化学習を適用した論文を読んだ記憶があります。XGBoost(eXtreme Gradient Boosting)はどちらかというと遺伝アルゴリズムに近いもののようです。
厳しいことを申し上げましたが、プロジェクト初期に、使えるデータから何を学習するかを考えるのではなく、やりたいことをどんと据えて果敢に挑戦されたことでAIの限界を実感できたことがいちばんの収穫だったのではないかと思います。
私はこうした考察ができるようになるまでに2年使いましたが、プロボノが束になればたったの半年足らずで行き着けるところも素晴らしいと思います。これからもEvidence-Basedの途上国支援に取り組まれていくことを願っています。
[…] 機械学習を使って難民の移動を予測してみた by PeaceTech部【008】-FINAL- […]