콘텐츠로 이동

P3-5.5 값이 빠지거나 구간이 비어 있는 샘플은 어떻게 다루는가

Section ID: P3-5.5 Version: v2026.09.19

결측값을 만나면 먼저 무엇이 빠졌는지 확인합니다. 한 관측이 없는 경우, 구간 평균이 없는 경우, 동작의 끝을 확인하지 못한 경우는 같은 문제가 아닙니다. 샘플을 남기는 판단과 특정 특징을 계산할 수 있는지는 별개입니다.

실제 0과 미측정은 평균의 분모부터 다르다

관측값이 2·4이고 세 번째 값이 빠졌다면, 관측된 두 값의 평균은 (2+4)/2 = 3입니다. 빈칸을 0으로 채우면 (2+4+0)/3 = 2가 됩니다. 뒤 계산은 관측하지 않은 값을 0이라고 가정한 것입니다. 반대로 세 번째 값이 실제로 측정된 0이라면 평균 2는 세 관측의 평균입니다.

관측값 평균 3도 누락된 값을 포함한 원래 세 값의 평균을 알아냈다는 뜻은 아닙니다. 따라서 값뿐 아니라 관측 수·누락 수와 채움 여부를 남깁니다. 유량 0을 기록한 경우에도 센서값의 유효성은 별도로 확인하며, 빈칸을 곧 “흐름이 멈춤”으로 읽지 않습니다.

E01~E03의 빈칸을 서로 다르게 읽기

가상 구간 요약 CSV는 36개 사건의 요약 후보를 담습니다. 평균 유량 단위는 L/min이고, 빈칸은 해당 평균을 얻지 못했다는 뜻입니다. end_detected=1은 종료가 확인됨, 0은 확인되지 않음을 뜻합니다. 0만으로 동작이 실제로 끝나지 않았는지, 종료 기록을 놓쳤는지는 구별할 수 없습니다.

event_id early_flow_mean mid_flow_mean late_flow_mean end_detected
E01 1.10 2.40 1.80 1
E02 1.00 2.50 미확보 1
E03 1.20 미확보 미확보 0

이 사례에서는 시작과 사건 연결이 올바르고, 종료가 확인된 사건의 기입된 구간 평균은 검토된 값이라고 가정합니다. 이 가정 아래 “중반−초반 차이를 비교한다”는 질문에서 다음처럼 판단합니다. 후반이 필요한 비교는 따로 구분합니다.

사건·상태 부분 누락 허용 시 사용할 수 있는 값 계산하거나 확정하지 않을 값
E01: 세 평균·종료 확인 유지 중반−초반 1.30, 후반−중반 −0.60 시각이 없으므로 시간당 기울기는 미확정
E02: 종료 확인, 후반 평균 없음 앞·중반 비교에 유지 중반−초반 1.50 후반 평균, 후반−중반 차이
E03: 종료 미확인 완결 동작 비교는 보류 남아 있는 1.20은 원기록 추적 단서로 보존 전체 길이와 종료 경계에 의존하는 구간 특징

E02를 유지해도 후반 비교에 사용할 수 있게 되는 것은 아닙니다. E03의 1.20도 지울 필요는 없지만, 종료 경계가 필요한 초반 구간 정의였다면 그 값이 유효한 동작 특징인지 다시 확인해야 합니다. “보류”는 원자료 삭제가 아니라 현재 비교에 넣지 않고 원기록을 재확인한다는 뜻입니다.

구간 평균의 빈칸만으로 그 구간의 센서 기록이 전부 사라졌다고 단정하지도 않습니다. 일부 관측 부족, 품질 기준 미달, 집계 실패 중 무엇인지 확인하려면 원시 기록과 집계 규칙이 필요합니다.

유지 정책을 바꾸면 어떤 12건이 빠지는가

keep_partial_samples를 부분 누락 사건을 현재 비교 후보로 남길지 정하는 정책 이름으로 사용하겠습니다. True는 종료가 확인되고 앞·중반 평균이 있으면 그 범위의 비교에 유지, False는 세 구간 평균이 모두 있는 사건만 유지한다는 뜻입니다. 종료 미확인 사건은 두 정책 모두 보류합니다. 이는 이 사례의 정책이지 모든 결측 자료에 적용할 보편 규칙이 아닙니다.

CSV의 상태 사건 수 True에서 유지 False에서 유지
세 평균·종료 확인 12 12 12
종료 확인, 후반 평균 없음 12 12 0
종료 미확인, 중·후반 평균 없음 12 0 0
합계 36 24 12

