This lesson is only available in Korean for now.
지도 여러 장을 겹쳐 놓고, 가장 잘 맞는 것에 무게를 실습니다.
문제가 생겼습니다. 여러분이 분석하려는 조직에 ARACNe 네트워크가 없습니다.
네트워크를 만들려면 같은 조직 샘플이 수백 개 필요한데, 희귀암이라 스무 개밖에 없어요.
남의 지도를 빌려 쓸 수 있을까요? 유방암 지도로 위암을 볼 수 있을까요?
어떤 전사인자는 조직을 가리지 않고 같은 부하를 부립니다 (세포주기 조절자들이 그렇습니다).
어떤 전사인자는 조직마다 완전히 다른 부하를 부립니다.
문제는 어느 쪽인지 미리 모른다는 것입니다.
metaVIPER 의 답은 시원합니다 — 지도를 전부 다 써 보고, 잘 맞는 것에 무게를 싣자.
합치는 규칙 — 스토퍼 방법
같은 전사인자에 대해 네트워크마다 NES 가 하나씩 나옵니다.
이 여러 개의 z 값을 하나로 합치는 고전적인 방법이 스토퍼(Stouffer) 결합입니다.
NES통합 = Σ (aᵢ · NESᵢ) / √( Σ aᵢ² )
aᵢ 는 네트워크 i 에 실어 주는 무게입니다. 무게를 모두 1 로 두면
단순 평균에 √k 를 곱한 꼴이 되는데, metaVIPER 는 여기에 묘수를 씁니다 —
|NESᵢ| 자체를 무게로 씁니다.
왜 그럴까요? 어떤 네트워크에서 강한 신호가 나왔다는 것은 그 지도가
이 데이터에 잘 맞는다는 증거이기 때문입니다. 안 맞는 지도는 0 근처의
NES 를 내고, 그러면 무게도 0 근처가 되어 자연스럽게 조용해집니다.
|NES| 를 무게로 쓰면 '맞는 지도'가 스스로 나서고 '안 맞는 지도'는 물러납니다.
Python
Runs in your browser
🎮 지도를 겹쳐 보세요
네트워크 세 개의 NES 를 슬라이더로 바꾸며 통합 NES 가 어떻게 나오는지 보세요.
두 지도가 반대 부호를 말할 때 통합값이 어떻게 되는지 꼭 확인해 보십시오.
metaVIPER 는 그런 경우에 억지로 편들지 않고 조용해집니다.
지도를 늘려도 손해가 없는 이유 — 안 맞는 지도는 조용하기 때문입니다.
Python
Runs in your browser
🤔 Check yourself
metaVIPER 가 여러 네트워크의 NES 를 합칠 때 |NES| 자체를 무게로 쓰는 까닭은?
Answer 안 맞는 지도는 신호를 못 잡아 NES 가 0 근처가 되고, 무게도 0 근처가 되어 스스로 물러납니다. 어느 지도가 맞는지 미리 몰라도 되게 만드는 영리한 장치입니다.
🤔 Check yourself
두 네트워크가 같은 전사인자에 대해 각각 NES +5.0 과 −4.8 을 냈습니다. metaVIPER 의 통합 결과는?
Answer 스토퍼 결합은 부호를 살려서 더합니다. 반대로 말하는 증언들은 서로를 상쇄하고, 통합값이 0 근처가 되어 “모르겠다”고 답합니다. 억지로 편들지 않는 것이 옳은 태도입니다.
🤔 Check yourself
metaVIPER 를 쓰기에 덜 적합한 상황은?
Answer metaVIPER 는 없는 지도를 메우는 도구입니다. 자기 조직의 좋은 지도가 있다면 그것을 쓰는 편이 낫고, 남의 지도를 섞으면 오히려 신호가 흐려질 수 있습니다.