정리필요/논문리뷰

[논문리뷰] 응급실 환자의 한국인 분류 및 시력 척도 수준의 머신 러닝 기반 예측

kstar2 2021. 3. 23. 15:55

논문 출처 : 응급실 환자의 한국인 분류 및 시력 척도 수준의 머신 러닝 기반 예측 (e-hir.org)

 

Machine Learning-Based Prediction of Korean Triage and Acuity Scale Level in Emergency Department Patients

I. Introduction Ten million patients visited about 400 emergency departments in 2018 in Korea, and for most of those patients, the first emergency care they encountered was triage [1]. Triage, implemented in most modern emergency departments, is the proces

e-hir.org

논문편명 : Machine Learning-Based Prediction of Korean Triage and Acuity Scale Level in Emergency Department Patients

 

연구 목적 : 한국형 부상자분류 KTAS level(1~5) 예측하는 Machine learning 모델 훈련시켜 비교

(machine learning이라한 이유는 데이터 기반 학습을 진행하기 때문인 것 같다.)

 

연구 대상 : 서울 대학교 병원 환자 연구 환경의 임상 데이터웨어 하우스에 있는 2016.11 ~ 2019.6의 기간동안 응급실에 방문한 환자 142,972명 중 결측치가 있는 데이터는 제외한 138,022(, 개인 식별 데이터는 포함하지 않음)

(이는 횡단면 연구 = 특정 시점을 기준으로 모든 데이터를 수거하는 연구)

 

모델평가 척도 : Precision, Recall, F1-score, AUROC

(KTAS level 1, 2, 3, 4,5로 분류의 문제여서 이러한 척도를 사용하였고 AUROC로 주로 평가한 이유는 AUROC가 분류 모델의 성능을 보여주는 ROC 곡선을 수치화 할 수 있고 또한 AUROC는 모델의 예측 품질을 측정하기에 좋기에 사용한 것 같다.)

 

dataset 구성 : 1. structured dataset, 2. Text dataset, 3. Text dataset + structured dataset

structured dataset

변수명

단위

성별

 

나이

 

도착 날짜 및 시간

시간은 1시간 단위

응급실 이동 경로

직접, 외래진료예약, 다른 병원에서 이송, 기타, 알 수 없음

통증 위치

10개의 위치

의식 수준

경고, 언어적 반응지향적, 언어적 반응, 고통에 대한 반응, 무반응

활력 징후

혈압

 

심박수

 

호흡률

 

산소 포화도

 

주요 불만

607 코드에서 선택

통증 강도

6-7같은 텍스트 데이터를 6.5 이런 숫자 데이터로 변환

nursing triage note dataset (Textdata)

방문한 환자의 이유 요약 1~3문장

165개 규칙으로 전환(n/v를 메스꺼움 구토)

텍스트로 작성된 통증 강도

6-7이란 텍스트를 6.5인 숫자로

간호사가 환자에게 할당한 KTAS level

결과변수로 사용

- 자연어 처리

bag-of-words모델을 이용해 전체 문서 세트에 0.1% 이상 나타나는 유니 그램, 바이그램, 트라이 그램으로 구성

 

사용 모델 : Logistic Regression, Random forest, XGBoost

- Logistic RegressionL2 패널티를 사용하여 다중 공선성과 과적합을 피함

- Random forestdecision treetrain dataset에서 랜덤하게 뽑아 훈련시킨 것의 결과를 앙상블 하는 모델이면서 일반화 성능이 좋아 많은 과학자들이 사용해 논문에서도 사용

- XGBoost는 제안된 이후로 많은 연구와 경쟁에서 다른 알고리즘을 능가해서 사용

결과 :

- 평균 연령 60(사 분위 범위, 43-72)이고 성별은 52.2%가 여성

- KTAS level은 레벨 3(56.3%), 레벨 4(26.1%), 레벨 2(11.7%), 레벨 5(4.5%), 레벨 1(1.4%)

- 텍스트데이터+정규화 데이터로 학습된 XGBoost가 전체 모델에서 AUROC(0.740)F1-score(0.753) 가장 높은 모델

향후 연구 방향 및 한계 :

- 본 논문에서는 간단하게 자연어 처리를 하여 자연어 처리의 진전으로 모델 성능 향상 가능할 것으로 예상됨

- 외부 검증 데이터 세트가 없이 단일 센터 연구여서 일반화가 되지 않았을 수 있음

- 간호사의 관행에서 전신 편향 가능성이 있음

 

 

