데이터를 분석하다 보면, 여러 변수들의 상관관계를 살펴봐야 하는 경우가 매우 많다. 이를 말그대로 Correlation(상관관계)이라고 하는데, 둘 이상의 변수 사이에서 어느 정도의 관계가 있다는 것을 말한다. 여기서 주의해야 할 것은 Correlation은 Causality(인과관계)를 보장해주는 것이 아니라는 점이다.
상관계수는 두 변수의 선형관계의 방향과 그 정도가 어느정도 되는지를 측정하는 것을 말한다. 일반적으로 상관계수로 사용되는 아래의 식은 Pearson's Correlation Coefficientearson's Correlation Coefficient라고도 불린다. 크기로 나눈 만큼 상관계수의 범위는 -1부터 1까지 움직인다.
사실 이 값은 R이나 Python에서 함수로 쉽게 구할 수 있는데, 어찌보면 위 두 언어보다는 Brightics는 더 쉽게 구한다고도 할 수 있다.
상황에 대한 간단한 가정은 "전력의 수요가 온도와 상관관계가 있을 것 같다" 에서 출발한다.
주어진 데이터를 로드해서(여기서 주의할 것은 date관련 데이터들은 string으로 처리), 우리가 살펴보고자 하는 수요(supply, 사실 demand로 하는 게 맞을텐데 주어진 열 이름이 supply니 이걸로 쓰자.)와 온도의 관계이므로, 두개 column을 선택해서 pearson method로 함수를 실행시킨다.
결과는 -0.18로, scatter plot에서도 볼 수 있다시피 그다지 유의한 상관관계는 아닌 것으로 보인다. 하지만, 온도 중간에 꺽이는 지점이 있어서 더 자세하게 살펴보고 싶다면, 아래와 같이 살펴볼 수도 있다.
Add Function Column을 활용하는데, 이는 새로운 열을 추가해 조건이나 함수를 적용하는 것이다. 새로운 열은 term_class라 명명하고, 조건은 15도 이하면 '15 and under'로 구분하고, 15도 초과면 'above 15'로 표기하도록 Expression 창을 클릭해 똑같이 작성한다. (여기서 end까지 써주는 것을 잊지 말자) 그러면 오른쪽 아래와 같이 답이 나오게 되는데 이를 위에서와 비슷하게 (+ group by에 term_class로 구분해주자) 처리해주면 다음과 같이 결과가 나올 것이다.
15도 이하에서는 -0.4, 15도 초과에서는 0.37의 상관계수가 나타났다. 즉, 날씨가 쌀쌀해지면 온도가 내려갈수록 전력 소비량이 증가하고, 요즘처럼 날이 더우면 온도가 올라갈수록 전력 소비량이 증가한다는 얘기다. 아까보다 큰 상관계수와 함께 우리의 상식에도 맞는 결과가 나왔다고 할 수 있다. (계수의 절대값이 충분히 크냐는 문제는 조금 다르게 봐야겠지만 말이다.)
그리고 결과값에도 p_value도 조그맣게 넣어줬는데, 필요한 분이 있다면 참고할만한 세심한(?) 배려인 것 같다.
위 내용은 모두 아래의 Brightics Studio의 Tutorial을 기반으로 작성하였습니다.
https://www.brightics.ai/kr/docs/ai/s1.0/tutorials/25_py_corr_with_tem_elec?type=insight
Brightics Studio
www.brightics.ai
'Tools' 카테고리의 다른 글
[QGIS] 서울 4대문 CSV 좌표 업로드 및 바운더리 형성 | 포인트를 폴리곤으로 변경하기 (0) | 2022.06.20 |
---|---|
[QGIS] 프로젝트 시작 + 베이스맵 설치 | Open Map Street (OMS), TMS for Korea (카카오맵, 네이버맵 etc) (0) | 2022.06.13 |
[Brightics] 각국 증시(주가지수)의 성과 비교하기_Normalization (0) | 2020.07.10 |
[Brightics] 데이터 전처리, 결측치(Null, N/A) 제거 (0) | 2020.07.09 |
[Brightics] Brightics Studio 첫인상 (0) | 2020.07.07 |