Statics / MSA, 폐암 분석 파일에 통계분석 추가.md

MSA, 폐암 분석 파일에 통계분석 추가

조회

일단 그… 뭔가 통계적으로 뭔가 있어야 하지 않나 싶어서 추가는 했습니다. 근데 아… 포폴에 쓸거 늘었어… 그거 하는김에 아예 그래프 칼라도 수정했습니다. 씨본 컬러맵이 이쁜게 많은건 맞는데, 그 컬러맵도 적재적소에 써야 해요.


맨-휘트니 u 검정

그… t-test라고 아시죠? 스튜던츠 t-test. 그게 단일집단이건 두개건 비포애프터건 비교할 때 쓰는 건 맞는데… 어? 그럼 티테스트 쓰면 되잖아요. 그죠 써도 되는데… t-test에는 조건이 있어요. 일단 샘플 수가 30개가 안되면 샘플 크기에 따라서는 정규성/등분산성을 확인하고 진행해야 하고, 너무 적으면(10개보다 적으면) 비모수검정으로 빠져야됩니다. 그 일단 스튜던츠씨는 t가 대문자인지 소문자인지 딱 정해주고 다시 가시면 되겠고…

 

그럼 그 정규성이랑 등분산성을 뭘로 확인하는데요? 공통적으로 정규성은 샤피로-윌크 검정, 등분산성은 레빈 검정으로 확인했다. 근데 여유가 되시면 QQ플롯도 한번 그려보시는 걸 권합니다. 큐큐는 그렸을때 직선상이 아니면 정규성 위반하는거임.

 

샤피로-윌크 검정

# 샤피로-윌크 검정
statistic, p_value = stats.shapiro(NSCLC_times)

print(f"--- Shapiro-Wilk Test ---")
print(f"검정 통계량(Statistic): {statistic:.4f}")
print(f"p-value: {p_value:.4f}")

# 해석 결과 출력
if p_value > 0.05:
    print("결과: 귀무가설을 기각하지 못함 (정규분포를 따른다고 볼 수 있음)")
else:
    print("결과: 귀무가설 기각 (정규분포를 따른다고 보기 어려움)")
print("\n")

저 피밸류 좀 타이트하게 보는 사람들은 0.001도 보고 그러던데 본인 통계분석 기준은 0.05입니다. 근데 피밸류 어지간하면 적게 나와서 0.01은 물론 0.001도 돌파 쌉가능하긴 해요. 그래서 저걸로 뭘 보냐고? 본인이 비교할 모든 샘플들이 샤피로-윌크 검정에서 p밸류가 0.05보다 큰 값이 나와야 정규성을 만족하는거다.

 

레빈 검정

# 레빈 검정
stat, p = levene(NSCLC_times, SCLC_times, Other_times)

print(f"Levene 통계량: {stat:.4f}, p-value: {p:.4f}")
if p < 0.05:
    print("등분산 아님 (귀무가설 기각)")
else:
    print("등분산임 (귀무가설 채택)")

샤피로 윌크 검정은 하나하나 다 해야되는데 쟤는 걍 다 때려박고 하십쇼.

 

근데 한타바이러스랑 인플루엔자는 소스에 저게 없었죠? 애초에 쟤네는 MSA 하고 섀넌 엔트로피까지 하고 돌리는거라 그래요. 아니 그럼 티테스트 하면 안되냐고 하실 수도 있는데, 그 시퀀스가 DNA 염기입니다. 수지형도 아니고 연속형도 아니라서 애초에 평균이고 분산이고 존재할수가 없어요 걔들은. 그리고 정규성도 위반해서 맨 휫흐니 U 검정으로 틀은겁니다. 이건 인플루엔자도 마찬가지고 폐암은 저거 다 돌려봤더니 그룹 세개중 두개가 정규성 위반+등분산성을 만족하지 않았음.

 

그럼 저걸 꼭 해야 하나요? 라고 생각하시는 분이 계신데, 얼마전에 팀플에서 t-test 하기 전에 저거 체크 안했다가 혼난 팀을 봤음... 표본 크기가 30이 넘어가면 돌려도 되는데, 표본이 작으면 꼭 저거 해보십쇼.

 

스피어만 상관분석

한타바이러스는 트리도 맨 휫흐니 했는데 인플루엔자는 저걸 못합니다. 인플루엔자는 아예 쿼리가 H3N2라서 한 아종에서 조금씩 변이하는거라 스피어만 상관분석으로 간겁니다. 피어슨은 수치형 수치형의 상관관계를 볼 때 쓰는거고, 스피어만은 두 변수 간의 순위 기반 관계의 강도와 방향을 측정하는 비모수적 통계 방법임.

 

rho, p = spearmanr(tree_distances, seq_identities)

print(f'Rho: {rho:.4f}')
print(f'P-value: {p:.4e}')

얘도 상관분석이라 상관계수가 있습니다. 그 숫자는 피어슨좌 해보셨으면 뭐지 아시죠? 그거임. 그냥 DNA 염기가 수치형도 아니고 연속형도 아니라서 저거 썼구나 하십쇼.

 

크루스칼-월리스 검정

ANOVA 아시죠? 분산분석. 그게 뭘 보는거냐면 얘네들 중 다른 놈이 있는지를 보는겁니다. 근데 어노바는 얘네들 중 뭔가 다른 게 있다! 만 보여주기때문에 여기서 귀무가설을 기각하게 되면 후속 분석을 또 해야됩니다. 본인은 어노바 하면 항상 튜키까지 함.

 

근데 이 어노바도 아무때나 못한다. 이게 그 폐암 할 때 한건데 저 폐암 샤피로랑 레빈 돌렸더니 어땠어요? 두개가 정규성을 갖지 않고 등분산성도 없어... 이거 비모수로 빠져야돼... 근데 얘가 어노바의 비모수 버전임. 대충 뭐 하는 앤지 감이 좀 오시죠? 쟤도 어노바(일원분석)랑 같은 애인데, 맨 휫흐니처럼 비모수 검정 할 때 쓰는거다.

 

듄 테스트

Dunn 뭐라고 읽는지 제보 바랍니다. 아, 그래서 저게 뭐냐고? 내가 저 위에서 어노바 하고 나면 후속분석으로 튜키 해야된다고 했잖아요. 그 튜키가 뭐냐면 구체적으로 뭐가 다른지 찾아주는 애인데... 어떻게 보는지는 나중에 올려드림. 저거 돌린 결과도 있습니다. 아무튼... 듄 테스트도 윌리스 수고했어 검정 이름이 많이 다른데 하고 나서 구체적으로 누가 다른지를 보는거다. R은 뭐 애스터리스크도 두개 세개 붙고 그러던데 파이썬은 뭔 거리행렬같은거 나오데... 

 

아무튼 비모수검정 버전 튜키라고 생각하시면 됩니다. 결과가 맥북에 다 있어서 여기다가는 못 올리는데 나 결과 보고 뭔 거리행렬인가 했음. 이것도 p-value로 봐요.

'Statics' 카테고리의 다른 글

통계는 실전이야: Chi-square(카이제곱검정)  (0) 2026.02.02
정규성, 그리고 비모수검정  (0) 2026.02.01
통계는 실전이야: t-test  (0) 2026.01.30
PCA, MCA, FAMD  (0) 2026.01.29
섀넌 엔트로피  (0) 2026.01.28

댓글

홈으로 돌아가기

검색 결과

"search" 검색 결과입니다.