(향후 연구 방향에 대한 나의 생각)

불균형 데이터처리 방식인 SMOTE나 MSMOTE을 상요하여 불균형 데이터를 균형잡히게 만들어 학습시킨다.


Precision, Recall, F1-score 출처 : https://sumniya.tistory.com/26

 

분류성능평가지표 - Precision(정밀도), Recall(재현율) and Accuracy(정확도)

기계학습에서 모델이나 패턴의 분류 성능 평가에 사용되는 지표들을 다루겠습니다. 어느 모델이든 간에 발전을 위한 feedback은 현재 모델의 performance를 올바르게 평가하는 것에서부터 시작합니

sumniya.tistory.com

사진 출처 - https://sumniya.tistory.com/26

  • TP(True Positive) : 정답 True, 예측 값 True (정답)
  • FP(False Positive) : 정답 False, 예측 값 True (오답)
  • FN(False Negative) : 정답 True, 예측값 False (오답)
  • TN(True Negative) : 정답 False, 예측값 False (정답)

1. Precision(정밀도)

모델이 True라고 분류한 것 중에서 실제 True인 것의 비율

정답률(Positive Predictive Value, PPV)라고도 불린다.

만약 FP = 0이면 결과가 무조건 1이 됨으로 꼭 1이라고 좋은 것은 아니다.

다시말해 Precision이 0이라는 것은 False인 것을 False로는 잘 예측 했지만, True인 것을 True로 잘 인식했다고 할 수는 없는 것이다.

2. Recall(재현율)

실제 True인 것 중에서 모델이 True라고 예측한 비율

통계학에서 sensitivity, 다른 분야에서는 hit rate라는 용어로도 사용한다.

이는 Precision과 다르게 결과가 1이나온 다는 것은 True인 것은 모두 True로 잘 예측 했지만 False은 것을 False로 잘 예측 했다고는 할 수 없다.

 

※ Precision은 모델의 입장, Recall은 실제 정답의 입장에서 본 관점

 

=> 요약하자면 Precison은 1에 가까울 수록 False를 잘 예측한 것이고 Recall은 True를 잘 예측 한 것이다. 

3. F1 score

Precision과 Recall의 조화평균

F1 score는 데이터 label이 불균형 구조일 때, 모델의 성능을 정화하게 평가할 수 있으며, 성능을 하나의 숫자로 표현 가능하다.

 

ROC curve, AUROC(=AUC) 출처 : developers.google.com/machine-learning/crash-course/classification/roc-and-auc?hl=ko

 

분류: ROC 및 AUC  |  머신러닝 단기집중과정  |  Google Developers

예상 시간: 8분 ROC 곡선 ROC 곡선(수신자 조작 특성 곡선)은 모든 분류 임계값에서 분류 모델의 성능을 보여주는 그래프입니다. 이 곡선은 다음 두 매개변수를 표시합니다. 참 양성 비율(TPR) 허위

developers.google.com

4. ROC curve

모든 분류 임계값에서 분류 모델의 성능을 보여주는 그래프, 이 곡선은 참 양성 비율(TPR)과 허위 양성 비율(FPR)을 표시

이미지 출처 : https://developers.google.com/machine-learning/crash-course/classification/roc-and-auc?hl=ko

ROC 곡선의 점을 계싼하기 위해 분류 임계값이 다른 로지스틱 회귀 모형을 여러 번 평가할 수 있지만 이 방법은 효율적이지 않아 AUC라는 알고리즘이 나옴

5. AUROC(=AUC)

  • ROC curver 그래프 아래의 면적값으로 최대값은 1이며 좋은 모델일 수록 1에 가깝다.
  • AUC 값의 범위는 0~1
  • AUC는 척도 불변이여서 절대값이 아니라 예측이 얼마나 잘 평가되는지 측정한다.
  • AUC는 분류 임계값 불변이여서 어떤 분류 임계값이 선택되었는지와 상관 없이 모델의 예측 품질을 측정
  • 하지만 척도 불면이 항상 이상적인 것은 아니다. 예를 들어 잘 보정된 확률 결과가 필요한 경우 AUC는 이 정보를 알 수 없음
  • 분류 임계값 불변의 경우 FN과 FP 비용에 큰 차이가 있는 경우 한 가지 유형의 분류 오류를 최소화하는 것은 위험할 수 있다.
  • sklearn.metrics.auc( x , y )를 이용하여 계산 가능하다 - 참고링크
 

sklearn.metrics.auc — scikit-learn 0.24.1 documentation

 

scikit-learn.org

