본문으로 건너뛰기
유환호 연락하기

홈 / 기록

숫자가 계속 오르는 걸 반복 측정 편차로 착각할 뻔했다

한눈에 답변

같은 기간 라벨을 붙인 측정값이 연속으로 커지는 것을 관측하고, 처음에는 반복 측정에서 있을 수 있는 자연스러운 편차라고 해석했다. 그런데 실제 집계 코드를 열어 보니 시간 범위 조건이 아예 빠져 있어서, 매번 전체 데이터를 세면서 그 시점까지 진행 중인 하루를 상한으로 삼고 있었다. 값이 커진 이유는 편차가 아니라 아직 끝나지 않은 하루의 데이터가 계속 쌓이고 있었기 때문이었다.

무엇을 놓칠 뻔했나

같은 기간을 가리키는 라벨을 붙인 측정값 세 개가 순서대로 조금씩 커지고 있었다. 반복해서 측정하면 자연스러운 편차가 있을 수 있다는 서사로 이 현상을 설명하려던 참이었다.

무엇이 진짜 원인이었나

외부 검토를 거치며 집계 코드를 다시 열어 봤다. 시간 범위를 제한하는 조건이 아예 없었다 — 매번 테이블 전체를 세고, 그 안에서 가장 이르거나 늦은 값을 기간 라벨로 붙이고 있었다. 그러다 보니 아직 끝나지 않고 진행 중인 하루가 사실상 매번의 상한이 되고 있었다. 실제로 확인해 보니 진행 중이던 그날 하루에만 상당한 양의 새 행이 계속 쌓이고 있었다.

‘반복 측정 편차’와 무엇이 다른가

반복 측정 편차는 같은 조건으로 여러 번 재도 자연스럽게 생기는 오차를 말한다. 이번 경우는 조건 자체가 매번 달랐다 — 진행 중인 하루가 포함되느냐 아니냐로 측정 시점마다 다른 데이터 집합을 세고 있었다. 조건이 다르면 값이 다른 것은 편차가 아니라 그냥 다른 것을 잰 것이다.

이 착각이 왜 위험했나

‘반복 측정에서 있을 수 있는 자연스러운 편차’라는 설명은 이미 다른 문서의 구성과 소제목까지 뒷받침하고 있었다. 문장 하나만 고쳐서 살릴 수 있는 문제가 아니라, 그 설명에 기대어 만들어진 자료 전체를 다시 만들어야 했다.

재발 방지를 위해 무엇을 만들었나

완료된 날짜만 포함하도록 집계 구간을 명확히 얼려서 고정하는 방식을 도입했다. 그리고 근거 자료에 시작·끝·기준 시각·시간대·필터 조건을 반드시 함께 저장하도록 만들고, “같은 조건으로 반복 측정했다”는 취지의 문장이 나오면 실제로 그 근거들의 측정 구간이 같은지 자동으로 대조해서, 다르면 발행을 막는 검사를 새로 만들었다.