본문으로 바로가기
반응형




안녕하세요! 오늘은 Brightics Tutorial 문서의 상관관계 파트를 학습한 내용을 바탕으로 하여, 재미있는 분석을 시도하려 합니다.

전에, 가지 살펴볼 것이 있습니다.


스트레스, 말로만 들어도 부정적인 느낌이 팍팍오는 단어입니다. 스트레스는 만병의 근원이자, 악의 근원으로 취급 되곤 합니다. 특히 급격한 산업화, 정보화 등으로 현대인들의 스트레스 지수는 극에 달해 있으며, 이를 적절히 해소해주지 않으면 신체적, 정신적 건강에 악영향을 미칠 있다고 하는 데요. 여러분은 평소에 어떤 방식으로 스트레스를 해소하시나요?


건전하게 취미 생활을 즐기며 스트레스를 해소하고, 본인의 창의력과 창조성을 발휘하는 분들이 있는가하면, 여가 시간을 내기가 힘들어 단시간에 빠르게 스트레스를 해소하려 하는 분들도 있습니다. 특히 현대인들의 스트레스 해소처로 많이 지목되는 , 바로 '음주' '흡연'입니다. 음주와 흡연은 스트레스의 해소처로 여겨지기도 하지만, 때로는 자체가 스트레스의 근원으로 지목받기도 합니다. 특히 건강에 대한 관심이 높아지면서 '음주와 흡연' 부정적 측면이 강조 되기도 하는 데요.


흔히 금연을 하는 분들이 하는 말이 있습니다. 바로 "술만 마시면 담배를 찾게 된다"는 것인데요. 이는 흡연을 즐기는 사람들 중에서 음주를 즐기는 사람 또한 많지 않을까, 하는 의심을 품게 합니다. 또한, 음주와 흡연이 스트레스의 해소처로 이용된다는 사회적 인식을 바탕으로, 음주량과 흡연량이 스트레스와도 큰 관련이 있지 않을까 하는 생각 또한 해볼 수 있는데요. 이를 토대로, 오늘은 Brightics를 이용해 '흡연량, 음주량, 스트레스'의 상관관계 분석을 진행해보도록 하겠습니다.



오늘 사용할 데이터는 바로 '한국미디어패널조사'의 미디어패널조사 자료입니다. 한국미디어패널조사에서는 매년 전국에 구축된 패널을 대상으로 하여, 각종 조사를 실시합니다. 이는 기본적으로 미디어 이용행태를 바탕으로, 이와 관련된 내용을 조사하는 항목이 대다수이지만, 라이프스타일, 삶의 만족도, 건강 행태 등 다양한 변수 카테고리가 포함되어 있어 여러 목적으로 유용하게 사용할 수 있는 데이터이기도 합니다. 

2014년의 개인 패널응답 원시데이터를 다운로드하여, 위에 회색 박스로 체크된 세 개의 변수 (하루 평균 흡연량, 하루 평균 음주량, 일상생활 스트레스 정도)를 사용하도록 하겠습니다.


이제 너무나 익숙해진 Load 함수입니다. 그렇지만, 데이터 Type을 잊지 말고 확인해주는 것은 언제나 필수입니다!

음주량, 흡연량, 스트레스 정도 모두 수치형이므로, Double로 설정해줍니다. 위 이미지에 나오지 않은 pid 변수가 있는데, 각 조사자에게 부여된 개인 식별 id입니다. String으로 설정해줍니다.



딱 봐도 우리에게 필요없는 Column이 굉장히 많은데요. 우리가 사용할 Column은 총 4개이므로, 간단히 Select Column 함수를 사용해서 골라내어 줍시다. 변수명도 좀 더 보기 편하게 바꾸어주었습니다.

> Select Column

- pid => Alias : ID

- p14g01016 => Alias : aver_smoking_amount

- p14g01018 => Alias : aver_drinking_amount

- p14g01021 => Alias : stress_score



이어서 Statistic Summary 함수를 통해 변수들을 간단히 살펴봅니다.

> Statistic Summary

- Input Column : aver_smoking_amount, aver_drinking_amount, stress_score

- Target Statistic : Max, Min, Average, Null Count

담배를 가장 많이 피는 사람은 일 평균 40개비, 적으면 1개비,

