スコアを計算し、N日後の結果を予測する方法

Nov 20 2020

遡及的かつ縦断的な性質の医療データセット/ EHRデータセットがあるとしましょう。つまり、1人の人が複数の時点(過去)にわたって複数の測定値を持っているということです。ここに投稿しましたが、応答がありませんでした。だから、ここに投稿する

このデータセットには、患者の診断、死亡率フラグ、ラ​​ボ、入院、消費された薬などに関する情報が含まれています。

ここで、死亡率に影響を与える可能性のある予測因子を見つけたい場合は、ロジスティック回帰を使用できます(患者が死亡するかどうかは関係ありません)。

しかし、私の目的は、人が次の30日または次の240日死亡するかどうかを予測するのに役立つ予測因子を見つけることです。ML/データ分析手法を使用してこれを行うにはどうすればよいですか?

さらに、この人が今後30日以内に死亡する可能性を示すことができるスコアも計算したいと思いますか?スコアを計算するにはどうすればよいですか?このスコアがどのように導き出されるかについてのチュートリアルリンクはありますか?

この問題に対処するために使用できるさまざまな分析手法と、スコアを計算するためのさまざまなアプローチを教えてください。

このような問題を読んで解決してみたい

回答

2 Erwan Nov 21 2020 at 07:43

これは、「単純な」二項分類の問題と見なすことができます。問題の種類は「単純」であり、タスク自体は確かにそうではありません...そして、その潜在的なアプリケーションに関する深刻な倫理的問題についても言及するつもりはありません!

まず、明らかに、患者の死亡に関するデータを入力する必要があります。あなたがこの情報を持っているかどうかは私には完全には明らかではありませんか?患者が死亡したときはいつでも、これがデータに報告されることが重要です。そうしないと、2つのクラスを区別できません。

したがって、デザインは次のようになります。

  • インスタンスは、その時点での1人の患者の病歴を表します $t$、およびで生きているか死んでいるかのいずれかとしてラベル付けされています $t+N$ 日々。
  • これには、データのリファクタリングが必要です。データが0から$T$、あなたは複数の時点を取ることができます $t$$t<T-N$ (たとえば、毎月0から $T-N$)。理論的には異なる時期だと思うことに注意してください$t$ すべてのインスタンスが一貫して同じ期間を表し、それらの特徴とラベルがそれに応じて計算される限り、同じ患者のデータで使用できます。
  • 機能の設計は確かに難しい部分です。もちろん、機能にはすべてのインスタンスの値が必要であるため、一部の患者に対してのみ実行された特定のテストに依存することはできません(できますが、これらの機能にはバイアスがあります) )。
    • 正直なところ、この部分を確実に実行できるとは思えません。どちらの機能も標準の同種の指標で構成されていますが、これらの指標はおそらく一般的に死の予測には不十分です。または、一部の患者に特化した診断テストが含まれていますが、患者間で均一ではないため、モデルにバイアスがかかり、過剰適合する可能性があります。

理想的には、この方法でデータを準備する前に、トレーニングデータとテストデータを分割することをお勧めします。通常は、トレーニングデータ用に期間を選択し、テストデータ用に別の期間を選択します。

データが準備されると、理論的には任意の二項分類法を適用できます。もちろん、確率的分類子を使用して確率を予測することもできますが、これは誤解を招く可能性があるため、非常に注意してください。確率自体は予測であり、患者が死亡するかどうかの真の可能性として解釈することはできません。たとえば、ナイーブベイズは経験的に常に極端な確率、つまり0に近いか1に近い確率を与えることが知られており、予測が完全に間違っていることがよくあります。これは、一般に、予測される確率は単なる推測であり、信頼度を表すために使用できないことを意味します。


[編集:例]

私たちが持っているとしましょう:

  • 2000年から2005年までのデータ
  • N = 1、つまり、患者が翌年に死亡するかどうかを調べます。
  • たとえばコレステロール値などの単一の指標。もちろん、実際には他にも多くの機能があります。
  • 毎回 $t$ 機能では、過去2年間から現在の年までの「テスト値」を表します $t$。これは、反復できることを意味します$t$ 2002(2000 + 2)から2004(2005-N)まで

次のデータを想像してみましょう(簡単にするために、時間単位は年であると仮定します)。

patientId birthYear year     indicator 
1         1987      2000     26
1         1987      2001     34
1         1987      2002     18
1         1987      2003     43
1         1987      2004     31
1         1987      2005     36
2         1953      2000     47
2         1953      2001     67
2         1953      2002     56
2         1953      2003     69
2         1953      2004     -    DEATH
3         1969      2000     37
3         1969      2001     31
3         1969      2002     25
3         1969      2003     27
3         1969      2004     15
3         1969      2005     -    DEATH
4         1936      2000     41
4         1936      2001     39
4         1936      2002     43
4         1936      2003     43
4         1936      2004     40
4         1936      2005     38

それはこれに変換されます:

patientId yearT age indicatorT-2 indicatorT-1 indicatorT-0   label
1         2002  15  26           34           18             0
1         2003  16  34           18           43             0
1         2004  17  18           43           31             0
2         2002  49  47           67           56             0
2         2003  50  67           56           69             1
3         2002  33  37           31           25             0
3         2003  34  31           25           27             0
3         2004  35  25           27           15             1
4         2002  66  41           39           43             0
4         2003  67  39           43           43             0
4         2004  68  43           43           40             0

最初の2つの列は、データの計算方法を示すためだけに記述したものであり、これら2つは機能の一部ではないことに注意してください。

2 Allohvk Nov 21 2020 at 14:30

Erwanによって与えられた正しい解決策に応じてユーザーが提起した質問を明確にするために、解決策は、一連のタイムスタンプにわたってデータを準備するために時間を遡ることを提案します。

入力が患者の健康、投薬、レポートなどのさまざまな機能すべてになる複数の時点「t」があります。それらを表現ベクトルに変換するのに最適な方法を確認する必要があります。ラベルはバイナリであり、患者がt + N日後に生存したかどうかを示します。ここで、Nは30、60、240などです。「t」自体は、週ごとまたは月ごとに取得できます。

この方法でデータが準備されると、それは二項分類の演習になります。

追加できる唯一の追加の考慮事項は、ここにRNNの要素が存在する可能性があることです。トレーニングデータは互いに独立しておらず、複数のタイムスタンプにわたる同じ患者の繰り返しデータが含まれている可能性があり、状況をより適切にモデル化するためにこの情報をキャプチャする余地がある可能性があります。