문서

시계열 보간 분석

누락된 시계열 데이터를 보간법으로 복원하고 잔차를 분석해 데이터 조작 여부를 판단합니다. 현재는 placeholder 상태로 점수에 영향을 주지 않습니다.

가중치
info점수에 직접 영향 없음
알고리즘
1placeholder (준비 중)
역할
보간누락 데이터 복원 + 잔차 분석

결측 데이터 신뢰도 보정 실 구현timeseries.interpolate

업스트림 일시 장애 (네이버 응답 지연, 프록시 풀 503, 일시적 차단 등) 로 5분 주기 자동 측정이 실패하면 측정 데이터에 빈 구간이 생깁니다. 빈 구간이 그대로 분석에 들어가면 일부 알고리즘이 노이즈를 잡아 점수가 흔들립니다. 이 알고리즘은 빈 구간 비율 만 측정하고, 다른 알고리즘들의 신뢰도 (confidence) 만 깎아 합성 점수가 자연스럽게 중립 (50점) 으로 끌려가게 합니다.

왜 보간하지 않나요

수학적으로 빈 구간을 앞뒤 값으로 직선 보간 (linear interpolation) 하는 것이 가능하지만, 봇 폭증이 장애 직후에 일어나면 그 폭증 구간을 매끈한 직선으로 메워 anomaly 가 안 잡히는 위험 이 있습니다. 합법적으로 보이는 데이터 fabrication 은 분석 정직성을 훼손합니다. 대신 "빈 구간이 있을 때는 결과를 덜 확신한다" 를 정량적으로 표현하는 쪽이 안전합니다.

어떻게 측정하나

각 인접 측정점 사이의 시간 간격이 기대치 (5 분 × 1.5 = 7.5 분) 를 초과하면 그 구간을 빈 구간으로 봅니다. 25 분 빈 구간 = 4 슬롯 누락으로 카운트합니다.

ratio=누락 슬롯 수기대 슬롯 수\text{ratio} = \frac{\text{누락 슬롯 수}}{\text{기대 슬롯 수}}
  • 기대 슬롯 수 = 측정 윈도우 / 5분
  • 누락 슬롯 수 = 7.5 분을 넘는 모든 간격에서 누락된 슬롯의 합

어떻게 점수에 반영되나

다른 모든 알고리즘 (결측 측정 자기 자신은 제외) 의 신뢰도에 다머 (damper) 계수를 곱합니다.

confadjusted=conf×(1−factor×ratio)\text{conf}_\text{adjusted} = \text{conf} \times (1 - \text{factor} \times \text{ratio})
ratiofactor=0.7 일 때 conf 곱점수 영향
0.05 (5%)× 0.965거의 영향 없음
0.10 (10%)× 0.93합성 약 ±3.5 점 보수화
0.30 (30%)× 0.79합성 약 ±10 점 중립화
0.50 (50%)적용 안 됨 (스킵)분석 자체 보류

매우 부족한 측정 — 분석 자체 보류

빈 구간 비율이 50% 를 넘거나 정상 측정 횟수가 6 회 미만이면, 신뢰도를 아무리 깎아도 의미 있는 신호 추출이 불가능합니다. 이 경우 분석 결과를 새로 기록하지 않고 이전 상태를 유지 합니다. 사용자는 "마지막 측정 N분 전" 표시로 측정이 부진했음을 자체적으로 추론할 수 있습니다.

파라미터

이름값의미
expectedIntervalMs5 분기대 측정 주기
gapThresholdMs7.5 분 (1.5×)빈 구간으로 인정할 최소 간격
damperFactor0.7신뢰도 다머 계수 (보수적 강화)
skipThreshold0.5분석 자체 보류 임계 비율
minObservedSamples6분석 최소 정상 측정 횟수
왜 직선 보간이 아니라 다머 인가요

직선 보간은 두 정상 측정값 사이의 빈 구간을 직선으로 메우는 방식입니다. 수학적으로 단순하고 차트가 매끄러워지지만, 봇이 outage 직후에 폭증을 일으키는 시나리오에서는 그 폭증 구간 일부가 직선으로 가려져 anomaly detector 가 못 잡습니다.

이 위험은 outage 가 잦은 환경 (현재 운영) 에서 false negative 비용이 큽니다. 그래서 직선 보간은 채택하지 않았고, 대신 합성 layer 의 기존 neutral pull 메커니즘을 활용해 "빈 구간이 많을수록 답을 50 으로 끌어당기는" 식으로 정직하게 처리합니다.

운영 데이터 6 개월 누적 후 직선 보간이 false negative 를 낼 만한 패턴이 실제로 거의 없다는 것이 확인되면 비선형 (Kalman / cubic spline) 보간 도입을 별도 알고리즘으로 재고려할 수 있습니다.