ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 평균(Average)의 함정 - 편차
    Data Analysis 2023. 6. 2. 00:16

    우리는 아주 어렸을 적부터 '평균'이라는 데이터 산출법으로 대화하고 성적에 대한 기준으로 사용합니다.

    하지만 성인이되고 직장생활을 하면서 여러 지표를 다룰때도 마찬가지로 평균을 사용합니다. 아마도 20세이상 모든 인류가 피타고라스 정리는 몰라도 평균은 알거라고 생각합니다. ㅎ

     

    오늘 이야기하고 싶은 주제는 '평균으로 인해 빠지기 쉬운 함정'입니다.

    학교 성적으로 평균을 사용하는 것은 아무 문제가 없었는데 지표로 평균을 사용할때는 주의해야 한다니... 어떤 이야기인지 알아보시죠. :) 

     

    평균이란, '모든 항목의 합을 항목의 개수로 나눈 값입니다.' 즉, 중간값을 구하는 것입니다.

     

    바로 중간값이라는 특성때문에 함정이 빠지는 것이고 자기가 함정에 빠졌는지도 모르고 지나가는 것입니다.

    평균이 왜 위험한 것일까요? 그 이유는 최대값/최소값과 평균값의 편차(deviation)의 크기때문입니다.

    예를 들면, 다음과 같은 평균값이 같은 두개의 지표가 있습니다.

     

    #1: 100, 20, 30 ⇒ 50

    #2: 45, 65, 40 ⇒ 50

     

    평균값을 대비해서 #1의 Max/Min 편차는 각각 50(100-50), 30(50-20)입니다. #2의 Max/Min 편차는 각각 15(65-50), 10(50-40)입니다. 편차가 커도 무방한 데이터라면 괜찮겠지만 그렇지 않다면 평균값을 신뢰할 수 없을 것입니다.

    위 예시는 성적이라면 동일한 값이겠지만, 영업본부내 팀별 매출 실적이라면 다른 시선으로 보여집니다.

     

    평균에 대한 2번째 예시가 있습니다.

     

    100, 20, 30, 45, 65, 40 ⇒ 50

     

    평균과 편차가 Max는 50이고, Min은 30이나 됩니다. 평균값을 기준 지표로 사용하기엔 편차가 너무 큽니다. 안정된 지표로 사용하기 위해서 편차를 줄여야 합니다.

     

    이렇게 편차를 줄일때 TP(Top Percentile) 기법을 사용합니다. TP90, TP10처럼 지표의 90%, 10%같은 High/Low Peak를 제거하고 평균을 구하는 것입니다. 위의 예시에서 High/Low Peak(100, 20)를 제거하고 평균을 구하면 (30 + 45 + 65 + 40) / 4 ⇒ 45가 됩니다. 위아래 Peak를 제거하니 편차가 줄어든 것을 볼 수 있습니다(Max: 20, Min: 15). API Latency를 시기별로 비교한다거나 사용자별로 발생하는 지표에 대한 평균값을 산출할때 사용하면 좋습니다. (실무에선 Noise 제거라고도 하죠.)

    제가 실제로 사용했던 TP 사용 사례는 API Latency 추이를 비교할때 TP90와 TP10에 해당하는 데이터를 제거하고 평균값을 산출해서 비교 분석했던 적이 있습니다. 물론 Peak가 왜 발생했는지는 별도로 분석을 해야 했죠. ;)

     

    위처럼 평균을 사용할때 분석하고자하는 목적에 따라 편차를 고려한다면 조금 더 Insightful한 데이터 분석을 할 수 있습니다.

     

    Thanks.

    Hans

Designed by Tistory.