안녕하세요 태블로 위키 방문자 여러분!
이번시간에는 통계적으로 평균에서 거리가 얼마나 떨어져 있는지 수치화를 할 수 있는 Z-Score를 활용한 대시보드 응용 사례를 배워보겠습니다.
Z-Score 란?
표준편차를 단위로 보았을 때 측정치가 평균에서 얼마만큼 일탈 하였는가를 보는 것입니다. 평균과 표준편차를 사용하여 구하며 평균에서 각 측정값이 얼마나 통계적으로 떨어져 있는지 구할 수 있습니다. Z-score를 통해서 계산하면 좋은점은 각 데이터의 단위가 다르더라도 동일선상에서 얼만큼 평균에서 떨어져있는지 같은 Z-Score 기준으로 변환해서 볼 수 있습니다.
예를 들면 학생의 키와 몸무게가 평균에서 어느정도 떨어져 있는지 확인하고 싶을때, 키와 몸무게는 cm와 kg으로 단위가 다르지만 Z-Score를 이용한다면, 평균 기준을 0으로 삼고 얼만큼 평균에서 떨어져 있는지 확인할 수 있습니다.
0으로 부터 마이너스 이건 플러스 이건 멀어지면 멀어질수록 평균으로 부터 거리가 멀어지는 것을 의미합니다. One-tail, two-tail 테스트이냐에 따라 기준은 다르지만, 측정 데이터의 z-score가 2보다 크다면 해당 데이터는 평균에서 많이 떨어져 있고 평균값과 비교하여 값이 매우 크거나 작음을 의미합니다.
Question
데이터 분석으로 Z-Score를 활용한다면 다음과 같은 질문을 시각화로 답해볼수 있습니다.
- 우리 회사에서 파는 제품이 업계 평균에 비해 가격이 얼마나 멀리 떨어져 있는가?
- 우리 회사에서 파는 제품의 단가가 평균에 비해 얼마나 멀리 떨어져 있는가?
- 우리 회사에서 파는 제품의 무게가 평균에 비해 얼마나 멀리 떨어져 있는가?
- 내가 먹는 커피의 영양 성분은 다른 커피 평균에 비교하여, 어떻게 구성되어 있는가? (샘플 대시보드)
- 올해 발생한 각각의 사건 사고들은 다른해에 비해 평균적으로 많이 발생했는가?
Z-Score를 활용하여 보여줄 수 있는 데이터 분석 질문은 위와 같이 각 데이터 값이 “평균”과 비교 하였을 때 얼마나 차이가 나는지 확실히 보여줄 수 있습니다. 또한, 위 예시대시보드 처럼 Z-Score를 통해 여러 측정값을 한번에 비교하는 차트를 보여줄 수 있습니다.
태블로를 활용한 Z-Score 분석
Dataset
Starbucks Tall Nutrition Data.txt
Pivot Table
먼저 본격적인 데이터 분석 전에 Caffeine부터 Transfat까지 모두 드래그한후에 오른쪽클릭 → 피벗을 클릭해줍니다. 저는 영향성분을 Type으로 수치를 Value로 지정해주었습니다
Parameter, 매개변수
Coffee_parameter: 커피 이름을 기준으로 문자열 매개변수를 만들어줍니다.
Calculated Field, 계산된 필드 만들기
Fixed type_Average: 각 영양소 기준으로 평균값을 산출 합니다.
{fixed [Type]: (AVG([Value]))}
Fixed type_Standard_Dev: 각 영양소 기준으로 표준편차를 산출합니다.
{fixed [Type]: (STDEV([Value]))}
Fixed type, Coffee_avg: 각 영양소와 커피기준으로 평균을 산출합니다.
{fixed [Coffee], [Type]: (avg([Value]))}
Z-Score: 위의 세개의 식을 기준으로 Z-Score를 산출합니다.
([Fixed type, Coffee_avg] - [Fixed type_Average]) / [Fixed type_Standard_Dev]
Coffee_selected: 매개변수에서 선택한 커피는 TRUE로 지정하고 아니면 FALSE 처리합니다.
[Coffee_Parameter] = [Coffee]
Coffee_Selected Label: 차트에서 선택된 커피의 데이터값만 보일 수 있도록 IF 수식을 만들어줍니다.
IF [Coffee_Selected] THEN [Type] END
Z-Score를 활용하여 시각화해보기
마크 설정
- 마크를 원으로 바꿉니다.
- 세부정보에 Coffee와 Type을 넣습니다.
- Value를 세부정보에 넣고 집계를 평균으로 바꾸어줍니다.
- Coffee_Selected를 색상과 크기에 넣습니다.
- Coffee_Selected Label를 레이블에 넣습니다.
필터 설정
- 필터에 Z-Score를 넣습니다.
- Z-Score 필터에서 특수로 들어가서 “NULL이 아닌 값”을 선택해줍니다.
열과 행설정
- Z-Score를 열에 넣어줍니다.
- Type을 행에 넣어줍니다.
- Type 옆을 더블 클릭한 후 INDEX()를 적어 INDEX 필드를 만들어 줍니다.
- INDEX()를 오른쪽 클릭 후 → 테이블 계산 → 특정차원 → Coffee 선택 → Type 선택을 해줍니다. (Jitter Chart 생성)
머리글 설정 외 기타 설정
- 열의 축편집으로 들어가서 범위를 -3과 3을 지정해줍니다.
- 행의 불필요한 Index 머리글을 숨겨 줍니다.
- 색상, 글꼴, 눈금선, 격자선등을 자신의 기호에 맞게 바꾸어줍니다.
대시보드
- 대시보드로 워크시트를 옮기고 자신이 원하는 스타일로 디자인합니다.
Z-Score 응용 사례
그럼 예시말고 Z-Score를 활용한 대시보드가 무엇이 있는지 찾아볼까요?
Z-Score를 활용한 월단위 화재통계
아래 대시보드는 년/월 단위로 어떤 화재가 빈번하게 발생 하였는지 알아볼수 있는 대시보드를 만들어 보았습니다. 시각화를 보니, 2019년 12월에는 화학적요인이 다른 월에 비해 평균 이상으로 발생한것을 알 수 있습니다.
Z-Score를 활용한 차량 색상에 따른 자동차 브랜드 가격 비교 (Andy Kriebel)
비지니스에서도 Z-Score를 활용할 수 있습니다. 아래 대시보드는 각 자동차 브랜드 별로 어떤 색상의 차량이 다른 차량보다 평균적으로 비싼지 나타낸 시각화입니다. 혼다의 경우 Fuscia 색상의 차량이 평균적으로 다른브랜드보다 비싼것을 한눈에 볼 수 있네요!
자 이렇게 Z-Score를 활용하면 측정기준이 다른 값들도 한번에 비교할 수 있고 평균에 비해 얼마나 크게 벗어나있는지 볼 수 있는 장점이 있습니다. 여러분들도 여러 브랜드, 사람, 날짜, 제품 등을 한번에 다른 대상과 비교해볼 수 있는 Z-Score 활용 대시보드를 만들어보는 것은 어떨까요?😉
3 thoughts on “평균으로부터의 거리를 구하는 Z-Score 활용하기”
좋은 정보 감사합니다.
감사합니다 다음에는 더 좋은 정보로 찾아 뵙겠습니다~
태블로 강의 요청을 드리고자 하는데요… 연락부탁드려도 될런지요?