티스토리 뷰

728x90

Normalization이 결과를 왜곡하는 순간
Normalization이 결과를 왜곡하는 순간

 데이터를 ‘정리’하는 과정에서 진짜 차이를 지워버릴 때

데이터를 처음 받아보면
가장 먼저 드는 생각은 이것이다.

“값이 너무 들쭉날쭉하다”

샘플 간 intensity가 다르고,
run마다 scale이 다르고,
어떤 샘플은 전체적으로 높고
어떤 샘플은 낮다.

그래서 우리는 자연스럽게
다음 단계를 떠올린다.

Normalization

  • 전체를 맞추고
  • 비교 가능하게 만들고
  • noise를 줄인다

이건 너무 당연한 과정이다.

그래서 오히려
의심하지 않는다.

하지만 문제는
바로 여기서 시작된다.

normalization은 ‘보정’이 아니라 ‘가정’이다

우리는 보통 normalization을
기술적인 보정이라고 생각한다.

하지만 실제로는 그렇지 않다.

Normalization은 항상
하나의 전제를 포함한다.

  • 전체 signal은 비슷하다
  • 대부분 feature는 변하지 않는다
  • 변화는 일부에만 존재한다

이 가정이 맞다면
normalization은 훌륭하게 작동한다.

하지만 틀리다면?

👉 결과 전체가 왜곡된다.

가장 흔한 normalization: Total intensity scaling

가장 널리 사용되는 방식이다.

  • 각 샘플의 total intensity를 동일하게 맞춤

겉으로 보면 매우 합리적이다.

하지만 이 방식에는
치명적인 약점이 있다.

실제 상황

  • 그룹 A: 전체 metabolite 증가
  • 그룹 B: baseline

이건 biological signal이다.

하지만 normalization을 적용하면

→ 그룹 A의 값이 전체적으로 낮아진다

결과:

  • 진짜 증가가 사라짐
  • 일부는 오히려 감소로 보임

“전체가 변하는 상황”에서 normalization은 위험하다

metabolomics에서 자주 발생한다.

예를 들어:

  • 암 vs 정상
  • fasting vs fed
  • drug treatment

이 경우

👉 전체 metabolome 자체가 변할 수 있다

하지만 normalization은
이걸 인정하지 않는다.

실제 사례 ①: global shift가 사라진 분석

한 연구에서

  • disease group에서 전체 metabolite 증가

raw data에서는 명확했다.

하지만 normalization 이후:

  • 대부분 변화가 사라짐
  • 일부 metabolite만 남음

결과 해석:

“특정 pathway만 변화”

하지만 실제로는

👉 전체 metabolic activity 증가

quantile normalization의 함정

omics에서 자주 쓰이는 방법이다.

  • 모든 샘플의 분포를 동일하게 맞춤

굉장히 강력하다.

그리고 위험하다.

왜냐하면

이 방법은 이렇게 가정한다.

👉 “모든 샘플은 같은 분포를 가져야 한다”

이건 기술적인 문제가 아니라
생물학적 차이까지 제거하는 가정이다.

실제 상황

  • 그룹 A: high abundance protein 증가
  • 그룹 B: low abundance 중심

quantile normalization 적용 시

→ 두 그룹의 분포가 강제로 동일해짐

결과:

  • 진짜 차이 사라짐
  • 가짜 차이 생성

normalization이 variance 구조를 바꾼다

우리는 보통 mean 변화만 본다.

하지만 normalization은
variance도 바꾼다.

결과

  • p-value 변화
  • significance 변화
  • ranking 변화

즉,

👉 어떤 feature가 중요한지 자체가 달라진다

실제 사례 ②: DE 결과의 뒤바뀜

같은 데이터에서

  • normalization A → protein X significant
  • normalization B → protein Y significant

Volcano plot 자체가 달라졌다.

이건 biological truth가 아니라
normalization 선택의 결과다

internal standard 기반 normalization의 착각

많이 사용하는 방법이다.

  • 특정 compound를 기준으로 보정

하지만 여기에도 함정이 있다.

문제 상황

  • internal standard는 안정
  • 하지만 matrix effect는 샘플마다 다름

결과:

  • 일부 metabolite는 과보정
  • 일부는 under-correction

특히 metabolomics에서 위험한 이유

metabolomics는

  • dynamic range 큼
  • matrix effect 강함
  • pathway 간 연결성 높음

이런 특성 때문에

👉 normalization의 영향이 훨씬 크게 나타난다

실제 사례 ③: pathway 해석의 왜곡

normalization 전:

  • glycolysis 전반 증가

normalization 후:

  • 일부 metabolite만 증가
  • pathway fragmentation 발생

결론이 완전히 바뀐다.

normalization이 ‘차이를 만드는’ 순간

우리는 보통
normalization이 차이를 줄인다고 생각한다.

하지만 실제로는

👉 차이를 만들기도 한다

예시

  • raw data: 큰 차이 없음
  • normalization 후: 특정 feature 급증

이건 종종 발생한다.

특히

  • low intensity 영역
  • high missing 영역

에서 자주 나타난다.

가장 위험한 착각

“normalization을 했으니
이제 비교 가능하다”

이 생각이다.

하지만 실제로는

👉 “특정 가정 하에서만 비교 가능하다”

실무에서 반드시 확인해야 할 것

1) normalization 전/후 분포 비교

  • density plot
  • box plot

2) global shift 존재 여부 확인

  • PCA
  • total intensity 비교

3) multiple normalization 비교

  • 결과 일관성 확인

4) biological plausibility 체크

  • pathway 수준에서 해석

5) internal standard 검증

  • 모든 analyte에 동일하게 작용하는지 확인

normalization을 의심해야 하는 순간

  • 결과가 너무 깔끔할 때
  • 예상과 완전히 다를 때
  • 일부 feature만 극단적으로 튈 때
  • replicate 간 구조가 이상할 때

이때는 항상 질문해야 한다.

👉 “이게 normalization 때문일 수 있을까?”

핵심 정리

normalization은

  • 단순한 preprocessing이 아니다
  • 데이터의 구조를 바꾼다

그리고

  • biological signal을 제거할 수도 있고
  • 새로운 signal을 만들 수도 있다

결론

omics 분석에서
가장 위험한 단계는

복잡한 통계 모델이 아니다.

오히려

아무 생각 없이 적용하는 normalization이다

왜냐하면 이 과정은

  • 눈에 잘 보이지 않고
  • 자동으로 수행되며
  • 결과를 자연스럽게 바꿔버리기 때문이다

마지막 질문

다음에 normalization을 할 때
이 질문을 반드시 던져야 한다.

“나는 지금 데이터를 보정하고 있는 걸까,
아니면 재구성하고 있는 걸까?”

이 차이를 이해하는 순간
결과 해석이 완전히 달라진다.

728x90