3강 / 20강
상관계수로는 놓친다 — 곧은 자로 휜 것을 재면
왜 아라크네는 상관계수를 쓰지 않는가
"두 유전자가 같이 움직이는가"를 재는 가장 익숙한 도구는 피어슨 상관계수 r 입니다.
r = Σ(xᵢ−x̄)(yᵢ−ȳ) / √( Σ(xᵢ−x̄)² · Σ(yᵢ−ȳ)² )−1 에서 +1 사이의 값이고, 뜻은 이렇습니다.
- r = +1 — 완벽한 직선 관계, 한쪽이 오르면 다른 쪽도 정확히 오른다
- r = 0 — 직선 관계가 없다
- r = −1 — 완벽한 직선, 방향만 반대
가운데 항목을 다시 읽어 보세요. "관계가 없다"가 아니라 "직선 관계가 없다"입니다. 이 차이가 이 강의 전체의 출발점입니다.
진짜로 이어진 쌍은 r 이 0.7~0.85, 아무 관계 없는 쌍은 0 근처입니다. 여기까지는 상관계수로 충분해 보입니다.
Python
브라우저에서 실행
r = −0.18. 이 정도 값이면 어떤 분석에서도 그냥 버려집니다.
Python
브라우저에서 실행
무슨 일이 일어난 걸까
IL10 은 NFKB1 에 U 자로 반응하도록 만들어 둔 유전자입니다. NFKB1 이 아주 낮을 때도 높고, 아주 높을 때도 높고, 중간일 때 낮습니다 (실제 생물학에도 이런 관계가 흔합니다 — 너무 적어도 문제, 너무 많아도 문제인 경우).
직선 자로 이 모양을 재면 어떻게 될까요? 왼쪽 절반은 내려가는 관계, 오른쪽 절반은 올라가는 관계입니다. 둘이 서로를 지워서 합계가 0 근처가 됩니다. 관계가 없어서 0 이 아니라, 관계가 두 방향이라 0인 거예요.
🎮 여섯 쌍을 눈으로 비교하기
같은 자료를 상관계수와 상호정보량 두 자로 재 봅니다. NFKB1–IL10 을 눌러 보세요 — 눈에는 뻔히 보이는 무늬를 r 은 못 봅니다.
MI 의 단위는 비트(bit)입니다. 5강에서 이 숫자가 무슨 뜻인지 배웁니다.
Python
브라우저에서 실행
MI 는 '얼마나 알 수 있나'만 잽니다. 방향은 따로 챙겨야 합니다.
Python
브라우저에서 실행
🤔 확인 문제
피어슨 상관계수 r = 0 이 뜻하는 것으로 정확한 것은?
해설 r 은 직선 자입니다. U 자 관계처럼 방향이 두 개인 관계에서는 양쪽이 서로를 지워 r 이 0 이 됩니다. 관계가 없어서가 아니라 직선으로 요약할 수 없어서 0 인 것입니다.
🤔 확인 문제
우리 자료에서 NFKB1–IL10 은 r = −0.18 인데 MI 는 0.408 로 큽니다. 왜일까요?
해설 NFKB1 이 낮을 때도 높을 때도 IL10 이 올라가는 U 자 관계입니다. 직선 자로는 안 보이지만 NFKB1 값을 알면 IL10 을 훨씬 잘 맞힐 수 있으므로 상호정보량은 큽니다.
🤔 확인 문제
아라크네가 상관계수를 완전히 버리지 않고 남겨 두는 곳은 어디일까요?
해설 MI 에는 부호가 없습니다. 그래서 15강 VIPER 에서 regulon 의 각 표적이 활성화(+1)인지 억제(−1)인지 정할 때 상관계수의 부호를 씁니다. 선을 그을지는 MI 로, 방향은 상관계수로 — 역할 분담입니다.