구독하기

AI가 계산은 해줘도, 어디까지 셈에 넣을지는 묻지 않는다

AI가 계산은 해줘도, 어디까지 셈에 넣을지는 묻지 않는다

A조 불량률 3.4%, B조 3.1%. 이 표가 회의 자료에 올라오면 다음 순서는 대개 정해져 있습니다. A조에 개선 활동을 지시하고, 다음 달에 다시 숫자를 확인합니다.

숫자를 만드는 과정은 이제 빨라졌습니다. 조별로 데이터를 묶고 평균을 내고 그래프를 그리는 일은 AI에게 맡기면 몇 초입니다. 검정을 돌려달라고 하면 p값까지 붙여서 돌려줍니다. 예전 같으면 담당자가 반나절 걸려 만들던 자료가 대화 몇 번으로 나옵니다.

그런데 AI는 계산을 시작하기 전에 아무것도 묻지 않습니다. 이 데이터 안에 설비가 멈춰 있던 시간대의 값이 섞여 있는지, 그중 몇 개가 평균을 끌어올리고 있는지, 애초에 이 데이터를 평균으로 비교해도 되는지. 주어진 대로 계산하고 숫자를 내놓을 뿐입니다. 그래서 3.4%라는 숫자는 나왔는데, 그 숫자가 A조 전체를 가리키는지 특정 시점의 몇 건을 가리키는지는 아무도 확인하지 않은 채 보고가 올라갑니다.

이번 편에서는 국내 대기업 제조 현장에서 진행한 AI Engineering 심화과정의 통계 파트를 살펴봅니다. 두 숫자를 앞에 두고 그 차이가 진짜인지 확인하려면 사람이 무엇을 먼저 정해야 하는지, 실제 실습 사례로 확인합니다.


이상치, 데이터가 아니라 사람의 기준이 결정한다

어떤 기업의 임직원 평균 연봉이 기사로 나오면 댓글이 비슷하게 달립니다. 내 연봉하고 차이가 너무 큰데, 라는 반응입니다. 계산이 틀린 것은 아닙니다. 다만 그 평균 안에 소수의 초고액 연봉이 들어가 있고, 값 몇 개가 전체 평균을 위로 끌어올린 것입니다. 이럴 때 조직의 실제 연봉 수준을 보려면 중앙값을 봐야 합니다. 순서대로 줄을 세웠을 때 한가운데 있는 값이라, 위쪽 극단값에 흔들리지 않습니다.

비교에 쓰는 대표값은 평균과 중앙값과 최빈값 세 가지입니다. 평균과 중앙값은 값의 간격이 의미를 갖는 연속형 데이터에서 씁니다. 평균은 가장 널리 쓰이고 대부분의 경우 무난하지만 극단값에 끌려가고, 중앙값은 그 영향을 받지 않아 값이 한쪽으로 치우친 데이터에서 실제 수준을 보여줍니다. 최빈값은 범주형 데이터에서 씁니다. 값을 더하거나 평균 낼 수 없는 대신 가장 자주 나온 값이 의미를 갖기 때문입니다. 불량 유형 중 무엇이 가장 많이 나왔는지, 어떤 설비에서 알람이 가장 자주 떴는지 같은 질문이 그렇습니다.

이 데이터에는 셋 중 무엇이 적절한지는 AI에게 물어 맡길 수 있습니다. 데이터가 어떻게 퍼져 있는지 확인하고 그에 맞는 대표값을 제안하는 일은 계산의 영역입니다. 사람이 알아야 하는 것은 그 앞입니다. 숫자 하나를 그대로 받아들이지 않고 이 값이 무엇을 대표하는지 물어야 한다는 것, 그리고 평균이 전부가 아니라는 것을 아는 쪽이 질문을 던질 수 있습니다.

연봉 기사에서 평균을 끌어올린 그 몇 개의 값, 이것이 이상치입니다. 공정 데이터에도 같은 값이 섞여 있습니다. 설비가 멈춰 있던 시간대의 기록, 센서가 튄 순간의 값, 시험 가동 중에 쌓인 데이터가 다른 값들과 함께 한 표 안에 들어 있습니다.

이상치를 찾는 방법 자체는 어렵지 않습니다. 데이터를 그림으로 그리면 대개 평균을 중심으로 좌우 대칭인 종 모양이 되는데, 이것을 정규분포라고 하고 평균에서 얼마나 흩어져 있는지를 나타내는 값이 표준편차, 곧 시그마입니다. 평균에서 시그마 몇 칸 밖으로 나간 값을 이상치로 볼지 정하면 됩니다.

