医療データ奮闘記

公衆衛生大学院に入った内科系専門医が医師として培った現場感と大学院で培った統計の知識を交えながら、医療や疫学や統計に関する素朴な疑問や本音をつらつら書いています。

table.1がいかに重要か

※ この記事はマメに追記・訂正していつか完成する予定です。

カンファレンスなどで「この人賢いなあ」と思う事がよくあるが、一貫してそう言う人たちに共通する性質を見つけた。

それはResultでは「Figure.1とtable.1を半端なく見ている」という所である(医療英語論文の書き方だが)。sampling bias (selection biasでまとめる人もいるかもだが)を検討するだけではなく、その後の解析・解釈に与える影響もきちんと辿っている印象がある。

賢いと思う人の指摘に感化されながら記録したどうすれば自分もそうなれるかメモから引用すると、

  • 代表性があるのか(今までの論文と大きな違いが無いか)
  • 解析対象集団に偏りが無いか(臨床的にイメージされるような集団か)
  • 使用されている統計モデルを使用するための仮定と矛盾はないか
  • table.1以外にどんな素データの見せ方が必要か

というあたりを意識して聞いていると賢い指摘ができるのではないかと思った。最近気をつけている事を自戒の念を込めてつらつら述べていく。

代表性があるのか(今までの論文と大きな違いが無いか)

に関しては、みんなやっていることである。いわゆる「素データの確認」と聞いてまず思い浮かぶ確認事項かと思う。(過去の論文と見比べなければいけないので時間がかかるため、oralの発表でパッと言われても正直わからない。)

discussionの3段落目くらいがだいたいそれに相当する印象で、なぜそのような違いが出たのかを考察する必要がある。

普通やっている事なので省略する。


解析対象集団に偏りが無いか(Methodを読んでイメージされているような集団か)

一旦データをもらって素データと向き合うと年齢に関してだけでも「若い人がメインの病気のはずやけど今回は意外と高齢者ばっかりだな」とか「死亡割合と年齢とがめちゃめちゃ相関してる(ほとんどそれで説明できてしまっている)な」1とか「糖尿病で高齢の人にはこの薬全然使われてないな」とか、気づきが生まれる。そういった気づきを経て(思っていなかったデータと向き合う事で)、まずは全項目の違和感の原因を列挙する。

次に違和感を解きほぐしていく。すると、データの抽出の段階でスクリプトに注意点しなくてはならない点2が実はあったり、ある属性の施設のデータがごっそり抜けていたりとかデータにそもそも問題がある事が本当によくある。

解析をやってる側からすると日常茶飯事であるが、それをそもそも調べていない事も多いし、調べて気づいた所でどのように扱うか(bias覚悟で除外するか、真実のはずと強行突破するかとか)は特に定まっていない。実際問題として案外論文には書いていないし、reviewerもわからないから結局は悪い事してもバレないと思う。

経験豊富なデータサイエンティストはデータの背景を理解した上で解析前に「このデータおかしくないですか?」とか言ってきてくれて、矛盾点(>疑問点)を指摘してくれる。また、素データの表示方法を変える事で様々な知りたい事を教えてくれる。医療系の論文でそこまでやっている人はどのくらいいるのだろうか。

医療系の論文をアブストラクトだけ読むという事は?

最近はAIでこんな事がわかりましたという言葉が一人歩きして、「基になった学習データはどういうデータだったのか」などに対する理解が乏しい印象がある。更にそういったニュースに対する批判も経験論や感情論が先行して、データに基づいて批判していない(そもそも開示されていないからそんな事できないのかもしれないが)印象がある。

医学系の論文でアブストラクトだけ読む場合3は「AIでこんな事がわかりました」と同じようにならないよう注意せねばならない。ロジスティック回帰でオッズ比がこうなりました、は全く同じ枠組みになりうる4と思うので。。


使用されている統計モデルを使用するための仮定と矛盾はないか

これも臨床やってた頃には無かった視点だった。今でこそ素データをきっちり見て同時に意識するようになった。数理モデルの仮定・外れ値の扱いなどがこれに相当する。

数理モデルの仮定に関しては、有名な所では、線型性・正規性・独立性などが挙げられる。例えば下記の記事である。

yiliaojingji.hatenablog.com

他にも「外れ値があればノンパラ」とかよく言うが、外れ値があるのかどうかの判断が難しい。外れ値の症例がどのような属性でどのような人かを見て、現在自分が解析しようと思っている集団から流石に離れているだろう、と思えばそれは外れ値として除外することもある。少ない症例数であれば、外れ値一人のために有意差が出る事などもありえるので、散布図を確認して解析対象とするかどうかは案外大事である。

外れ値どうするか問題でよく困るのは、BMIが60を超えていたらどのように扱うか考える事などが挙げられるが、これに相当する5

table.1以外にどんな素データの見せ方が必要か

これが意外と大事だと思う。そもそもロジスティック回帰さえすべきではないという人もいるし、確かにそう思う事もある。しかし、解析していないと論文にならないときには、ロジスティック回帰の結果を書いて、table.3辺りに必要な素データの見せ方だと思うテーブルを書いたりする。

データに二峰性があるときや、年齢との交互作用がある時の追加解析などもこれに相当するのかと思う。また別の機会に記事にしたいと思う。

結論

データサイエンティストとしての実力はtable.1の見方を聞けばだいたいわかるのではないかと思うくらい重要である。


  1. こういった相関が強い時に、年齢を連続変数から適当にカテゴリ分けすると、他のオッズ比などで、それっぽい有意差が出てしまったりする。逆に、年齢と相関が強い因子を入れておけば、ビックデータを使用するとどちらも有意差が出て、ほとんど年齢の影響をみているだけになる可能性がある。

  2. ミスという単語を連想すると語弊がある。データの定義書を読み込めていなかったため条件付きのデータである事をわかっておらず、欠測に大きな偏りが出現するなどは本当によくある話である。他にも解析ソフトによって欠測値の扱われ方が違うために意図しない解析になっているなどもよくある。

  3. 自分の専門外だとそこまで深く読み込めない。逆に「その論文の問題点としてこういった問題が考えられる」と指摘しているがdiscussion読んでない事をさらけ出しているだけという事もよくある話である。

  4. AIでしばしば使われる機械学習は魔法ではなく、結局は複雑な統計である。(だから概念的な話でなく具体的な話でAIという言葉を使うと、AIってそもそもどれを言ってるの?となる)ビッグデータの時代になってp値が出やすくなっているので、未測定交絡因子の存在など含めたロジスティック回帰の仮定や基データも意識せずに導き出された結論を使うのは「AIがこう言っている」という事を現実世界に当てはめるのと同じなので、気をつけた方が良いと思う。どうでも良いがスパースは逆方向のベクトルなので個人的にはどんどん使っても問題ないと思う。

  5. 身長160で体重160とか書いてあると、BMI62.5だが、データを記入する人が体重に身長を書いてしまっただけなのか本当にそうなのかなど迷う。答えはない、という結論です。