digital health hackathon
배경
유전자 분석 기술의 발달과 의료 데이터의 전산화로 인하여 방대한 데이터가 축적됨에 따라 이를 이용한 맞춤형 치료에 대한 관심이 높아지고 있다. 환자 맞춤형 치료는 특히 암 환자의 맞춤형 항암 치료 분야에서 뚜렷한 성과를 보이고 있다. 이는 암 유전자 분석을 통해 변이 유전자에 타깃이 되는 약물을 찾아내는 과정을 통하여 이루어진다. 그러나, 환자의 데이터로부터 항암 효과와 인과 관계가 있는 유전자 변이를 찾아내는 과정은 매우 어렵다. 암 세포에서 유전자 변이는 수 천개 이상이 존재하며, 치료 효과와 유의한 연관성을 분석하기에는 환자의 데이터가 일반적으로 매우 적다. 또한 동일한 유전자 변이를 가진 암이라도 환자의 상태, 병의 진행 정도에 따라 치료의 효과가 다르게 나올 수 있으므로 단순 비교는 의미가 없다. 항암 효과와 직접적인 인과관계가 있는 유전자를 찾기 위한 이상적인 조건은 똑같은 환자에서 그 유전자의 변이가 있는 경우와 없는 경우, 치료를 한 경우와 하지 않은 경우의 비교가 필요하다. 그러나, 실제 이러한 조건은 불가능하기 때문에, 아래와 같은 문제를 해결해야 순수한 관심 유전자와 항암 효과의 인과관계를 규명할 수 있다. 1. 각 유전자 및 임상 요소들과 관심 유전자의 독립성 문제. 2. 유전자 및 환자 상태를 나타내는 임상 변수가 치료 배정에 미치는 직-간접 영향 3. 주어진 데이터 자체의 편향성 문제. 4. 관찰되지 않은 교란 변수의 영향 등이 있다. 의학 분야에서 이 모든 문제를 해결할 수 있는 가장 단순하면서 효과적인 방법은 무작위 치료 배분 방법 즉 randomized clinical trial이다. 이는 이론 적으로 치료와 관련된 각종 변수들의 효과를 무작위 법을 통해 무의미하게 만들어서 평균 치료효과 (average treatment effect)를 계산하게 된다. (이를 ignorability assumption 또는 exchangeability assumption이라고 한다.) 그러나, 이 방법은 실제로 임상에서 매우 제한적으로 사용가능한데, 그 이유는 비용 문제, 윤리 문제가 발생하기 때문이며, 특히, 유전자 분석에서는 매우 방대한 양의 환자 수가 필요하므로 사실상 불가능하다. 그러므로, 이미 존재하는 데이터를 이용해서 가급적 정확한 인과 관계를 찾으려는 통계적 기법에 대한 연구가 진행되고 있다. 대표적인 예로 GWAS 기법의 FDR value, Mendelian randomization 등이 있다. 인공 지능 분야 특히 강화학습 분야에서 과거 데이터를 이용하되 데이터가 가진 오류를 줄이는 연구들이 진행되고 있다. 이 연구 분야를 offline RL 이라고 부르며 최근 의학 데이터 연구, 로봇 연구 등 위험도가 크거나, 비용이 많이 드는 연구 분야에서 집중적인 연구가 이루어지고 있다.
목표
본 챌린지는 성균관대학교 삼성융합대학원의 의료인공지능연구소가 개발한 bio-health simulation data 를 이용하여 치료의 효과를 증가시키는 인과관계가 있는 유전자를 찾아내는 것을 목표로 한다.
내용
본 simulation data는 300개의 유전자 데이터와 10개의 임상 변수로 구성되어 있으며, 환자의 생존 기간과 사망 정보로 구성 되어있다. 치료법은 하나이며, 치료를 한 환자와 하지 않은 환자로 나누어진다. 의료인공지능연구소가 제공하는 bio-health simulation data는 실제 임상 조건을 고려하여 임상적 및 유전자 교란 변수 및 숨겨진 교란 변수를 포함하고, 데이터에 편향성, right censored survival data를 포함한다.
독창적인 통계적 인과 관계 기법 또는 강화 학습을 포함하는 다양한 기계학습 기법을 이용하여 치료 효과를 증가시키는 인과 관계가 확실한 유전자 후보 10개를 제시한다.
Data Set Clinical_Variable.csv 개인의 임상 정보를 담은 테이블. 10개의 임상변수가 존재하며 개인의 임상정보는 0~9까지의 수치로 대체한다.
Genetic_alterations.csv 유전자의 변형이 일어났는지를 표시한 테이블. G1~G300의 column이 존재하며 변형이 일어나지 않았으면 0, 변형이 일어났으면 1로 표현한다.
Survival_time_event.csv 생존기간과 사망여부를 표시한 테이블 time, event의 column이 존재하며 event가 1일경우 time은 사망시 생존기간을 의미하며 event가 0일경우 time은 현재까지의 생존기간을 의미한다.
Treatment.csv 하나뿐인 치료를 하였는지(1) 하지 아니하였는지(0)를 기록한 테이블
시간 관계
- 암환자 내원
- 환자의 임상 정보와 유전자를 측정 => 임상 정보와 유전자 변이 상태 기록
- 치료를 할지 안할지 선택
- 사망 유무 체크
체크항목
2, 3, 6 / 1, 7, 8 / 4, 5, 9
-
유전자 변이 개수(한 사람의 유전자 변이 300개 다 합해서) 상황이 똑같은 환자 찾기 & 상황이 똑같은 환자의 치료 유무 and 사망 유무 분석
-
유전자 독립 관계를 확인하기 위하여 클러스터링 시도
-
Survival Time의 분포 그래프(x축-시간, y축-사람 수) 그려보기
-
치료와 사망 관계 분석
- 치료o-사망o
- 치료o-사망x
- 치료x-사망o
- 치료x-사망x
-
치료를 한 사람에 대하여 유전자 변이 클러스터링 시도. (치료를 하지 않은 사람끼리도)
-
임상정보의 각각의 변수에 따른 분포 그려보기 ex) Var0=0인 환자의 수, Var0=1인 환자의 수, ... , Var9=9인 환자의 수
-
어떠한 유전자 변이 항목이 사망 시간을 앞당기는가. (사망 시간에 대하여 빠른 사망 시간 vs 늦은 사망 시간을 나누어서 유전자 변이 항목 히스토그램)
-
8번에서 찾은 사망에 직결되는 유전자 변이 항목은 사망하지 않은 사람들에게는 발생하지 않았는지 체크.
-
사망하지 않은 사람 중에서 치료를 받은 사람과 치료를 받지 않은 사람의 유전자 변이 히스토그램 그려보기.