Data Visualization Japan Meetup 2022(2022年12月27・28日開催)における、山崎 啓介さん(朝日新聞社 デジタル企画報道部)の講演です。2022年4月に公開された企画「見えない交差点」の分析と可視化の過程を語ります。
朝日新聞社の山崎と言います。前のお二方の話がとてもパワフルで圧倒されているところなんですが、今年4月に「見えない交差点」という企画を弊社でやりまして、それをメインに担当したので、どういうふうに分析したか、どういうふうに可視化していったかをお話しできればと思います。
見えない交差点とは
多くの方に見てもらったマップです。濃い青の点が負傷者があった交通事故の場所、水色の点が死亡事故。
警察庁が出している「事故がどこで起きたか」の位置情報を含むオープンデータを地図上にマッピングして、どういうところで事故が起きているのかを改めて考えてもらうコンテンツをまず作りました。
東京都千代田区(東京本社がある場所) のように自分が興味のある場所を検索して、そこでどんな事故が起きているかを見られます。
このマップだけでなく、独自の分析で見つけた危険な交通事故の場所、さらに「分析編」も用意しました。
警察庁のオープンデータには位置情報以外に、どういう場所で起きた事故か、歩行者・乗用車などどういう状態の人が事故にあったかが含まれています。
たとえば——**よく知られていることではありますが、都市部は人も車も多いので事故件数は都心で多い。ただし事故件数に対する死亡事故の割合を見ると、実は郡部の方が多い。**そういうところをデータから可視化しました。月ごと・時間ごとで見ると「冬場の夕方に死亡事故が多い」といったことも表しています。
自己紹介
朝日新聞社で記者をしています。もともとはエンジニアとして2008年に入社しました。
- 4年ほどエンジニア
- 突然「記者職に異動です」と言われ、徳島総局で2年、科学医療部で2年——合計4年、現場で記者として取材・執筆
- その後エンジニアに戻って研究開発の部署へ。当時流行っていた AI やデータ分析の業務利用を考える中で、初めて Python を使い、(先ほど林さんのプレゼンにもありましたが)TF-IDF や Word2Vec でベクトル化するといった機械学習のスキルを使った業務をやっていました
- 2021年、デジタル企画報道部が新設され、データジャーナリズムを真剣にやっていこうという大きなミッションの一つとして、データ分析と取材・執筆の両方ができる人材として配属され、改めて記者をやっている
デジタル企画報道部
データ報道だけをやっている部署ではなく、経済部・政治部・生活文化部など様々なバックグラウンドを持った記者が集まっています。子育てのニュースを出す「ハグスタ」や、無料記事を出す Web メディア「withnews」を担当する記者もいます。その中の一つがデータチームです。
ファスト思考とスロー思考
データジャーナリズムとは何だろうかと日々考えていた時に、あるデータ分析の本で読んだ話がとても良かったのでご紹介します。
行動経済学者が言うには、人間の思考には2つある。
- ファスト思考 ——経験から瞬間的に答えを導き出す
- スロー思考 ——論理的にゆっくり、思い込みにとらわれずにじっくり考える
これが私が日々目指しているデータジャーナリズムの考え方にとても似ているなと思いました。
「見えない交差点」で言えば——
**「交通事故は国道や県道など、幅が広い幹線道路で多いはずだ」という思い込み。**警察や交通事故を分析する専門家も、その観点で幹線道路の事故分析と対策を長年真剣にやられていたのが現状でした。
**ところがオープンデータを分析してみたら、「生活道路」と言われる幅が狭い、住宅街にあるような道路でも事故が多発していた。**それに気づいたのが今回の企画です。
データと「見えない」の意味
警察庁が2020年から交通事故に関するデータを公開しています。
**全国の警察官が事故現場に行き、どういう状況で事故が起きたかを聞き取って記録する。**それが都道府県警のデータベースに登録され、警察庁に届いて一元管理される。そのほぼ生データに近い、とても貴重なデータがオープンデータとして公開され始めました。
分析してみたところ、「事故が多いにもかかわらず、警察が出している危険交差点ランキングに現れない交差点が全国にある」 ことが分かりました。
「見えない」をひらがなにした理由があります。壁や木で交差点が見づらいという意味の「見えない」ではなく、統計や集計に現れないという意味です。
公開したのは3つ——記事、検索マップ、そして分析編です。
分析のプロセス ― 「たまたま」見つかった
オープンデータは数字の羅列です。現在は3年分・約100万件が公開されていますが、当時は2年分・約68万件。その中の地点の緯度・経度を分析しました。
最初から「そういう交差点があるはずだ」と目処を立てて分析したわけではありません。
大きなデータがあるから何かできるはずだというところからチームで集まって仮説と検証を繰り返した。
本当はかっこよく「狙い通り」と話したいのですが、意外とたまたま見つかったところがあるんです。最初は本当に雲を掴むような感じで、正直あまりいいものが見つからなかった。
ひとまず緯度経度があるので、Python で簡単なプログラムを試作して、なんとなくランキングを出してみようというところからスタートしました。
専門家に見てもらう
自分たちでランキングを作るだけでは何も出てこないので、交通工学が専門の教授を探してご協力いただき、まずランキングを見てもらいました。
教授もあまり見たことがないランキングで、「なんだこれは」というところから始まったのですが、上から順に見ていく中で——静岡県のある交差点に着目されました。
他の点は県道や高速道路のような地点なのに、そこは市道のような狭い道路。「なぜここがランキング上位に出てくるんだろう」と。「交通量に対して事故数が圧倒的に多いから、何かあるはずです」 とアドバイスをいただき、その点から取材がスタートしました。
既存のランキングと突き合わせる
我々は交通事故に関して全くの素人だったので、そもそも全国の危険交差点ランキングがあるのではないかとまず調べました。
すると損害保険協会が全国の都道府県警と協力して、年に1回、各県の危険交差点ランキングを公表していた。
「もう出ているなら、我々が作ったランキングは意味ないじゃん」 と思ったのですが——静岡県のランキングを見てみたら、我々が見つけた交差点では12件の事故が起きていたのに、ワースト5には12件以下の交差点が入っていて、その交差点は入っていなかった。
県警に問い合わせて分かったこと
「どういうことでしょうか」と静岡県警に連絡してみると——まさにファスト思考ですが、「市道の交差点」と言っているのに「その少し北にあるバイパス県道の広い交差点の件ですか」 と言われ、話が全然噛み合わない。最初は電話が切れてしまったんです。
その後、翌日に分かってきて——地元の警察は気づいていたけれど、集計する県警本部の分析手法では出てこない交差点だった。「事故がいっぱい起きていました。ありがとうございます」 と言われました。
なぜこんなに漏れるのか。
**警察は、信号機の管理番号や交差点名を頼りに Excel でソートして事故件数を調べている。**そうすると——信号機や交差点名がないような交差点は集計対象から漏れてしまう。
これまで集計されてこなかった「見えない交差点」があったことが、この取材で分かりました。
全国に広げる
静岡県のある市道で見つかったなら、全国にもいっぱいあるはずだ。
そこで、事故が集積しているところを漏れなく検索して見つけられるプログラムを作り、特に大きな交差点ではなく、小さな交差点で事故が多発しているところを探しました。そうして見つけた 78カ所を記事にしよう、と。
ここまでは可視化なしで、まとめてデスクに「こんな感じでできました」と持っていきました。
デスクの一言から可視化へ
そうしたら、これがとても前向きな話なんですが——デスクがものすごく面白がってくれた。
「これはすごく興味深い話だから、文字だけの記事ではもったいない。マップなどを使って、もう少し読者に分かりやすく伝えるコンテンツができないか」
そこで、その週末に日曜大工的に、まず OpenStreetMap でマップを試作しました。
**OpenStreetMap を Leaflet で呼び出し、データは AWS の RDS に格納して Lambda 経由の Web API で呼び出す。**検索すると事故地点が出てくる、というものです。
最初は全部の事故地点を表示しようと思ったのですが、データが多すぎてとても動かなかったので、検索した一部だけが表示されるものを試作して、社内のエンジニアに相談を持ちかけました。
すると——「この話はとても面白い。逆に、全国の事故地点をマッピングしてみたらこうなるでしょう」 と。日本の骨格のようなものが浮かび上がって、このビジュアルがとてもいい。****「検索した一部の地域だけでなく、全国の事故地点をマッピングできないか」 というところから、エンジニアの方々がいろいろ考えてくれて可視化の話がどんどん進み、全国マップが完成しました。
なぜ Mapbox を選んだか
最終的に Mapbox を使い、事故地点をレイヤーに変換してレンダリングしています。死亡事故だけ・朝の時間帯だけといった絞り込みや、地点検索もできます。
弊社としてマップを使った本格的なコンテンツは初めての取り組みで、他のサービスももちろん検討しました。その中で——
- OpenStreetMap に比べてベースマップが充実している
- 費用感
- サポート体制 ——エンジニアが結構重視したのがここで、分からないことを質問したらすぐ答えてくれる体制が充実していた
- ベースマップ以外の API も充実していた。今回のマップは CSV を JSON に変換し、その後タイル形式(MVT)に変換しているのですが、その変換のサービスも Mapbox の中にあった
私が実際に手を動かしたわけではないのですが、公開後にエンジニアが言っていたのは、「マップとデータを軽量化する技術が思った以上に進んでいて、とても驚いた」 ということでした。
色味をどうするか、スマホと PC 版のデザインをどう両立させるかなど試行錯誤も多く、公開するときは結構ドキドキしながらみんなで公開しました。
反響
嬉しいことに、特にこのマップが SNS 上でとても好印象だったそうです。
Mapbox は最初の5万 PV までは無料で、「5万 PV は超えないかな」と言いながらやっていたのですが、意外とすぐ超えてしまってお金が発生したり。うちの会社では珍しいのですが、Twitter で結構ポジティブな内容のシェアがされたりして、とてもいいコンテンツができたなと思いました。他社の方々もとても好意的にツイートしてくださって、私たちが当初考えていた願い通りのものが届けられたなと思いました。
何が良かったのか
公開後に SNS の反応を見ながら考えたことです。
① 軽量化 ― サクサク感
ある方が「snackable」ともおっしゃっていましたが、スマホでも PC でも、携帯端末でも不快感なくサクサク動いて検索・表示できた。
② 自分ごとにできた
交通事故は、自分が遭遇したり、していなくてもヒヤッとした経験が一度はある。そのニュースを——自分の家の近く、子どもが通う通学路、両親の実家の近くで事故が多いのはどこか、とより自分ごとにできるように可視化できた。
この2点が噛み合って、朝日新聞デジタルというやや年齢層が中高年に読まれているメディアでありながら、SNS ではその層以外の若い方々にもリーチできるコンテンツになりました。
分析編は、後から加わった
もともと作る予定がなかったのですが、プロジェクト終盤にマップの形がほぼ固まってきたところで、コンテンツを作る側の方たちから「現状の交通事故の課題を、データからもっと言えないでしょうか」 と逆に言われたんです。
正直「高齢者の死亡事故が多い」など、すでに知られていることではあるのですが、「改めてまとめることで、交通事故を防ぐためのコンテンツとして必要なのではないか」 という指摘を受けました。
そこで我々が分析したデータを、同じチームでビジュアルを考える方たちに提供して揉んでもらい、「じゃあこういうデータもください」とやり取りしながら、「死亡率は地方が高い」「信号がないところで事故が多い」「夕方の事故が多い」 といった柱を立てて可視化するページを作りました。
出しただけで終わらなかった
社会課題をうまく解決できたところも今回の成果だと思っています。
先ほどの静岡県の交差点——もともと交差点の片方の道にだけ一時停止がありました。事故がとても多いことを県警に指摘したところ、この規模でこれだけ多いのは、ととても危険視してくれた。
ただ工事中で信号機は立てられない。そこで片側だけだった一時停止を、すべての道路で一時停止にするという対策を、県警が指摘を受けて交通規制の変更を決めました。
ここの事故を止めたことで他のところで事故が起きる可能性もあるのですが、この場所に関しては課題解決ができたのが大きな成果でした。
警察庁が全国に新ツールを配布
さらに嬉しい成果があって——この報道を受けて警察庁が動きました。
緯度経度を使わないと都道府県ごとのランキングに漏れが出ることが分かったので、それを防ぐための手法を改めて作ろうという動きになり、名前がなかったり信号機がない場所も含めて、我々と似た手法で事故多発交差点を集計する新しい解析ツールを作って、全国の都道府県警に配って活用を求めたというのです。
**我々が報道したことで、これまでの「抜け穴」が塞がった。**それがデータから分かったというのが今回の成果だと思っています。
データジャーナリズムに必要なスキル ― 3年
「どういうスキルが必要ですか」「何年くらいかかりますか」とよく聞かれます。何の確証もないのですが、私は「3年かかりました」とお伝えしています。
根拠は、それぞれ1年くらいかかって身についた感覚があるからです。
① 取材・執筆
特にメディアの中のデータジャーナリズムはニュースがないとダメで、何がニュースかが大事。私は仮説検証を繰り返しながら分析する派なので、どういう仮説を立てられるかが大事で、それには徳島総局や科学部で記者をしていた経験が意外と生きている。****しかもそれを文字にして記事化するスキルが意外と重要です。
② データ分析
私は Python、同僚は R を使う人もいます。まあ何でもいいと思います。
③ ビジュアライゼーション
私が一番苦手なところで、まだ勉強中です。**JavaScript まで書いている人はうちの会社にいなくて、Flourish を使うことが多い。**自分でデータを加工して Flourish に入れて、うまくできたら朝日新聞デジタルの記事に埋め込むということをやっています。
「見えない交差点」にかかった時間
だいたい9ヶ月です。
- 取材・執筆・書き直し:全国取材をしたので4ヶ月ほど
- ビジュアライゼーション:特にマップはエンジニア数名で4人月ほど
- データ分析:基本的に私一人で1ヶ月ほど
その他の取り組み
東京23区の局所的な高齢化
私以外のチーム員(記者)が書いたものです。高齢化や限界集落は地方の問題かと思いきや、東京23区でも局所的に起きているのではないかという特集。
国勢調査のデータを町丁目レベルの単位で、5年ごとに分析して局所的に高齢化が進んでいる地域をデータから見つけ出し、そこで起きている問題を現地でルポしたコンテンツです。
衆院選のツイート分析
去年の衆院選で、野党の候補者と自民・公明の与党候補者が Twitter でつぶやいた内容を、自然言語処理で単語分析しました。
縦軸の上側に行くと、野党側の候補者が多くつぶやいたが与党側はあまりつぶやいていない言葉——ジェンダー、ボランティア、若者、原発、SNS など。横軸に近いのは与党側が多くつぶやいた、実績を主張するような言葉が並びます。
これは私が考えたわけではなく、アメリカの大統領選で共和党と民主党の演説内容を散布図で分析する取り組みがあって、それを日本の選挙でもやってみようと思ってやってみたものです。(Qiita の技術ブログにやり方を書いているので、よければ見てみてください)
特殊詐欺の「台本」を分析
オレオレ詐欺や還付金詐欺で、犯人が使っている電話内容に年ごとの傾向やトレンドがあるのではないかという仮説での分析です。
東京都には「メールけいしちょう」という各地域の事案情報を知らせるシステムがあり、その内容が警視庁からオープンデータとして公開されています。それを解析して実行犯が使った頻出単語やトレンドを調べました。
Twitter でちょっと笑われたのですが——犯人はなぜか「高橋です」と自分のことを高橋と言いたがるとか、還付金の封筒を「なぜか緑色の封筒、届いていますか」と緑色と言いがちとか。おそらくシナリオのようなものが配られていて、その中に出てくる言葉が年や出来事によって変わっていることや、時期を通してよく使われている言葉があることが分析で分かりました。
五輪報道のジェンダー分析
東京五輪について各新聞社やスポーツメディアが配信した記事をネットから集め、男子スポーツの記事と女子スポーツの記事でどういう形容詞・副詞が含まれていたかを分析しました。
男性の記事は「豪快」「完璧」「強烈」 といった言葉が多く使われていたのに対し、女性の記事には「美しい」「弱い」「怖い」 といった言葉がある。男性と女性で言葉の頻度に差があることが分かった記事です。
これも海外に同様の調査事例があり、それをもとに「東京五輪の状況はどうなのか」という課題感から分析しました。
最後に ― DIKW ピラミッド
「見えない交差点」を見たある方が、DIKW ピラミッドになぞらえて**「この取り組みはとてもいい」** と説明してくださっていて、それがとても良かったのでご紹介します。
- データ ——土台に警察庁のオープンデータがある
- 情報 ——それをマップというコンテンツに落とし込み、皆さんが自分ごとに感じられる情報にした
- 知識 ——どの地点で、どういう場所で、どういう時間帯に事故が多いのかを自分で検索して考える
- 知恵 ——「よし、気をつけよう」 となる
データを見せるだけでなく、それを見た人たちの知識・知恵につながるものになったのが良かったと評価してくださっていて、その落とし込みがとてもいいなと。これから先のデータ報道も、このピラミッドを意識しながら出してみようと思っています。
(「見えない交差点」については note でも公開しているので、よければ検索してみてください)
**メディア業界でもデータジャーナリズム、データ分析・可視化のスキルがとても求められています。**報道以外の方々も、機会があればぜひ一緒に仕事ができたらと思います。
これで私の発表は終わりになります。ありがとうございました。