문제는 이 눈금이 어디서부터 잘라내라고 알려주지는 않는다는 점입니다. 일반적인 공정이라면 3시그마 밖을 이상치로 처리합니다. 그런데 편차가 극히 작은 정밀 공정에서는 6시그마 밖만 이상치로 봅니다. 같은 값이라도 어느 공정에서 나왔느냐에 따라 걸러지기도 하고 정상 범위 안에 남기도 합니다. 이 기준은 계산에서 나오지 않습니다. 이 설비에서 어느 정도 편차까지가 정상 가동 범위인지 아는 사람이 정해야 합니다.

걸러낸 다음에도 판단이 한 번 더 남습니다. 범위 밖으로 나갔다고 전부 버릴 값은 아닙니다. 측정 오류라면 빼는 것이 맞지만, 설비에 실제로 이상이 있어서 나온 값이라면 그것이야말로 봐야 할 데이터입니다.

기준 없이 값을 전부 넣으면 어떻게 되는지는 연봉 기사와 같습니다. 특정 시점의 몇 건이 조 전체의 평균을 끌어올려 놓고도 그 사실은 결과에 남지 않습니다. A조가 나쁘다는 결론이 사실은 그 몇 건이 만든 결론이고, 개선 활동은 조 전체를 향해 나갑니다. 반대로 범위 밖 값을 기계적으로 걷어내면 설비 이상을 알리던 신호가 함께 지워집니다. 데이터는 깔끔해지고 분석은 잘 돌아가는데, 정작 찾아야 할 것이 사라진 상태입니다.

흩어진 정도를 계산하고 범위 밖 값을 목록으로 뽑아내는 일, 이 데이터에 어떤 대표값이 적절한지 판단하는 일까지는 AI에게 맡길 수 있습니다. 몇 시그마를 기준으로 삼을지, 걸러진 값이 오류인지 신호인지는 사람이 정합니다.

t-test와 ANOVA, 차이가 진짜인지 묻는 절차

데이터는 혼자 있을 때 아무 의미가 없습니다. 아들 키가 124cm라는 숫자는 그 자체로는 아무 감흥이 없습니다. 또래 아이들과 견줘봐야 크다거나 작다는 의미가 생깁니다. 불량률 3.4%도 마찬가지입니다. 이 숫자가 회의 자료에 올라온 순간, 이미 어딘가와 비교되고 있는 것입니다.

그래서 3.4%와 3.1%를 놓고 반응이 갈립니다. 한쪽은 0.3% 차이가 뭐 그리 대단하냐고 말합니다. 다른 쪽은 어쨌든 A조가 높게 나온 것은 사실이니 왜 그런지는 봐야 한다고 말합니다. 둘 다 일리가 있어 보이고, 그래서 회의는 대개 목소리가 큰 쪽으로 기웁니다.

이 대립은 숫자를 더 들여다본다고 풀리지 않습니다. 물어야 할 것이 0.3%가 큰 차이인지가 아니기 때문입니다. 두 조가 사실상 같은 수준인데도 이 정도 차이는 그냥 생길 수 있는지, 이것이 답해야 할 질문입니다. 불량률은 매달 조금씩 오르내립니다. 불량 몇 건 차이로도 소수점 아래 숫자는 움직입니다. 그 흔들림의 범위 안에 0.3%가 들어간다면, A조와 B조의 차이는 이번 달에 우연히 생긴 것입니다.

이 질문에 답하는 방법이 통계 검정입니다. 비교할 그룹이 둘이면 t-test를 쓰고, 셋 이상이면 ANOVA를 씁니다. 어느 쪽이든 결과는 p값이라는 숫자 하나로 나옵니다. 이 값이 0.05보다 작으면 우연으로 보기 어려운 차이라고 판단하고, 0.05보다 크면 우연의 범위 안에 있다고 봅니다.

여기서 하나 더 알아야 할 것이 있습니다. ANOVA는 셋 이상을 한 번에 비교하지만, 어느 조와 어느 조 사이에서 차이가 났는지는 알려주지 않습니다. A조 3.4%, B조 3.1%, C조 3.7%를 놓고 ANOVA를 돌려 p값이 0.04로 나왔다면, 세 조 사이 어딘가에 우연으로 보기 어려운 차이가 있다는 것까지만 확인된 것입니다. A조와 B조 사이인지, A조와 C조 사이인지, B조와 C조 사이인지는 답에 들어 있지 않습니다. 그래서 조를 둘씩 짝지어 다시 비교하는 단계가 뒤에 붙습니다.

이 구분을 놓치면 보고서가 이렇게 나옵니다. ANOVA 결과 p값이 0.04로 나왔으니 조별 차이가 확인되었다고 쓰고, 표에서 가장 높은 C조를 개선 대상으로 지목합니다. 검정 결과가 근거로 붙어 있으니 회의에서 아무도 이의를 달지 않습니다. 그런데 실제로 우연으로 보기 어려운 차이는 B조와 C조 사이에서만 나왔을 수도 있습니다. 검정을 돌렸다는 사실 자체가 결론을 보증해주지는 않습니다.

