여러 개의 센서를 시계열로 모니터링하다 보면, 각 센서는 저마다 값의 범위와 변동성이 다릅니다. 한 센서에서 갑작스런 “스텝 다운”이나 급격한 점프가 발생했을 때 원시 값만 보면 뚜렷하지만, 서로 스케일이 크게 다른 센서들의 표준편차를 단순히 Min–Max 스케일링으로 비교하면 오히려 오판할 수 있습니다. 이 글에서는 센서별 표준편차를 Min–Max 스케일링했을 때의 문제점을 살펴보고, 여러 센서를 포괄해 변동성을 좀 더 견고하게 비교하는 방법들을 단계별로 알아보겠습니다.

표준편차의 Min–Max 스케일링이 오도할 수 있는 이유
1. 과거 극값에 민감: Min–Max 스케일링은 센서별 과거 표준편차의 최소·최대값을 이용해 \[0, 1]로 변환합니다. 예컨대 A 센서가 0.1~~10을, B 센서가 100~~1000을 오간다면, A 센서가 5로 살짝 튀어도 스케일된 값이 0.5가 되지만, B 센서가 800으로 크게 튀어도 0.7에 불과할 수 있습니다.
2. 범위 변화에 불안정: 시스템이 서서히 drift 하거나 정기적으로 스케일러를 재훈련하면, Min/Max 기준이 바뀌어 이전에는 정상 범위였던 값들도 모두 다른 점수로 바뀝니다.
3. 기준점 무시: 변동성이 아주 작았던 센서는 작은 변화에도 과잉 탐지되고, 변동성이 컸던 센서는 큰 이상도 눈에 잘 띄지 않게 됩니다.

Z-스코어 정규화: 분산으로 중심과 스케일링하기
Min–Max 대신, 기준 기간의 센서별 평균(μ)과 표준편차(σ)를 계산합니다. 그 후 새 표준편차 x를 다음과 같이 변환합니다:
```
z = (x – μ) / σ
```
이렇게 하면 무차원 z-스코어가 나오므로, 센서마다 분포가 평균 0, 분산 1로 동일하게 맞춰져 서로 직접 비교할 수 있습니다.
**장점:**
* 절대 스케일 차이를 제거
* 양·음 큰 z값이 강한 이상 신호를 의미
**단점:**
* 기준 기간의 σ 분포가 정규분포라고 가정
* 기준 기간의 극단값에 민감 (강건한 통계량 사용으로 보완 가능)
기준 대비 상대 편차 (Fold‐Change)
새 표준편차 x를 기준 기간 표준편차 σ\_baseline으로 나눈 비율을 사용합니다:
```
fold_change = x / σ_baseline
```
값이 1.0이면 평소와 같다는 뜻, 1보다 크면 변동성 증가, 1보다 작으면 변동성 감소를 의미합니다. Fold-change는 단위가 없어서 센서별로 바로 비교 가능하죠.
**장점:**
* 직관적 (예: 2배 증가)
* 분포 형태 가정 불필요
**단점:**
* 기준 σ가 0에 가깝다면 작은 epsilon 추가 필요
강건 스케일링: 중앙값·IQR 또는 MAD 이용하기
σ 추정치에 이상치나 비정규 꼬리가 많다면, 다음과 같은 강건 통계량을 사용해보세요:
* **MAD (Median Absolute Deviation):**
```
MAD = median(|σ_i – median(σ)|)
robust_z = (x – median(σ)) / MAD
```
* **IQR (Interquartile Range):**
```
IQR = Q3(σ) – Q1(σ)
robust_score = (x – median(σ)) / IQR
```
이렇게 하면 과거 σ 중 극단값의 영향을 줄여 더욱 안정적인 임계값을 얻을 수 있습니다.
동적 기준 창과 롤링 통계 적용하기
하나의 고정 기준 대신, 슬라이딩 윈도우(예: 최근 24시간, 최근 N샘플)로 롤링 μ, σ(MAD/IQR)를 계산하고 위 방법들 중 하나를 적용합니다:
* 롤링 z-스코어
* 롤링 fold-change
* 롤링 robust score
이 방식은 서서히 변하는 드리프트나 계절성에도 대응하면서 순간적 급변에 민감하게 반응합니다.
통일된 이상 임계값 설정하기
모든 센서를 공통 스케일(z-스코어, fold-change, robust score)로 맞춘 뒤, 전역 임계값을 설정합니다:
* z-스코어의 |z| > 3σ
* fold\_change > 2× 또는 < 0.5×
* robust\_score > 3
이렇게 하면, 어떤 센서에서든 “3σ 이벤트”는 동일한 의미를 갖습니다.
결론
* 센서별 표준편차를 **Min–Max 스케일링**하면, 스케일 격차나 드리프트에 취약합니다.
* **z-스코어**와 **fold-change**는 센서마다 자체 변동성 기준을 적용해, 단위 없는 동일 비교 지표를 만듭니다.
* **MAD, IQR** 같은 강건 통계량은 과거 이상치의 영향을 줄입니다.
* **롤링 기준**은 드리프트와 계절성에도 유연하게 대응합니다.
* 마지막으로, 공통 임계값을 선택해 모든 센서에서 일관되게 스텝다운이나 이상을 탐지하세요.
이제 다양한 정규화 방법을 적용해 센서 간 비교를 견고하게 만들고, 스텝다운(step down)이나 이상을 신뢰성 있게 감지해 보세요!