(source : http://myventurepad.com/10-objectives-six-sigma-green-belt-training-certification/)
Previously
Software에도 유용하게 적용되는 six sigma에 대해서 사례나 적용 위주로 풀어나가는 글을 쓰고 있습니다. 전 시간에는 상관관계에 대해서 알보았습니다. 이번 시간에는 평균 비교에 대한 이야기를 해보려고 합니다.
["1화 : 숫자를 맞추어 보세요"]
["2화 : 어느 반의 성적이 더 좋은가요?"]
["교회가 많으면 범죄가 늘어난다?"]
에 이은 네번째 연재 입니다.
평균의 비교
저번 시간에도 보았지만, 평균은 특정 집단을 대표하는 대표값입니다. 우리가 어릴때부터 배운 것 처럼 평균은 매우 쉽게 계산 됩니다. 모든 값을 다 더해서, 개수로 나누면 되죠.
자 그런데, 평균을 계산하는 이유가 무엇일까요? 그냥 궁금해서? 덧셈과 나눗셈 연습을 위해서? 라기 보다는 비교를 하기 위해서 입니다. 혹은 지금의 상태를 확인하기 위해서 입니다. 그런데 그 상태 확인도 이전과 비교하면서 확인하기 위해서 입니다.
예를 들어 2학년 3반의 중간고사 평균을 구했더니 93점이었습니다.(정말 좋은 성적이죠?) 그럼 그 93점을 보면서 "음 잘했군.." 이라는 생각을 하는 동시에 다른 반들과 평균과 비교하기도 하고, 혹은 지난달의 평균과 비교하기도 하고, 혹은 그 반이 세웠던 계획과 비교하기도 합니다.
위의 문장에는 많은 의미가 숨겨져 있습니다.
내가 세웠던 계획과 비교는 내가 계산한 평균과 목표값과의 비교를 의미하고,
지난달의 평균과의 비교는 2집단의 평균의 비교를 의미하고,
다른 반들과의 평균의 비교는 2개 이상, 즉 여러개의 평균 비교를 의미합니다.
이렇게 나누는 이유는, 위의 3가지 중에 어디에 해당하냐에 따라서 평균을 비교하는 방법이 달라지기 때문입니다.
일단 오늘은 용어만 말씀드리겠습니다. 용어가 익숙하지 않아도 그냥 읽고 넘어가세요. 자주 나오게 됩니다.
목표값과 비교 : 1 sample t-test
두집단 비교 : 2 sample t-test
두개 이상의 집단 비교 : ANOVA
목표값과의 비교
오늘은 3가지 종류의 평균 비교 중에서, 목표값과의 비교에 대한 이야기를 해보려고 합니다. 주제가 Software sixsigma이니 software에 대한 예제로 다시 바꾸어 보겠습니다.
A연구원은 스마트폰의 뉴스 앱을 개발하는 일을 하고 있습니다. 그런데 어느 날인가 고객으로부터 뉴스 앱의 실행이 너무 느리다는 불만을 접수하게 되었습니다. 자 그래서...그럼 얼마나 느리지? 하고 측정을 해보니 평균 진입 시간이 2분이라고 합니다.
정말 느립니다. 앱 하나 실행하는데 2분이면, 2분동안 모하라는거죠? ㅋ . 그래서 A연구원은 software의 구조를 분석해서 개선하는 계획을 세웠고, 구조를 검토해 보니 적어도 1분이상은 개선할수 있을 것 같아서 2분을 1분으로 개선하는 계획을 세웠습니다.(이 과정 자체에도 오류가 많지만, 그건 다음에~)
그래서 software의 구조를 개선하고, 10번 시험하여 아래와 같은 data를 얻었습니다. 편의상 분은 초로 환산하였습니다.
1 sample t-test
여기에서 궁금한 것은, 10번 시험한 값이 내가 개선하기로 했던 목표인 60초라고 말할수 있는지 입니다.
일단 개별 데이터를 하나씩 뜯어보면, 3, 5, 6, 9번때문에 그렇게 말하기는 어려워 보입니다. 그런데 여기서 강력한 질문이 하나 떠오릅니다. 60.1480초를 60초보다 크니 목표를 달성 못했다고 할수 있는데..그렇다면 60.000001초는???? 과연 0.000001초 때문에 목표 달성을 못했다고 해야 하는 걸까요?
또 다른 강력한 질문은...지금은 10번 했더니 3번정도 60초에서 벗어났는데, 그렇다면 100번하면 어떻게 될까? 다시 말해서, software를 개발할때 시험을 하는 회수보다는 실제 수백만의 고객이 쓰는 회수가 더 많고, 그렇다면 수백만번 했을때는 얼마나 60초에서 벗어날까? 라는 궁금증이 듭니다.
왜냐하면 우리가 볼때야 수백만번중에 한번이지만, 실제 사용하는 고객 입장에서는 수십번 혹은 한번중에 한번일수 있으니까요..(흔히 하는 이야기로 확률은 나한테 걸리는 100%라는 이야기가 있습니다.ㅋ)
이런 어려운 질문을 빼고서라고, 일단 내가 개선을 하기는 했는데...개선이 된건 맞아? 라는 생각부터 오만가지 생각들이 들기 시작합니다. 이미 이 생각들은 오늘의 이야기 범위를 다소 벗어나는 생각들이니 차차 다음시간에 풀어 보겠습니다.
다시 돌아가서, 기본적으로 개선한 software의 개선치의 목표가 60초였고, 측정한 데이터의 평균이 60초이냐?에 대한 궁금증으로 돌아가보면, 다음과 같이 1 sample t-test를 수행합니다.
반드시 이런 test전에는 가설을 세워야 합니다. 우리가 그렇게 싫어하던 가설! 가설은 반드시 귀무가설과 대립가설로 이루어 지고, 여기서 귀무가설은 측정한 데이터의 평균이 60초이다이고, 반대로 대립가설은 평균이 60초가 아니다 입니다. 자 그렇다면, 여기서 우리가 원하는 건? 네 맞습니다. 귀무가설의 채택입니다.
이런 가설과 결과의 기대를 전제로 1 sample t-test를 돌려보겠습니다.
결과는? 네 다행히도 우리가 시험한 데이터의 평균이 60초이다라고 말할수 있다는 결과가 나왔습니다. 결과의 해석은 P라는 값을 보시면 됩니다. 일단 가설 검정에 대해서 배우지 않았으니 외우기로 합니다. P값이 0.05보다 작으면 대립가설을, 0.05보다 크면 귀무가설을 선택하는 것으로 합시다. 이 용어의 단어의 선택에 대해서도 나중에 더 배우도록 하겠습니다.
그래서...결론은..
Software의 개선을 했고, 개선 결과가 60초이다 라고 말할수 있다는 결론을 얻었습니다.
자세한 해석과 공학적인 해석
그런데 어디인가 찝찝합니다. 통계적으로는 60초와 다르지 않다..혹은 60초이다 라고 말할수 있을것 같은데..여기에 찝찝함은 평균이라는 수치와 실제로는 60초를 넘는 경우들이 있는 것에 있습니다.
그 이유는 평균이 대표값이기 때문입니다. 그렇다면 어떻게 이야기해야 공학자의 양심에 더 맘에 들수 있을까요?
그건 1 sample t-test결과를 자세히 들여다 보면 답이 나옵니다.
자세히 내용을 보면, 샘플의수 N=10이고, 평균은 59.562, 표준 편차는 2.550,
95% CI가 57.738에서 61.386이라는 수치가 나와 있습니다. T와 P는 계산되는 값이니 큰 의미는 없습니다. 간단히 설명드리면 T는 T분포의 X축 값이고, P는 이를 통해서 계산한 T분포 곡선의 면적입니다. (이것도 나중에. 사실 이 전체 내용을 하나에 대해서만 이해하면 나머지는 똑같기 때문에 매우 쉬워집니다.)
95% CI의 의미가 중요한데요, 이는 100번 샘플을 뽑았을때 적어도 95번은 이 범위에 값이 있을 것이란 의미입니다. 즉 100명의 고객이 95번 앱을 실행했을때 그 실행 속도는 57.738초에서 61.386초 사이에 있을거란 거죠.
자 그러면 우리는 실제로 보고를 할때 이런 선택을 할 수 있습니다.
- 개선한 평균 값이이 59.562초이니, 목표인 60초를 만족했음.
- 59.562초로 개선을 했고, 최악의 경우 61.386초가 될수도 있음.
어느게 좋을까요? 당연히 저는 2번이라고 봅니다. 사실 평균만으로 개선치를 논의하는 것은 큰 의미가 없기 때문입니다.
이런 경우를 가정해 볼까요? 만약 1번으로 보고를 하게되면, 보고를 받는 당사자는 "아 이제 잘 되겠구나" 라고 생각합니다. 그런데 막상 고객에게 가면 어떻게 되나요? 60초를 벗어나는 경우가 생기는 거죠.
그런데 2번으로 보고를 하게되면, 현 상황에서 대해서 정확하게 파악을 할수 있게 됩니다. 그렇다면 의사결정하는 입장에서는 이를 조금 더 개선할지 혹은 현상태로 진행할지에 대한 판단을 할 수 있게 되고, 현재 개선의 한계점에 대해서도 인식을 할수 있게 됩니다.
요약
다소 많은 이야기를 드렸습니다. 요약해 보면
- 목표값 비교를 할때에는 1 sample t-test를 사용한다.
- test를 하기전에는 가설을 세워야 한다.
- 결과 해석, 보고시에는 worst, 즉 최악의 경우를 보고하는 것이 좋다.
다음시간에는 두 집단의 평균 비교로 찾아 뵙도록 하겠습니다.