계산은 AI가 합니다. 데이터를 주고 분산분석을 돌려달라고 하면 p값이 나오고, 그 값을 어떻게 읽어야 하는지 해석까지 이어서 요청할 수 있습니다. 통계 프로그램을 다룰 줄 알아야 검정을 할 수 있던 시절은 지났습니다. 다만 여기서도 한 번에 답을 받아내지 않는 편이 낫습니다. 어떤 검정을 왜 선택했는지 먼저 확인하고 실행으로 넘어가는 방식, 지난 편에서 살펴본 징검다리가 분석 단계에도 그대로 적용됩니다. 셋 이상을 비교해야 하는데 두 그룹씩 t-test를 반복하고 있는지, 비교 대상을 어떻게 묶었는지는 계획 단계에서만 드러납니다.

상황은 이랬습니다. 라인에서 매일 불량 이력이 수천 건 쌓이는데, 특정 공정이 문제라거나 야간조가 부실하다는 추측만 오갈 뿐 아무도 데이터로 종합해 분석한 적이 없었습니다. 현장에서 오래 일한 사람들의 감각이라 틀렸다고 하기도 어렵고, 맞다고 확인된 것도 아닌 상태로 남아 있었습니다.

참여자들이 한 일은 두 단계였습니다. 먼저 데이터 전체를 훑어 평균과 분포 같은 기초 통계를 뽑았습니다. 그다음 A조와 B조와 C조의 불량률에 진짜 차이가 있는지 분산분석을 돌렸습니다.

이 검정 결과에 따라 다음 행동이 갈립니다. 조별 차이가 통계적으로 유의하지 않다면, 특정 조 하나만 겨냥한 개선 프로젝트는 효과가 나지 않습니다. 그 조를 아무리 관리해도 다음 달 숫자는 여전히 오르내릴 것이기 때문입니다. 이때는 전체를 함께 낮추는 방향이 맞습니다. 반대로 유의한 차이가 확인된다면 그다음에 어느 조와 어느 조 사이의 차이인지 확인하고 거기서부터 원인을 찾아 들어가면 됩니다. 어느 쪽이든 검정을 돌리기 전에는 알 수 없고, 돌리지 않으면 목소리가 큰 쪽의 추측이 그대로 개선 과제가 됩니다.

검정 실행과 p값 산출은 AI가 합니다. 무엇과 무엇을 비교할지 정하는 것, 나온 결과를 어떤 조치로 옮길지 판단하는 것은 사람에게 남습니다.


마치며

지금까지 살펴본 내용을 놓고 보면, 3.4%와 3.1%라는 두 숫자 앞에서 사람이 해야 할 일이 꽤 여러 단계에 걸쳐 있습니다. 이 숫자를 만든 데이터 안에 어떤 값이 섞여 있는지 확인하고, 몇 시그마 밖을 이상치로 볼지 정하고, 걸러진 값이 오류인지 신호인지 판단하고, 무엇과 무엇을 비교할지 정하고, 검정 결과를 어떤 조치로 옮길지 결정하는 일입니다. 계산과 검정은 AI가 몇 초 만에 끝냅니다.

한 가지 더 남습니다. 검정으로 차이가 확인되었다고 해도 왜 그런 차이가 생겼는지는 아직 답이 없습니다. 원인을 찾으려면 어떤 조건이 불량률과 함께 움직이는지 보게 되는데, 함께 움직인다는 사실이 그 조건이 원인이라는 뜻은 아닙니다. AI는 수십 개 변수의 상관계수를 뽑아 순위까지 정렬해줍니다. 그중 무엇이 원인이고 무엇이 우연히 같이 움직였을 뿐인지는 계산에서 나오지 않고, 그 공정을 아는 사람에게서만 나옵니다.

HRD 관점에서 짚어볼 지점이 여기입니다. 통계 교육을 운영하고 있다면, 그 과정이 공식과 도구를 다루는 데 얼마나 배정되어 있고 이 숫자가 무엇을 뜻하는지 묻는 훈련에 얼마나 배정되어 있는지 확인해볼 필요가 있습니다. 계산은 AI가 대신하는 영역으로 넘어갔습니다. 반면 어디까지를 정상으로 볼지, 나온 결과를 어떤 행동으로 옮길지 정하는 판단은 대신할 주체가 없습니다.

다음 편에서는 이렇게 확인한 데이터로 예측을 시작합니다. 불량 여부를 미리 판별하는 모델을 만들 때 비싸고 최신인 모델이 답이 아닌 이유, 그리고 무엇을 원인 변수로 고를지가 왜 사람의 판단으로 남는지를 다룹니다.

우리 조직의 데이터 교육이 도구 사용법에 머물러 있는지, 숫자를 앞에 두고 질문을 세우는 훈련까지 담고 있는지 점검해보고 싶으시다면, 포텐스닷이 함께 확인해드릴 수 있습니다.