점수를 계산하고 N 일 후 결과를 예측하는 방법

Nov 20 2020

내가 회고적이고 종단적인 의료 데이터 세트 / EHR 데이터 세트가 있다고 가정 해 보겠습니다. 한 사람이 여러 시점 (과거)에 걸쳐 여러 측정 값을 가지고 있음을 의미합니다. 여기에 게시 했지만 응답을받을 수 없습니다. 그래서 여기에 게시

이 데이터 세트에는 환자의 진단, 사망률 플래그, 실험실, 입원 및 소비 된 약물 등에 대한 정보가 포함됩니다.

이제 사망률에 영향을 미칠 수있는 예측 변수를 찾으려면 로지스틱 회귀를 사용할 수 있습니다 (환자가 사망할지 여부).

하지만 내 목표는 사람이 다음 30 일 또는 향후 240 일 내에 사망 할지 예측하는 데 도움이되는 예측 변수를 찾는 것입니다. ML / 데이터 분석 기술을 사용하여 어떻게이 작업을 수행 할 수 있습니까?

또한이 사람이 앞으로 30 일 이내에 사망 할 가능성을 나타내는 점수도 계산하고 싶습니다. 점수는 어떻게 계산할 수 있습니까? 이 점수가 어떻게 파생되는지에 대한 튜토리얼 링크가 있습니까?, 제발?

이 문제를 해결하는 데 사용할 수있는 다양한 분석 기법과 점수를 계산하는 다른 접근 방식이 무엇인지 알려주시겠습니까?

이런 문제를 읽고 해결해보고 싶어요

답변

2 Erwan Nov 21 2020 at 07:43

이것은 "단순한"이진 분류 문제로 볼 수 있습니다. 문제의 유형은 "간단하다"고, 작업 자체는 확실히 그렇지 않습니다. 잠재적 인 응용 프로그램에 대한 심각한 윤리적 문제는 언급하지 않을 것입니다!

첫째, 분명히 환자의 사망에 대한 데이터 항목이 있어야합니다. 이 정보가 있는지 완전히 명확하지 않습니까? 환자가 사망 할 때마다 데이터에보고되는 것이 중요합니다. 그렇지 않으면 두 클래스를 구분할 수 없습니다.

따라서 디자인은 다음과 같을 수 있습니다.

  • 인스턴스는 한 번의 환자 기록을 나타냅니다. $t$, alive 또는 dead at $t+N$ 일.
  • 이를 위해서는 데이터를 리팩토링해야합니다. 데이터가 0에서$T$, 당신은 여러 시점을 취할 수 있습니다 $t$$t<T-N$ (예를 들어 매월 0에서 $T-N$). 이론적으로는 다른 시간이$t$ 동일한 환자에 대해 모든 인스턴스가 일관되게 동일한 기간을 나타내고 그에 따라 기능 및 레이블이 계산되는 한 데이터에 사용할 수 있습니다.
  • 기능 설계는 확실히 까다로운 부분입니다. 물론 기능은 모든 인스턴스에 대한 값을 가져야하므로 일부 환자에게만 수행 된 특정 테스트에 의존 할 수는 없습니다 (할 수 있지만 이러한 기능에 대한 편향이 있습니다. ).
    • 솔직히 말해서이 부분이 확실하게 수행 될 수 있을지 의심 스럽습니다. 기능이 표준 동종 지표로 만들어졌지만 이러한 지표는 일반적으로 사망에 대한 예측이 좋지 않을 것입니다. 또는 일부 환자에 대한 특수 진단 테스트가 포함되어 있지만 환자간에 균질하지 않으므로 모델이 편향되어 과적 합 될 가능성이 있습니다.

이상적으로는 이러한 방식으로 데이터를 준비하기 전에 학습 데이터와 테스트 데이터를 분할하는 것이 좋습니다. 일반적으로 학습 데이터 기간과 테스트 데이터 기간을 선택합니다.

데이터가 준비되면 이론적으로 모든 이진 분류 방법을 적용 할 수 있습니다. 물론 확률 적 분류기 를 사용하여 확률을 예측할 수 있지만 이것은 오해의 소지가 있으므로 매우주의해야합니다. 확률 자체는 예측 이며 환자가 사망 할 수있는 진정한 기회로 해석 될 수 없습니다. 예를 들어 Naive Bayes는 경험적으로 항상 극단적 인 확률을 제공하는 것으로 알려져 있습니다. 즉, 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 Allohvk Nov 21 2020 at 14:30

Erwan이 제공 한 올바른 솔루션에 대한 응답으로 사용자가 제기 한 질문을 명확히하기 위해 솔루션은 시간을 거슬러 올라가 일련의 타임 스탬프에 걸쳐 데이터를 준비 할 것을 제안합니다.

입력이 환자의 건강, 약품, 보고서 등에 대한 모든 다양한 기능이되는 여러 시점 't'가있을 것입니다. 어떻게 그들이 표현 벡터로 변환 될 수 있는지 확인해야합니다. 라벨은 바이너리이며 환자가 t + N 일 후에 살았는지 여부를 나타냅니다. 여기서 N은 30,60,240 등이 될 수 있습니다. 't'자체는 매주 또는 매월 취할 수 있습니다.

이러한 방식으로 데이터가 준비되면 이진 분류 연습이됩니다.

추가 할 수있는 유일한 추가 고려 사항은 여기에 RNN 요소가있을 수 있다는 것입니다. 훈련 데이터는 서로 독립적이지 않으며 여러 타임 스탬프에 걸쳐 동일한 환자의 반복 데이터를 포함 할 수 있으며 상황을 더 잘 모델링하기 위해이 정보를 캡처 할 수있는 범위가있을 수 있습니다.