要約
リスク比較のためのWEBアプリ「Risktools」を作っています。今回公開した改良版(ver2)では、死因・年齢階級・評価する年・性別を選択すると、リスクのものさしに加えて経年変化・性別・年齢別のグラフが表示される機能を追加しています。特に経年変化は興味深い結果がいろいろと得られます。
本文:リスク比較のためのRisktools ver2
本ブログの上部メニューにあるRisktoolsは、リスク比較を目的として、死因別にリスクの大きさをリスクのものさしとともに表示するツールです。
最近は非エンジニアであってもこのようなツールを公開することが以前よりも容易になってきました。この開発の経緯は以下の過去記事に書いています。
また、最近書いた記事のなかで、世界疾病負荷(GBD)研究の結果を表示するWEBツールも紹介しました。
GBDのツールは非常にデータの種類も多くて高機能なのですが、逆に多機能すぎて使いにくい面もあります。Risktoolsは「もっとサクッと使いやすいものが欲しい」というニーズに応えられるものにしていきたいと考えています。
本記事では、今回公開したRisktoolsの改良版(ver2)の改良点について紹介します。この改良版を使って、いくつかのリスク比較例を示します。かなり衝撃的な結果も多く見つかります。ぜひ自分でいろいろと試して頂ければと思います。
Risktools ver2の改良点
2022年1月に初めて公開したRisktools(これをver1としましょう)は年代と死因を選択して、そのリスク(10万人あたりの年間死者数)を、リスクのものさしとともに表示するツールでした。ベースとなるデータは2019年の人口動態調査の結果、「表5-16 死因(死因簡単分類)別に見た性・年齢(5歳階級)別死亡率(人口10万対)」というものです。
その後、2020年の調査結果が出ました。そこで、1995から5年ごと(1995, 2000, 2005, 2010, 2015, 2020年)の年を選んでリスクを表示させるようにしました。ただし、リスクのものさしは2020年のデータを元に作成しました。
(この記事を書こうと思っている間に2021年のデータが出てきましたが、とりあえず置いておきましょう)
また、男女別の死亡率の情報もありますので、性別の選択もできるようにしました。ただし、リスクのものさしは性別総数のデータを元に作成しました。
結果の表示については、これまでのリスクの数字とリスクのものさしに加えて、リスクの経年変化や性差、年齢差がわかるようにグラフを表示する機能を加えました。具体例は後で示します。
ユーザーインターフェース(画面上の操作性)も若干変更しました。死因についてはかなりの種類があり、これまではトップページにその死因リストがズラーッと並んでおり、見えやすいとは言えない状態でした。死因分類を最初にプルダウンで選択して、その分類からさらに細かい死因を選択するよう二段階にしました。
技術的なことについては以下のように結構苦労もありました。
1.2020年以降の最新のデータはe-statからデータベース形式で提供されていないため、csvファイルから自分でデータベース形式に変換する必要がありました。
2.年を過去にさかのぼれるようにしましたが、調査年によって死因の記載方法が異なっています。死因コードは年によらず共通しているようだったので、基本はコードを使って動かし、コードと死因の記載方法の対応リストを別途作る必要がありました。
3.グラフはpythonのmatplotlibを使って書いていますが、これをツールに表示させる方法に手こずりました。なかなか面倒な手順が必要です。
4.死因の選択ではjQueryを使った二段階プルダウンメニューを採用しましたが、最初に作ったものはChromeでは動くがiOSのSafariからでは動かないなど、ここでも結構手こずりました(現在はSafariからでもちゃんと動作します)。
Risktoolsを用いたリスク比較
次に実際にRisktools ver2の出力を紹介します。例として適切かどうかわかりませんが、0歳児の他殺リスクを表示してみます。
計算結果:
年齢0歳、性別総数、2020年における他殺のリスクは「人口10万人あたり年間死者数として0.7人」です
まず、経年変化を見ると減少傾向にあり、1995年と比べて2020年では1/5程度になりました。次に性差を見ると、通常ほとんどの死因で男が多いのですが、この場合は女が2倍程度多い結果でした(フェミサイド大国?ただし全年齢では男女で同程度)。さらに年齢差を見ると、他殺のリスクは0歳児が最大であることがわかります。これは結構衝撃的なグラフです。
他にもいくつか事例を挙げてみます。以下では簡単に経年変化だけを示します。
減少傾向のリスク
・1-4歳の不慮の事故による死亡リスクは減少傾向にあります。家庭での事故も減少しており、以前本ブログで書いたように保育施設における死亡事故も減少傾向にあります(リンクは補足参照)。
・80-84歳のがん死亡リスクも水準としては高いままですが減少傾向にはあります。がん死亡数そのものは増えていますが、これは社会の高齢化による影響であり、このように年齢階級を限定すると減少していることがわかります。以前本ブログでもリスク比較において高齢化の影響を取り除くため、粗死亡率ではなく年齢調整死亡率で示すことの重要性を書きました(リンクは補足参照)。ただしがんの部位別には増加傾向のものもあったりします。
増加傾向のリスク
・10代女性(10-14歳)の自殺リスクは2020年にドンと増えたことがわかります。これも悲しいグラフですね。15-19歳も同様の傾向です。コロナによる家庭内の経済状況や人間関係の悪化によると考えられています。これについても本ブログで以前とりあげました(リンクは補足参照)。
・高齢者(80-84歳)のアルツハイマーによるリスクは急激に増加しています。25年間で10倍くらいになっています。年齢階級を限定してもこの傾向ですから、さらに高齢化の影響を含めれば、認知症の社会問題が恐ろしいことになっていることがわかります。ただし、(以前なら見過ごされてきた)診断が増加したという面もあるかと思われます。診断の増加という現象については本ブログの過去記事で紹介しています(リンクは補足参照)。
Risktools今後の予定
今のところ自分が一番使っていると思いますが、ver2でかなり便利になったと思います。今後の予定も書いておきましょう。
まず、コンテンツについては冒頭で紹介した世界疾病負荷研究のツールのように、直接の死因だけではなくその死因の原因となるリスク要因(タバコとかアルコールとか)のリスクも表示できるようにしたいと思います。
また、リスクの指標として死亡率だけではなく損失余命も出してみたいと思います。リスクのものさしの損失余命版も本ブログの過去記事で作成しています(リンクは補足参照)。世界疾病負荷研究のツールでは死亡率や損失余命に加えてDALY(障害調整生命年)も計算されていますが、これはとりあえず後回しにしましょう。
また技術的な話になりますが、現在HEROKUというクラウドサービスの無料プランを使ってRisktoolsを運営していたところ、2022年11月を持って無料プランが無くなるとのことです。
pythonを使ったWEBアプリは「pythonanywhere」というサービスを使う人も多いので、とりあえずこちらに移行しようと考えています。pythonに特化したサービスなので、簡単そうに見えます。他にはRender.comとかも良さげではありますね。
一応以下のリンク先でもすでに動いています。ただし、現在使っているサブドメイン「http://risktools.nagaitakashi.net/」での運用は無料プランだとダメなようです:
まとめ:リスク比較のためのRisktools ver2
Risktoolsの改良版(ver2)では、評価する年(2020, 2015, 2010, 2005, 2000, 1995年)、性別の選択を追加しました。また、出力画面ではリスクのものさしに加えて経年変化・性別・年齢別のグラフの表示機能を追加しました。経年変化は増加傾向のものと減少傾向のものがあり、そのような傾向を調べるのに適しています。
補足
本記事に関連する本ブログの過去記事を紹介します。
保育施設における死亡事故の推移について
リスク比較では年齢構成の違いに注意する必要あり
コロナ禍で若者と女性の自殺率が上昇した原因について
診断の増加による予言の自己成就について
リスクのものさし損失余命版
コメント