이 글은 데이터 히어로 캠프 3기 참여자이신 김은령님이 작성한 분석 사례입니다. 데이터 히어로에 대한 자세한 내용은 여기를 클릭해주세요.
Intro
Kaggle에서 샘플 데이터를 찾던 중 뇌졸중 현황에 대해 잘 정리된 데이터셋을 발견하였다. 평소 해당 질환에 대해 관심이 있었던지라 데이터에 제시된 결혼유무, 흡연, BMI나 혈당수치 등과의 뇌졸중 발병과의 관련성을 분석해보기로 했다.
Dataset
*뇌졸중, Heart Disease 등 발병유무, 결혼 등 유무에 대한 답변은 모두긍정 답변이 1, 부정이 0이다. 다시 말하자면 뇌졸중 발병자는 1, 아니면 0 이다.
Attribute Information
- gender: "Male", "Female" or "Other"
- age: age of the patient
- hypertension: 0 if the patient doesn't have hypertension, 1 if the patient has hypertension
- heart disease: 0 if the patient doesn't have any heart diseases, 1 if the patient has a heart disease
- ever-married: "No" or "Yes"
- worktype: "children", "Govtjov", "Neverworked", "Private" or "Self-employed"
- Residencetype: "Rural" or "Urban"
- avgglucoselevel: average glucose level in blood
- bmi: body mass index
- smoking_status: "formerly smoked", "never smoked", "smokes" or "Unknown"*
- stroke: 1 if the patient had a stroke or 0 if not
•Note: "Unknown" in smoking_status means that the information is unavailable for this patientReal data sources:Data
Analysis
분석의 가설로, 뇌졸중 발병자들은 흡연자의 비중이 높고, 혈당 수치가 높을 것이라 생각했다.
스마트플롯을 활용한 1차 분석결과, 흡연결과와 발병현황의 연계가 뚜렷하게 나타나지 않아 당황스러웠다. 뇌졸중에 걸린 사람 중 규칙적으로 흡연하는 사람은 70명, 담배를 피지 않는 사람은 89명이다.
연령대별로 분석을 해 보아도 유의미한 흡연과의 차이는 확인하기 어렵다. 고령자의 경우 비흡연자의 발병비율이 더 높다. 총 4900여명의 데이터 중 뇌졸중 발병자는 248명에 불과하다. 분석을 위한 충분한 샘플이 없는게 그 이유일지 모르겠다는 생각이 들었다. 하지만 혈당수치와는 명확한 구분이 확인되었다.
하기의 분석자료는 혈당수치를 Y축으로 하여, 뇌졸중 발병자와 심장질환 발병자를 함께 분석한 자료이며, 뇌졸중 질환자 (오른쪽 분할화면) 중 심장질환도 발병한 사람은 17% 정도이다.(안타까운 상황이다.)
명확하게 알 수 있는 부분은 뇌졸중 질환자들은 심장병 발병 유무와 관계없이 평균 혈당 수치가 120이상의 높은 수치였고, 심장병 발병자 역시 130대의 평균 혈당 수치를 보인다. 뇌졸중과 심장질환이 함께 발병한 47명의 안타까운 사람들은 평균 혈당 수치가 164에 이르러, 혈당관리가 심혈관계 질환에 얼마나 큰 영향을 미치는 지 알 수 있다.
이에 뇌졸중 발병자 중 높은 혈당 수치를 보이는 사람들을 분석하기 위해 마이크로 세그먼트 기능을 활용했다. BMI지수 30.4이상, 여성의 경우가 높은 관련성을 보이는 것으로 분석된다.
해당 데이터셋에서 뇌졸중 환자 240여명 중 약 140여명이 여성으로, 남성 대비 약간 높은 비중을 보이는 것이 그 이유로 확인된다. 다만, 앞서 말했듯 뇌졸중 환자의 데이터 자체가 작은 편이라 성별에 과도한 의미를 부여하는 것이 조심스럽다.
분석 기준을 혈당 수치 Top 20이 아니라 통상 높은 수치라고 판단하는 120이상으로 설정(타겟1)해서 다시 분석했다. 성별의 특이성은 사라지고 BMI와의 연계성이 확인된다. (역시 살은 빼고 볼일이다.)
데이터에서 나온 여러가지 조건(결혼유무, 거주지역, 직업군 등)들과 뇌졸중과의 강력한 연관관계는 찾기 힘들었다. 앞서 말했듯 뇌졸중 환자들의 수치가 많지 않기 때문이고, 실제 연관성이 작을 수도 있다. 가장 강력한 연관성을 보이는 BMI지수와 혈당지수와의 연관성을 잘 보이게 할 수 있는 시각화 방법을 이것저것 찾던중 스마트 서치에서 클러스터 기능을 활용해서 표현해보았다.
(1) 뇌졸중 발병환자 248명 중, (2) 심장질환과, (3) 고혈압이 함께 나타나는 현황을 표현했으며,
이를 BMI와 혈당수치로 색상과 크기로 표현해보았다.
가장 밖의 원은 뇌졸중만 발병한 환자로, 심장질환과 고혈압은 해당없는 사람
중간 원은 뇌졸중과 심장질환이 함께 발병한 사람들
가장 안의 원은 뇌졸중, 심장질환, 고혈압이 함께 발병한 사람들이다.
색상은 BMI수치로 농도를 구분했고, 12시방향에서 시계방향으로 BMI의 수치가 높아질수록 농도가 짙어진다. 아울러 혈당수치를 기준으로 원 크기를 구분했기때문에 혈당과 BMI 수치가 안 좋은 케이스와 질병의 발병현황을 직관적으로 알 수 있다.
필터링 기능을 이용해서 나이별로 살펴보았을때 고령의 환자일수록 복수의 질병이 발병하는 것도 알 수 있다.
Insight
어찌보면 너무 당연한 결과의 분석이지만, 내 손으로 가설을 세워보고, 분석하고, 시각화하는 과정에서 보람을 느낄 수 있었다.
여담이지만 본 데이터셋 이전에 스스로 데이터를 가공해서 분석해보고 싶어서 공공데이터 포탈과 KOSIS의 조사 데이터를 활용해서 실제 본인이 관심있는 분야를 분석해보고 싶었는데 하트카운트 시스템에 업로드 해서 분석하는 과정에서부터 오류가 났다. 데이터의 전처리에도 많은 노하우가 필요한 것 같다. 시간관계상 잘 정리된 데이터를 찾아서 할 수 밖에 없었지만, 기회가 된다면 4기 활동을 하면서 좀 더 완성도 높은 분석을 진행해보고 싶다.
이런 좋은 기회를 주신 하트카운트 팀분들께 감사를 끝으로 마지막 과제를 마치고자 한다.^^