원본을 바꾸지 말고, True에서 False로 바꿀 때 새로 제외되는 사건을 찾아 보세요. 답은 E02, E05, E08, E11, E14, E17, E20, E23, E26, E29, E32, E35입니다. E03처럼 종료를 확인하지 못한 12건은 이미 보류되어 있었으므로 정책 변경으로 새로 빠지는 사건이 아닙니다.

정책을 바꾸면 유지 사건은 24→12건이 됩니다. 그런데 후반 평균을 이용한 비교의 대상은 두 정책 모두 12건입니다. True에서 추가로 남긴 12건에는 후반 값이 없기 때문입니다. 샘플 유지 수를 모든 특징의 계산 분모로 그대로 쓰면 안 됩니다.

제외 정책과 운영 조건의 관계는 따로 확인한다

이 CSV로 확인한 것은 누락 상태별 건수입니다. 장비·주야간·부하·수집 기간 열이 없어 어떤 운영 조건이 더 많이 제외되는지는 알 수 없습니다. event_id로 조건 자료를 연결한 뒤 제외 전후의 조건별 건수와 비율을 비교해야 합니다. E01 같은 번호 순서에서 조건을 추정하지 않습니다.

가령 별도 가정으로 후반 평균이 없는 12건이 모두 야간이었다면, 엄격한 정책에서 그 야간 사건 12건이 빠집니다. 다른 야간 사건이 남아 있는지는 조건 자료를 더 봐야 합니다. 이 가정은 “결측 사건 제외가 비교 범위를 바꿀 수 있다”는 연습이며 실제 CSV의 야간 분포를 말하는 것이 아닙니다.

누락 표시는 기록이며 자동으로 유효한 특징은 아니다

late_mean_missing, end_detected, keep_sample, exclusion_reason을 남기면 무엇이 비었고 왜 비교에서 빠졌는지 추적할 수 있습니다. 누락 원인이 통신·센서·운영 조건과 관련되는지는 별도 조사 대상입니다. 빈칸만으로 고장 원인을 알 수는 없습니다.

누락 표시를 모델 입력으로 쓰려면 예측 시점에 알 수 있는 정보인지, 목표 결과가 나온 뒤 생긴 표시인지, 학습과 적용 환경에서 같은 의미인지 확인해야 합니다. 표시 열을 만들었다는 사실만으로 예측에 유용하거나 성능을 높인다고 확정하지 않습니다.

flowchart TD
    A[관측값이나 구간 평균이 없는 샘플] --> B{샘플의 시작과 끝을 확인할 수 있는가?}
    B -->|아니오| C[원시 로그 재확인<br/>현재 샘플 사용 보류]
    B -->|예| D[영향 받은 특징과 결측 범위를 적는다]
    D --> E{남은 정보로 현재 비교가 가능한가?}
    E -->|예| F[샘플 유지<br/>결측 표시와 특징 처리 규칙 기록]
    E -->|아니오| G[현재 비교에서 제외하거나 추가 기록 확인]

마지막으로 “E02를 유지했으니 후반 값도 0으로 넣어 비교한다”를 고쳐 보세요. 답은 “E02는 앞·중반 비교 후보로 유지하고, 후반 평균과 그 차이는 미확보로 남긴다. 후반이 필요한 비교에서는 제외하며 사유와 해당 비교의 분모를 기록한다”입니다.

체크리스트

  • 관측 2·4의 평균 3과 0을 넣은 평균 2가 다른 질문임을 설명하는가?
  • E02의 후반 평균 미확보와 E03의 종료 미확인을 구별하는가?
  • 유지 정책 변경으로 새로 제외되는 12건의 공통 상태를 확인했는가?
  • 유지 사건 24건과 후반 비교 가능 사건 12건의 분모를 구분하는가?
  • 운영 조건별 제외 영향을 확인할 추가 자료가 무엇인지 적었는가?
  • 누락 표시의 기록 가치와 모델 입력으로서의 적합성을 구별하는가?

출처와 참고 자료

  • scikit-learn developers, Imputation of missing values. 불완전한 행 제거로 정보가 사라질 수 있고, 결측 표시로 원래 누락 여부를 보존할 수 있음을 설명합니다. 본문의 유지·보류 정책과 숫자 사례는 자체 가상 설계입니다. / 확인일: 2026-09-19