여기까지 왔다면 데이터가 예상과 다르거나 코드가 멈춘 경험을 이미 했을 것이다.
막힘은 프로젝트의 예외 상황이 아니다. 분석 과정의 일부다. 실제 분석에서 막히지 않는 경우는 드물다.
중요한 것은 막혔을 때 무엇을 하는지다. 막힘을 다루는 방법은 태도의 문제이기도 하지만, 대부분 절차의 문제다.
막힘을 다루는 절차
막혔을 때 가장 흔한 대응은 코드를 여러 곳 동시에 바꿔 보는 것이다. 이 방법은 원인을 찾지 못한 채 상태만 복잡하게 만든다.
대신 문제를 좁히는 순서로 접근한다. 범위를 반씩 줄여 가며 원인이 있는 곳을 찾는다.
- 최소 재현 예시(minimal reproducible example)
- 같은 문제가 그대로 나타나는 가장 작은 데이터와 코드. 행을 3~5개로 줄이고 관계없는 부분을 지워 만든다.
막힘 유형별 점검 목록. 위에서 아래로 순서대로 확인한다.| 막힘 유형 | 보이는 증상 | 먼저 확인할 것 | 다음 행동 |
|---|
| 데이터가 없다 | 필요한 열이 기록에 없다 | 다른 값으로 대신할 수 있는지 | 대리 지표로 바꾸거나 직접 측정한다 |
|---|
| 코드가 멈춘다 | 오류 메시지가 나온다 | 메시지의 마지막 줄과 줄 번호 | 입력을 3~5행으로 줄여 재현한다 |
|---|
| 결과가 이상하다 | 값의 크기나 부호가 상식과 다르다 | 단위와 결측 처리 방식 | 단계마다 중간값을 출력해 확인한다 |
|---|
| 계산이 끝나지 않는다 | 실행이 멈춘 채 기다리게 된다 | 데이터 규모와 반복 횟수 | 일부만 잘라 끝까지 한 번 돌린다 |
|---|
| 해석이 안 된다 | 수는 나왔지만 뜻을 말할 수 없다 | 처음의 질문이 무엇이었는지 | 주제 문장을 다시 읽고 질문을 좁힌다 |
|---|
표에서 확인하듯 막힘의 상당수는 데이터 쪽에서 시작한다.
그래서 원인을 찾을 때는 데이터 점검을 먼저 한다. 점검은 세 가지만 보면 충분하다. 빠진 값, 값의 범위, 있을 수 없는 값이다.
분석 결과의 의미를 해석하기
분석이 끝나면 수가 남는다. 수 자체는 결론이 아니다.
"기울기는 26.45다"는 계산 결과이고, "기온이 오를 때 냉방 전력이 함께 늘었다"는 해석이다.
해석 문장에는 네 가지가 들어가야 한다. 대상과 기간, 관계와 크기, 조건과 범위, 한계다.
해석 문장 작성 틀. 작성 예는 04-03의 예시 데이터 결과를 사용했다.| 요소 | 확인 질문 | 작성 예 |
|---|
| 대상과 기간 | 무엇을 언제 측정한 값인가 | 6월부터 9월까지 우리 학교 일별 기록에서 |
|---|
| 관계와 크기 | 무엇이 얼마나 달라졌는가 | 기온이 1°C 오를 때 사용량이 약 26kWh 늘었다 |
|---|
| 조건과 범위 | 어느 범위에서 확인된 것인가 | 22°C에서 33°C 사이 기록에서만 확인되었다 |
|---|
| 한계 | 무엇을 말할 수 없는가 | 냉방이 원인인지는 이 데이터로 정할 수 없다 |
|---|
- 인과관계(causality)
- 한쪽이 다른 쪽의 원인이 되는 관계. 두 값이 함께 움직인다는 사실만으로는 인과관계를 말할 수 없다.
- 민감도 확인(sensitivity check)
- 조건을 조금 바꿔도 결론이 유지되는지 확인하는 작업. 이상치를 빼거나 기간을 나눠 같은 분석을 다시 한다.
막힘을 좁혀 가는 다섯 단계 순서도확인 문제
4문항 · 고르면 바로 채점된다
1분석 코드가 오류로 멈췄을 때 가장 먼저 할 일로 적절한 것은?
오류 메시지의 마지막 줄은 문제의 위치를 알려 준다. 여러 곳을 동시에 고치면 무엇이 원인이었는지 알 수 없다. 데이터 재수집이나 방법 변경은 원인을 확인한 뒤에 판단할 일이다.
2예시 점검 코드에서 기온 999.0°C가 나타난 이유로 가장 타당한 해석은?
999.0은 지구상에서 나올 수 없는 기온이므로 결측을 나타내는 표시값으로 보는 것이 타당하다. 이런 값을 그대로 계산에 넣으면 평균이 크게 틀어진다.
3두 값이 함께 커지는 것을 확인하면 한쪽이 다른 쪽의 원인이라고 해석할 수 있다.
함께 움직인다는 사실은 관계의 존재만 보여 준다. 방학이나 행사처럼 두 값에 함께 영향을 주는 다른 요인이 있을 수 있다.
4결과 보고에서 분석의 한계를 밝히면 결론의 신뢰도가 떨어지므로 적지 않는 편이 낫다.
한계는 결론이 성립하는 조건을 밝히는 정보다. 한계를 적으면 어디까지 믿을 수 있는지 드러나므로 신뢰도가 높아진다.
내 교과서에서 찾기
YBM Ⅳ. 데이터 과학 프로젝트 › 02. 데이터 과학 프로젝트의 실제 02-1 물가 지수로 경제 성장 예측하기 · 02-2 지역별 대기 오염 배출량 탐색하기 · 02-3 생활권 계획하기
씨마스 Ⅳ. 데이터 과학 프로젝트 › 2. 데이터 과학 프로젝트 실제 2-2 긴급 지원이 필요한 국가 군집 분석 (210쪽)
천재 Ⅳ. 데이터 과학 프로젝트 › 00. 데이터 과학 프로젝트 시작하기 Ⅳ. 데이터 과학 프로젝트 › 04. 데이터 과학 프로젝트 수행하기