음주의 경우 Max가 9999인 것으로 보아, 이상치가 있는 것으로 판단됩니다.

스트래스 지수는 1~4까지 범위인 것으로 보이네요. 

또한, 각각 결측값(null_count)들이 관측되는데, 스트레스 지수의 경우 682개의 결측값이 존재하는 반면, 8549, 5977의 결측값을 가진 흡연 및 음주량 데이터의 경우 실제 결측값이거나, 또는 비흡연자/비음주자로 볼 수 있겠습니다.



Null 값을 가진 데이터들이 실제 결측값인지, 비흡연/비음주자인지 확실히 판단할 수 없는 상황입니다.

따라서 Delete Missing Data 함수로 결측값을 가진 Row를 모두 제거하였습니다. 

> Delete Missing Data

- Input Column : aver_smoking_amount, aver_drinking_amount, stress_score

- Delete row or column : Row

이를 통해 음주자인 동시에 흡연자이며(음주량, 흡연량을 모두 기재한 패널이며), 스트레스 지수 또한 가지고 있는 패널 데이터만 남았습니다. 이상치 확인을 위해 다시 한번 Statistic Summary 함수를 사용해봅니다.



> Statistic Summary

- Input Column : aver_smoking_amount, aver_drinking_amount, stress_score

- Target Statistic : Max, Min, Average, Null Count

요약 통계량을 통해 살펴본 바로는, 이상치가 없는 것으로 보입니다. 

약 1만여개의 데이터 중, 이렇게 정리된 데이터는 1440개입니다. 이제 이 데이터로 분석을 진행해보겠습니다.



Correlation 함수를 사용하여 상관계수를 구할 수 있습니다. 여기선 Pearson 상관계수를 구하도록 합니다.

> Correlation

- Input Column : aver_smoking_amount, aver_drinking_amount, stress_score

- Method : pearson

- Display Plots : True


상관관계를 살펴본 결과, 각 변수 사이의 유의한 상관관계는 거의 없다고 볼 수 있습니다.

상관계수의 경우 -1 ~ 1 사이의 값으로 존재하며, -1 또는 1에 가까워질수록 두 변수간 상관관계가 높다고 판단할 수 있는데요.

위의 Correlation Matrix에서 살펴본 상관계수는 0.10, -0.15, -0.07로 사실상 크게 유의한 상관관계는 발견되지 않았다고 할 수 있습니다.

흡연자 and 음주자라는 조건으로 인해, 비교적 데이터가 한정되어 표본으로의 대표성이 떨어질 수 있지만, 일단 이 결과를 통해 알아낼 수 있는 부분은 "음주 및 흡연을 하는 사람들 중에서 음주량과 흡연량의 상관관계는 거의 없으며, 이는 음주량과 스트레스 지수, 흡연량과 스트레스 지수 또한 마찬가지이다" 입니다.

이 중에서 그나마, 가장 상관관계를 보이고 있는 것은 -0.15의 값이 나온 일 평균 흡연량과 스트레스 지수 변수입니다. 이 경우 두 변수는 음의 상관관계로, 좌측 맨 하단의 그래프를 보면 스트레스 지수가 낮아질수록 흡연량이 증가하는 경향성을 보이는 것을 알 수 있습니다.


오늘은 이렇게 Brightics와 상관관계 분석을 진행해보았습니다. 정말 순식간에, 준비한 데이터를 가지고, 우리가 세운 연구 가설을 바탕으로 상관관계 분석을 마칠 수 있었습니다. 요즘 Brightics를 사용해보면서 떠오르는 키워드가 두개 있습니다. 바로 '신속'과 '심플'입니다. 그야말로 쉽고 간단하게, 빠르고 신속하게, Brightics에 딱 맞는 수식어인데요. 

아직도 Brightics를 안 써보셨다면, 얼른 Brightics Studio를 설치해서 빠르고 간단한 데이터 분석을 경험해보세요. 이런 툴이 오픈소스로 제공된다니, 아직도 놀라움이 가시질 않습니다 :)


그럼 다음 시간에는 더욱 유익하고 흥미로운 포스팅으로 돌아오겠습니다. 읽어주셔서 감사합니다!


[상관관계 분석 Tutorial 링크]


본 포스팅은 2020년 삼성SDS Brightics 서포터즈 1기 활동의 일환으로 작성된 포스팅입니다.

반응형