PLM data를 활용한 질병 예측 시스템 연구 |
Co-occurrence Grouping을 통한 질병 간 연관성 분석과 Class Probability Estimation을 통한 질병 발생 가능성 예측 모델 구현 |
Ⅰ. Business Problem 정의
환자들이 질병에 걸린 후에야 손을 쓸 수 있다는 PatientsLikeMe의 기존의 한계점을 극복하고 그들이 앓고 있는 질병에 연속적으로 발병할 수 있는 합병증 등을 알아내기 위해 질병 예측 모델을 도입한다. 이 모델은 환자들이 걸릴 수 있는 질병을 예측해 줌으로써 스스로 질병을 예방하고, 초기에 질병을 발견하여 성공적으로 치료할 수 있게 하는 것을 목적으로 한다.
Ⅱ. 사례 및 배경
프로젝트 수행의 일환으로 사례 탐색을 진행하던 중, Nature지의 자매지인 SCI급 학술지 Scientific reports에 개재된 논문을 찾았다. 이 논문을 통해서, 의료 데이터를 분석함으로써 기존에 의학계에서 밝혀지지 않았던 새로운 발견을 한 연구를 살펴본다. 이와 더불어, 이 연구의 한계점과 PLM에서는 이 한계점을 극복할 수 있음에 대하여 논의하며, 우리가 도입 하고자 하는 시스템의 가능성에 대해서 알아본다.
Ⅲ. 필요성
신체활동, 식습관, 흡연 및 음주 등의 생활 습관 변화로 인해 만성질환이 증가하고 있다. 특히 고혈압과 당뇨와 같은 질환은 합병증과 함께 만성질환의 형태로 발생한다. 합병증으로 인해 수명이 단축되고 사회,경제적인 손해가 막대하다. 때문에 질병이 발병하기 전에 미리 예측하여 예방하는 것이 손해를 극적으로 감소시킬 수 있다. 따라서 PLM의 데이터를 바탕으로 질병을 가지고 있는 환자에게 추후에 발병할 수 있는 합병증 등을 예측하는 서비스의 도입이 필요하다.
Ⅳ. Data Science Problem에서의 정의
1. PML 환자 질병 데이터를 분석하여, 빈번 규칙을 찾아 질병간 연관성(합병증)을 파악한다.
2. 질병 이력을 입력하면, 데이터 기반으로 합병증 발생 가능성을 확률화한 모델을 구현한다.
◆ DSP 세부 목표1은, 연관성 규칙 발견을 위한 기법인 ‘동시 발생 그룹화(Co-occurrence)’를 적용해 수행한다. 본 수행에선 질병 간의 연관 정도, 강도 등 또한 파악할 것이며, 연관 규칙을 만족하는 질병을 연관성이 있다고 인정한다.
◆ DSP 세부 목표2는, ‘분류와 계층 확률 추정(Class Probability)’ 기법을 적용해 수행한다. 이 기법은 개인을 분류하는 작업이지만, 점수화 모델(계층 확률 추정)을 적용하면 개인이 속할 계층을 결정하는 대신 계층에 속할 ‘확률’을 계산하여 나타내준다. 본 수행에선 DSP 세부목표1에서 얻은 질병간 연관성 데이터를 기반으로 확률 추정을 진행할 것이다.
Ⅴ. 기대 효과
질병을 예측함으로써, 환자입장에서는 경제적, 신체적 부담을 줄일 수 있고, PLM입장에서는 더 나은 서비스를 제공함으로써 수익창출, 사회적 공헌을 실현할 수 있다. 병원 입장에서는 병상 부족 등의 문제를 해결할 수 있다.
Ⅰ. Business Problem 정의
PatientsLikeMe는 회원들이 각자의 질병과 증상을 입력하고, 치료법을 공유하며, 오늘의 상태 등을 남기는 환자들의 SNS이다. 환자들은 이 사이트에서 자신의 병에 대한 치료법을 찾아 각자의 질병을 치료해 나간다. 이런 과정에서 발생할 수 있는 문제 중 하나가 합병증이다. 2가지 이상의 질환이 동시에 또는 전후에 생기고 또한 그러한 질환이 상호 직접적인 인과관계를 생각할 수 없는 경우, 하나의 질환에서 보아 다른 질환을 합병증이라고 한다.[1] 합병증은 그 증상이 경미하여 인지가 어려운 경우도 있고, 시간이 지나면 생명에 위협이 되는 경우가 많아 조기 발견이 중요하다. 루게릭병의 경우, 환자들의 가장 흔한 사망원인은 호흡 부전으로 이는 루게릭병의 합병증에 해당한다.[2] 기존 PLM의 시스템상 환자들은 자신에게 질병이 있음을 인지한 후에야 PLM를 찾는다. 손을 쓰기엔 이미 늦은 상황을 미연에 방지하고 환자들이 추가로 걸릴 수 있는 질병을 예방할 수 있게 알려주는 질병 예측 모델을 도입하고자 한다. 질병 예측 모델은 질병 A를 앓고 있는 환자가 질병 A를 과거에 앓았던 다른 환자들이 또 어떤 질병을 앓고 있었는지를 바탕으로 어떤 질병을 조심해야 하는지를 예측하는 것을 목적으로 한다. 질병 예측 모델이 예측한 내용을 바탕으로 환자는 질병을 예방할 수 있을 것이다. 환자는 진료를 받으러 갈 수도 있을 것이고, 자신의 병을 초기에 발견할 수도 있을 것이다. 당뇨병 환자는 당뇨병 그 자체보다는 이에 수반되는 급성 합병증 또는 만성 합병증으로 사망하는 경우가 많다.[3] 심지어 당뇨병은 전 세계의 성인 11명 중 한 명이 앓고 있을 정도로 흔한 병인데다가 당뇨병에 결린 사람들 중 46%는 아직 진단을 받지 않았다고(undiagnosed) 한다.[4] 즉 약 161만 명의 사람이 자신이 당뇨라는 사실을 모르고 살고 있다는 것이다. 우리는 질병 예측 모델이 환자가 느끼는 증상을 바탕으로 합병증뿐만 아니라 자신이 아직 인지하지 못했던 새로운 질병을 예측해 줌으로써 환자가 더 성공적으로 치료를 받을 수 있게 하는 것을 목표로 한다.
PLM에서 환자는 자신의 병명뿐만 아니라 질병과 관련하여 몸에 나타나는 증상, 그 심한 정도 등을 날마다 기록할 수 있다. PLM는 다른 기업에는 없는 희귀한 정보를 가지고 있는 것이다. 그러므로 PLM에 질병 예측 모델이 도입된다면 기업이 가지고 있는 환자의 증상에 대한 데이터를 바탕으로 어떤 질병이 생길 수 있는지를 더 정확하게 예측할 수 있을 것이다.
Ⅱ. 사례 및 배경
“윤덕용 교수팀(아주대병원 의료정보학과)은 한국인 100만 명을 대상으로한 빅데이터 연구를 통해 기존에 잘 알려져 있지 않은 당뇨합병증을 새롭게 발견해 주목된다. 이번에 새롭게 확인한 당뇨합병증은 바로 바이러스성 간염과 갑상선질환이다. 기존에 잘 알려진 심혈관질환, 망막질환과 같은 미세혈관질환 달리, 바이러스성 간염과 갑상선질환은 그동안 잘 알려져 있지 않아 중요하게 다뤄지지 않았지만, 이번에 중요한 당뇨 합병증임을 확인한 만큼 환자들은 유의해야할 것으로 보인다.”[5] 이처럼 데이터 분석을 진행하다 보면 기존에 의학계에서 밝혀지지 않았던 질병 사이의 새로운 관계도 찾을 수 있다. 반면, 본 연구에서 아래와 같은 한계점이 발견되었다. “We must also consider that the initial date of physician diagnosis, which we considered to be the incidence date, may be biased given the lack of narrative text in claims data to indicate when and for what duration the patients had experienced symptoms.”[6] “…we did not consider other potentially important confounding variables that may have affected disease progression, such as prescription and treatment information, smoking habits, and the general health status.”[6] 즉, 첫 진단을 받은 날짜를 질병발생일로 간주하였고 언제부터 증상이 나타났으며 어느정도 지속이 되었는지 확인이 어렵다는 점과, 처방 및 치료법, 생활습관 등의 정보를 반영하지 못했다는 점이다. 비교적 최근의 연구임에도 불구하고 이러한 한계가 나타났다는 것으로 미루어 짐작해봤을 때, 이는 일반적인 의료 데이터를 바탕으로 진행되는 기존 연구들의 한계점으로 볼 수 있다. PLM에서는 앞서 언급한 정보들을 환자들이 직접 입력하고 있다. 또한, 이를 바탕으로 전반적인 건강 상태도 도출이 가능하기 때문에 기존의 한계점을 극복하여 보다 정확한 분석을 바탕으로 서비스를 제공할 수 있을 것으로 보인다.
Ⅲ. 필요성
세계적으로 인구의 고령화, 의료기술의 발전, 생활 습관의 변화 등으로 인해 현대인의 질병구조가 만성질환 위주로 변화하고있다.[7] 고혈압과 당뇨와 같은 질환은 만성질환의 유병률이 점점 증가하고 있을 뿐만 아니라 그에 의한 합병증 또한 다양하고 심각한 경우도 많다. 만성질환의 증가는 의료비의 폭발적 증가를 초래하고 있고 이러한 의료비 재정의 압박으로 인해 치료 중심의 의료서비스에서 예방과 건강관리 서비스로의 패러다임 전환이 요구된다.[8] 고혈압과 당뇨의 합병증이 오게 되면 당뇨 망막 병증, 만성 신부전증, 뇌경색증, 심근경색을 일으킬 수 있다.[9 ,10] 당뇨와 고혈압이 이 질환들이 함께 동반되었을 경우 여러가지 합병증의 발생이 촉진되어 수명이 단축되기 때문에 합병증을 사전에 예방함으로써 사후 장애를 최소화하는 것이 중요하다.[10,11] 만성질환 관리는 신체활동, 식습관, 흡연 및 음주 등과 같은 생활습관의 개선이 필수적이어서 질환에 대한 약물 요법 뿐 만 아니라 생활습관 변화를 포함한 자가관리가 필요하다. 연구 결과에 의하면 환자들의 경험공유에 의한 자가관리는 개인적인 관리보다 자가 이행률이 높다고 한다.[7] 따라서 PLM의 환자들이 겪었던 다른 질병들을 바탕으로 연관규칙분석(Association Rule Analysis)을 수행해본다면 이를 이용해 다른 환자들의 질병을 예측하는 것이 가능하다. PLM에 질병 예측 시스템을 도입하여 환자에게 예상되는 질병을 알려준다면 스스로 자가관리 이행도를 높여 큰 피해를 축소할 수 있기 때문에 질병 예측 시스템을 도입할 필요가 있다.
Ⅳ. Data Science Problem에서의 정의
본 연구의 목표는 첫째로, 환자의 과거 및 현재의 질병 이력 데이터를 통해 앞으로 발생 가능성이 있는 질병을 확률화(%)하여 알려주는 서비스의 제공이며, 둘째로 PML이 가진 방대한 환자 데이터의 질병 간 연관성을 파악해 이전까지 의학계가 알지 못했던 ‘합병증’을 발견하는 데 그 의의를 둔다.
위 두 가지 목표를 위한 Data Science Problem(이하 DSP) 목표는 다음과 같이 정의된다.
1. PML 환자 질병 데이터를 분석하여, 빈번 규칙을 찾아 질병간 연관성(합병증)을 파악한다.
2. 개인의 질병 이력을 입력하면, 분석해 둔 데이터를 기반으로 합병증 발생의 가능성을 확률화하는 모델을 구현한다.
◆ DSP 세부 목표1은, 연관성 규칙 발견을 위한 기법인 ‘동시 발생 그룹화(Co-occurrence)’를 적용해 수행한다. 동시 발생 그룹화란 데이터 집합에 빈번히 나타나는 패턴을 찾는 것으로, 사전에 지정한 최소 지지도 이상의 빈발 항목 집합 전체를 찾은 후, 집합에서 최소 지지도, 신뢰도, 향상도를 모두 만족하는 강한 연관성을 갖는 것을 도출해 규칙으로 표현하는 것이다.
*지지도(support) = 모든 Data set 중 A와 B가 함께 발생할 확률
*신뢰도(confidence) = A가 발생했을 때, B도 발생할 확률
*향상도(lift) = A 발생 조건이 붙은 경우와 붙지 않은 경우의 B 발생 확률의 차이 비율.
연관 규칙은 R의 Merge, Aggregate 등 스크립트를 이용해 직접 구현하여 찾거나, R에서 제공하는 패키지를 이용하면 더욱 간단히 찾을 수 있다. 본 수행에선 질병 간의 연관 정도, 강도 등 또한 파악할 것이며, 연관 규칙을 만족하는 질병을 연관성이 있다고 인정한다.
◆ DSP 세부 목표2는, ‘분류와 계층 확률 추정(Class Probability)’ 기법을 적용해 수행한다. 이 기법은 개인을 분류하는 작업이지만, 점수화 모델(계층 확률 추정)을 적용하면 개인이 속할 계층을 결정하는 대신 계층에 속할 ‘확률’을 계산하여 나타내준다. 본 수행에선 DSP 세부목표1에서 얻은 질병간 연관성 데이터를 기반으로 확률 추정을 진행할 것이다.
이러한 DSP 세부 목표를 수행할 때 유의할 점은 Target에 대한 ‘데이터’가 존재하는 Data set을 찾아야 한다는 점이다. 환자의 이력 데이터가 불완전하다면 Target으로서의 가치가 없다. 이후 데이터 분석을 진행하는데 적합한 Data set Attribute의 자세한 구성은 2차 제출에서 보고하도록 하겠다.
Ⅴ. 기대 효과
우선, 환자 입장에서 질병을 예측할 때의 가장 큰 기대효과는 의료비 절감과 건강 증진이 가능하다는 것이다. 기대 수명과 건강 수명 간의 격차를 최소화할 수 있으며 삶의 질 향상을 성취할 수 있다. 다음으로, PLM입장에서는 환자들이 입력한 데이터를 활용해, 질병 예측 프로그램(Disease Predicting Program)의 일환으로 분석을 진행할 수 있다. 그러면 위의 II. 사례 및 배경에서 언급한 사례와 같이 새로운 합병증을 발견하거나, 전혀 별개인 것처럼 보였던 질환들 사이의 연관성을 찾아내어 환자들(회원들)이 만족할 수 있는 새로운 서비스를 제공할 수 있을 것이다. 또한, 제약사, 병원 등 관련 연구 및 프로젝트 Partner들에게 더 많은 데이터를 제공할 수 있게 되어, 궁극적으로는 그들의 철학 중 하나인 사회적 공헌을 실현할 수 있을 것이다. 뿐만 아니라, 더욱 풍부한 데이터가 확보된다면 수익도 늘릴 수 있을 것이며 자연스럽게 기업 경쟁력 또한 상승하는 효과를 기대해볼 수 있다. 마지막으로, 병원 입장에서는 병상 수 부족, 합병증으로 인한 환자들의 재원 일수 증가 등의 문제를 해결할 수 있다.
Ⅵ. 참고문헌
[1] 당뇨병, 간호학대사전, 한국사전연구사, 1996
[2] Amyotrophic lateral sclerosis (ALS), Mayo Clinic Marketplace
[3] 당뇨병, 질병관리청 KDCA
[4] Diabetes UK, 「Diabetes Facts and Stats: 2015」, 2015
[5] MEDICAL Observer “당뇨병 합병증으로 바이러스간염, 갑성선질환도발견”, 2020.05.18. 박선재 기자
[6] Eugene Jeong, Namgi Park, Yujeong Kim, Ja Young Jeon, Wou Young Chung & Dukyong Yoon. (2020) “Temporal trajectories of accompanying comorbidities in patients with type 2 diabetes : a Korean nationwide observational study” , Nature - Scientific reports. p.4-5
[7] 임정자, 윤소영 (2020). “보건진료소 중심 고혈압, 당뇨병 환자의 경험공유 자가관리 프로그램 효과”. 한국산학기술학회 논문지, 21(7), 331-341
[8] 이은환, 김욱 (2018). 질병예방과 건강수명연장을 위한 지역사회 공공 스마트 헬스케어 모델구축 이슈&진단(331), 1-2
[9] 신아미, 박희준, 이인희, 김윤년 (2009). “순차규칙 모델링을 활용한 뇌경색증 환자 진단 분석”. 재활복지공학회논문지, 2(1), 51- 56
[10] 배종화 (2002). “당뇨병 환자의 고혈압으로 찾아오는 합병증”. 월간 당뇨 = A Monthly Diabetes Magazine no.151 = no.151, 2002년, pp.20 - 23
[11] 신아미, 이인희, 손창식, 박희준 (2009). “데이터 마이닝을 활용한 뇌경색증 환자 진단 분석”. 한국재활복지공학회 학술대회 논문집, 118-121
해당 과정은 수업때 교수님께서 Entropy를 엑셀로 직접 계산해 풀 것, 그리고 모델은 의사결정나무로 할 것이라는 제한을 두셔서 Accuracy가 높게 나오진 못한 것 같습니다.
다음번에는 같은 주제에 대해 이러한 제한을 두지 않고 더 많은 방법으로, 다양한 모델을 비교해가며 Accuracy를 높이는것만을 위해서도 프로젝트를 진행해보도록 해보겠습니다.
+ 내용추가)
아래 링크는 본문의 내용과 같은 주제로 진행한 프로젝트 결과인데요, (=만성질환 =>당뇨병)
* 주제만 같을뿐 사용한 툴, 데이터의 전처리방식, 사용된 모델 등 프로젝트의 내용은 전혀 다릅니다!
제약이 많았던 2학년때의 프로젝트 이후, 제약 없이 진행한 3학년때의 프로젝트 결과입니다!
🏆A.I.D.D, 최우수상 수상! 2021, AI 당뇨병 발병 예측 데이터톤 참여, 시상식 후기 <전국구 132팀중 최종 2등>🏆
'프로젝트·연구 > 프로젝트·연구' 카테고리의 다른 글
빅데이터를 이용한 주식가격 예측 시스템 만들기 (1. 개발설계) (0) | 2021.07.27 |
---|---|
빅데이터를 이용한 주식가격 예측 시스템 만들기 (0. 글을 올리기 전에) (0) | 2021.07.27 |
Brightics Studio를 이용한 심장병 발병 예측모델 구현 (3. Final) (0) | 2021.07.15 |
Brightics Studio를 이용한 심장병 발병 예측모델 구현 (2. Intermediate) (0) | 2021.07.15 |
Brightics Studio를 이용한 심장병 발병 예측모델 구현 (0. 글을 올리기전에..) (0) | 2021.07.15 |