※분류 임계값이란 것은 로지스틱 회귀 값을 이진 카테고리에 매핑하려고 회귀 값 x부터는 1로 나머지는 0으로 본다의 개념으로 생각하면 될 것 같다. - 참고료링크

 

분류: 임계값  |  머신러닝 단기집중과정  |  Google Developers

예상 시간: 2분 로지스틱 회귀는 확률을 반환합니다. 반환된 확률을 '있는 그대로' 사용하거나(예: 사용자가 이 광고를 클릭할 확률은 0.00023임) 이진 값으로 변환하여(예: 이 이메일은 스팸임) 사

developers.google.com


출처 : wikidocs.net/22650

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

Bag of Words란?

단어들의 순서는 전혀 고려하지 않고, 단어들의 출현 빈도에만 집중하는 텍스트 데이터의 수치화 표현 방법

 

Bag of Words 과정

1. 각 단어에 고유한 정수 인덱스를 부여

2. 각 인덱스의 위치에 단어 토큰의 등장 횟수를 기록한 벡터 생성

 

Bag of Words 예제


출처 : wikidocs.net/21692

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

N-gram

임의의 개수를 정하기 위한 기준을 위해 사용하는 것으로 n개의 연속적인 단어 나열을 의미

갖고 있는 코퍼스에서 nrodml 단어 뭉치 단위로 끊어서 이를 하나의 토큰으로 간주

ex) An adorable little boy is spreading smiles

 

unigrams : an, adorable, little, boy, is, spreading, smiles
bigrams : an adorable, adorable little, little boy, boy is, is spreading, spreading smiles
trigrams : an adorable little, adorable little boy, little boy is, boy is spreading, is spreading smiles
4-grams : an adorable little boy, adorable little boy is, little boy is spreading, boy is spreading smiles

 

N-gram을 사용할 때는 n이 1일 때는 유니그램(unigram), 2일 때는 바이그램(bigram), 3일 때는 트라이그램(trigram)이라고 명명 하고 n이 4 이상일 때는 gram 앞에 그대로 숫자를 붙여서 명명


출처 : m.blog.naver.com/PostView.nhn?blogId=happymedicalwriter&logNo=220530333331&proxyReferer=https:%2F%2Fwww.google.com%2F

 

전향적(Prospective) 연구와 후향적(Retrospective) 연구

일반적인 임상시험 - 전향적 연구 일반적으로 우리가 보게 되는 임상시험 관련 논문은 대부분 전향적(Pros...

blog.naver.com

후향적 연구와 전향적 연구

1. 전향적 연구 

  • 임상시험 관련 논문 대부분이 전향적 연구
  • 아직 알지 못하는 사안에 대해서 처음부터 임상시험 계획을 세워 대상 집단을 모집하고 상태 변화를 보면서 기록하는 연구

2. 후향적 연구

  • 이미 알고 있는 결과에 대한 과거를 추적
  • 현시점에서 과거의 기록을 대상으로 조사하는 것

구조적 편향(systemic bias) : 사회시스템의 구조에서 오는 편향(한쪽으로 치우침)

출처 : ko.dbpedia.org/page/%EA%B5%AC%EC%A1%B0%EC%A0%81_%ED%8E%B8%ED%96%A5

 

구조적 편향

 

ko.dbpedia.org

임계값 : 예를 들어 스팸분류의 문제에서 임계값을 기준으로 스팸인지 스팸이 아닌지 분류한다. 즉, 임계값은 분류에 있어 기준이 되는 값이다.

출처 : developers.google.com/machine-learning/crash-course/classification/thresholding?hl=ko

 

분류: 임계값  |  머신러닝 단기집중과정  |  Google Developers

예상 시간: 2분 로지스틱 회귀는 확률을 반환합니다. 반환된 확률을 '있는 그대로' 사용하거나(예: 사용자가 이 광고를 클릭할 확률은 0.00023임) 이진 값으로 변환하여(예: 이 이메일은 스팸임) 사

developers.google.com


95% 신뢰 구간(CI)

신뢰 구간은 모수가 어느 범위 안에 있는지를 확률적으로 보여주는 방법이다.

신뢰 구간은 보통 표본에서 산출된 통계와 함계 제공된다. 예를 들어, "신뢰수준 95%에서 투표자의 #5~45%가 A후보를 지지하고 있다."라고 할 때 95%는 신뢰수준이고 335~45%는 신뢰구간이며 Θ는 A후보의 지지율이다.


Logistic Regression

Random forest

XGBoost