바이오 통계학 w/R

2024. 10. 2. 00:29공부 정리

모집단_population: 전체

표본_sample: 실제 관측한 모집단의 일부

모수_parameter: 모집단의 특성을 나타내는 대푯값 = 모집단의 목적

통계량_statistic: 표본의 특성을 나타내는 대푯값 = 표본의 목적

 

단위_unit, 케이스_case: 관측된 개별 개체

변수_variable: 개별 단위에 대해 관측한 특성

관찰값_observation: 각 단위로부터 관찰한 관측값

 

연속형_continuous vs 범주형_categorical

 

가상의 췌장암 환자 데이터

 

표본평균: 표본의 평균 = X_bar

모평균: 모수의 평균

표본변동: 모집단 내 표본을 뽑을 때마다의 차이

표본분포: 표본변동에 의해 일어나는 분포

 

분산_variance: 평균에서 벗어난 정도, 다 더하면 0

> 분모가 n-1인 이유는 모분산을 추정할 때 더 정확. 표본분산이면 n도 무방.

표준편차_standard_deviation: 분산의 제곱근, 양의 수로 만들기 위함

 

중심극한정리: 표본평균 분포가 모평균 근처에 얼마나 어떤모양으로 집중되어있는지 알려주는 정리, 정규분포를 따르는지는 알 수 없다.

 > 표본크기인 n이 커짐에 따라 정규분포에 수렴

 

표본평균 개별의 크기가 커질수록 표본분산이 작다.

표준오차_standard_error: 표본평균의 표준편차 = 모표준편차/sqrt(n)

 

통계적 추론: 추정과 검정

추정: 예상값을 찾음

 

모평균의 구간추정: 모평균을 모르기에 모표준편차(sigma)도 모름, 표본표준편차로 대체

 > 이럴 경우 정규분포가 아닌 t분포를 따른다는 사실을 이용

 

신뢰구간: 내가 뽑은 구간이 모평균을 포함할 비율, 보통 95%

모평균은 고정된 범위(빈도주의에선 고정, 베이지안에선 비고정)

 

모비율 추정: 베르누이분포를 따르는 경우 바이노미얼을 이용해 계산

표본비율_phat이나 n값이 너무 작을때는 exact방법을 사용하며 그렇지 않으면 정규근사방법을 이용한다.

 

가설검정_motivating_example:

통계적 가설검정: 가설이 맞는지 틀린지 결론을 도출

1종 오류가 더 심각하다고 봄, 귀무가설이 참인데 기각하는 경우

1종 및 2종 오류의 합은 같다. 둘 모두 낮추기는 어렵다.

검정력: 통념이 틀린 경우 틀렸다고 내릴 확률, 1-beta

가설 세움 > 유의수준 알파 지정 > 검정통계량 계산 후 유의확률_pvalue 계산 > pvalue와 유의수준 비교해 결론을 내림

 

모평균 가설검정:

일표본 t검정의 유의확률: t분포 값이 내가 측정한 값보다 클 확률, 값이 작을수록 강하게 기각

유의확률 범위: 외곽 2.5% or 5% 부분

p값이 0.05보다 작을 경우 귀무가설을 기각하고 대립가설 채택

 

모비율 가설검정: 정규근사방법, 표준정규분포를 따름

 

연속형 데이터의 비교: 그룹묶음의 중심위치로 판단

두 그룹: 각각의 표본평균으로 모평균을 구해 각 비교

모수적: 검정력이 높다, 정규분포를 가정.

이표본 등분산 t-검정: 각 그룹의 분산이 같다고 가정

이표본 이분산 t-검정: 각 그룹의 분산이 다르다고 가정

 > 등분산성 검정은 필요치 않다. 이분산으로 보고 진행하는게 좋다.

비모수적: 정규분포 가정 불필요, 검정력이 낮음.

윌콕슨 순위합 검정: 각 그룹의 중심위치를 비교, 중앙값은 아니다.

 > 정규성 검정은 의미가 없다. 쓸모가 없다. 검정력이 낮고 1종 오류 발생율이 더 높다.

각 그룹간 평균이 각각 같은지 확인

 

3개 이상 그룹에서 연속형 변수의 중심위치 비교:

모수적 방법:

anova f-검정: 그룹들이 분산이 같다고 가정, 평균은 같다.

웰치 f-검정: 그룹간 분산이 다르다고 가정, 평균은 같다. 사용 권장

비모수적 방법:

크루스칼-왈리스 검정: 모집단의 중심위치를 비교하는 검정, 데이터의 순위만 사용.

 

오른쪽으로 긴 꼬리의 형태인 그래프를 가진 데이터의 경우 log변환해 정규분포형태로 바꿈.

실험실 수치의 경우 이러한 형태의 데이터가 많다.

로그변환은 양수만 가능.

 

짝지어진 연속형 데이터의 비교: 두 값의 차를 가지고 그 데이터를 이용

모수적 방법:

대응표본 t-검정: 서로 독립, 정규분포를 따른다 가정. 값이 0인지 아닌지 검정

비모수적 방법:

윌콕슨 부호순위 검정: 서로 독립, 좌우대칭이라 가정. 중심위치가 0인지 검정.

부호와 절대값의 순위만 이용. 좌우대칭이 아닌경우 부호검정을 사용.

 

범주형 변수:

이분척도_dichotomous: 둘로 나뉘는 경우

명목_nominal: 그 외

순위_ordinal: 순서 있는 경우, 흡연-과거 흡연-비흡연

 

의료데이터의 경우 위험도가 어느 기준에 따라 바뀌므로 연속형 변수도 이분할로 바꾸어 사용함

위험도가 급증하는 단계를 기준으로 다분할 하여 그래프화 후 상대위험도 확인

상대위험도_relative_risk: 걸렸는데 흡연일 확률/걸렸는데 비흡연일 확률, 값이 0이면 관계가 없다고 해석

오즈비_odds_ratio: 발생할 확률/발생하지 않을 확률 == 옳게 예측한 값들의 곱/틀리게 예측한 값들의 곱

 

짝지어진 자료:

췌장암 환자의 경우 수술전 CEA값이 높아 전후를 측정해 비교(두 값의 차이)

두 변수가 독립이 아니기에 카이제곱 검정, 피셔 직접검정은 불가능

전체가 아닌 관측값들이 불일치하는 쌍만 사용하는 맥니마 검정을 사용

 

상관계수:

피어슨 상관계수: 선형 상관관계의 강도와 방향을 나타내는 측도

모집단과 표본을 따로 본다.

표본 피어슨: 측정단위가 바뀌어도 값은 변화 없다. 평균을 쓰기에 특이점 영향이 큼.

r값은 직선이 아니면 정확하게 설명할 수 없다. 2차식, 3차식의 경우 부정확.

스피어맨 상관계수: 선형이 아니어도 방향이 일정할 경우 완벽한 상관관계인 것으로 평가하는 측도

순위를 가지고 피어슨 상관계수를 쓰면 스피어맨 상관계수가 된다.

두 변수의 관계가 단조함수인지 본다.

모집단의 경우 값을 무한대로 보기에 순위를 매기기에 적절치 않아 표본만 사용.

특이점 영향이 적다.

 

2차식의 경우 둘 모두 0값이 나옴

로그식의 경우 스피어맨만 설명력이 있다고 보아 값이 1

 

독립변수: 설명변수, x, explonatory var, independent var

반응변수: 종속변수, y, responsible var, dependent var, outcome

모형을 정해놓고 시작

모형: x, y간 방정식

모형은 통계 밖인 domain knowledge에서 오며, 이를 데이터 시각화, 탐색적 자료 분석, 모형 진단 등의 보조적인 도구를 이용해 해석한다.

 

단순선형회귀: 독립변수가 1개인 경우

중선형회귀: 독립변수가 n개인 경우

상세내용은 회귀모형 과목에 기술

SST = SSR + SSE

sq(R) = SSR/SST >> 결정계수: 회귀식이 얼마나 정확한지 설명하는 수치. 0~1

중선형에선 독립변수가 추가될 수록 결정계수가 계속 커지기에 조정된 결정계수(sq(R_bar)) 사용.

조정된 결정계수: 음수값도 존재하며, 결정계수보다 항상 작거나 같다.

회귀 추론:

회귀 분산분석 f-검정: 모형 전체에 대한 설명력 검사. MSR/MSE

회귀계수에 대한 t-검정: 독립변수별 각각 설명력 검사.

단순선형회귀모형의 경우 f-value와 t-value는 같은 값을 가진다.

> 오차항이 정규분포를 따른다는 가정 기반위에서 진행

 

잔차분석: 위의 규칙에 맞도록 오차를 아래 4개를 따른다고 가정

1) 독립, 2)평균이 0, 3) 분산은 sq(sigma), 일정하다, 4) 정규분포

오차: 관측 불가(beta)

잔차: 관측 가능(x, y), 오차에 대한 추정값

잔차도_residual_plot: 세로축 조정된 잔차_sd, 오차가 서로 독립인지, 분산이 일정한지 확인

잔차의 정규확률도_normal_qqplot: 오차가 정규분포를 따르는지 확인

1)과 3)은 잔차도, 2)는 잔차의 평균은 항상 0임으로, 4)는 정규확률도로 확인 가능.

잔차도를 보았을때 경향성이 보이지 않아야 한다.

영향점_influential_point: 회귀직선 추정에 큰 영향 미치는 관측값, 이로 인해 회귀선이 크게 변함.

> 데이터가 잘못된건지 먼저 확인 후 포함시킬지 말지 정한다.

선과 관측값들이 가까우면 정규분포로 본다.

결정계수가 높은 경우 가정이 어긋났어도 모형추론(t,f)을 포기하거나 오차 가정을 요구하지 않는 추론 방법을 사용.

 

독립변수: 연속 or 범주, 정규분포일 필요는 없다.

> 실험실 수치처럼 꼬리가 긴 데이터의 경우 로그변환으로 정규분포화 해 분석의 정확도, 안정성을 높임

독립변수가 범주형인 경우 가변수로 변환해 모형에 넣는다. 가변수는 n-1개

참조범주를 먼저 정한 뒤 나머지 범주만 하나의 컬럼값씩 갖도록 함. (ex:one hot coding)

 

상관관계가 있어도 이것이 인과관계가 있는지 교란변수 때문인지 확인이 필요. 주로 나이와 성별

랜덤화(RCT), 매칭댄 환자-대조군 연구, 조정, 성향점수분석 등으로 보정

상호작용이 있는 경우 분석: 성별에 따른 차이가 있는 경우 분리하기보단 상호작용항_interaction_term을 이용해 검정

데이터를 분리하지 않고, 상호작용항(두 변수의 곱)을 추가해 각 식의 차이값으로 확인

다중공선성: 두 변수 값이 크게 비슷한 경우

creatinine & eGFR, 체중 & 체질량지수 // 흡연 & 성별, 당뇨 & 고혈압

독립변수와 교란변수간, 독립변수와 매개변수간

VIF, 회귀계수의 추정값 변화 등으로 확인 가능

무조건 제거할 필요는 없다. 목적에 따라 달라지며 예측의 경우 두어도 상관 없다.

상관관계 파악을 목적으로 하는 경우 제거한 모형과 제거하지 않은 모형 둘 비교.

인과관계 추론의 경우 제거할지 말지 판단 후 진행해 해석

독립변수가 너무 많으면 과적합 문제가 생김. 영향이 적은 변수는 적절히 제거후 진행

보통 데이터 수 10~20개당 독립변수 1개 비율을 기준으로 잡는다.

보통 R 및 통계를 배울때 자동변수선택법도 배우는데 미리 지정한 모델 비교시만 유효하며,

자동변수 선택시 f분포와 xai^2분포를 따르지 않는다고 한다.

또한 최종모형에 큰 편향이 존재해 사용에 유의해야한다.

univariate_screening: 각 독립변수에 대해 단순선형회귀를 진행후 유의확률에 따라 최종모형에 들어갈 변수를 정함.

이또한 위와 같은 문제를 가짐.

도메인 지식을 기반하여 변수제거를 고민하는 것이 옳으며, 특정 변수를 제거하면 관계가 있을지 등을 경험기반해 판단해야 함.

초기단계 가설이 없는경우는 어쩔 수 없이 사용. 후진제거법이 가장 성능이 좋고, bootstrap을 여러번 수행해 일정 기준 이상 선택된 변수만 사용, 혹은 LASSO 방법을 사용.

 

진단검사 평가:

정확도가 높을지라도 희귀질환 환자를 잡아내지 못할 가능성이 있어 자주 쓰이진 않음

민감도와 특이도는 trade-off관계라 목적에 따라 정해야 한다. 실제 질병 유무 기준

양성 예측도와 음성 예측도. 진단검사 결과 기준

실제 질병 유무를 기준으로 하는 민감도와 특이도는 유병률과 상관이 없다.

진단검사 결과를 기준으로 하는 양성/음성 예측도는 유병률_prevalence에 따라 변회

ROC곡선: 민감도와 특이도 변화 양상

AUC: 곡선의 면적으로 성능 확인. 0.5는 직선삼각형의 범위이기 때문에 성능 0으로 본다.

특이도가 높은 검사를 선택: 잘못 예측했을 경우 환자의 생명이 위험한 경우, 혹은 부작용이 크고 비용이 높은 경우, 확진검사의 경우

youden's index: 민감도 특이도 모두 높은 기준점을 선택

 

로지스틱 회귀: 반응변수가 범주형일 경우 1) 환자를 범주화, 2) 로지스틱 변환 단계를 통해 회귀모형에 적용

오즈비: p/1-p

코호트는 시간이 오래 걸려 환자대조군 연구인 발병자에게 과거를 묻는 방식으로 진행

단순과 달리 다중 로지스틱 회귀 모형은 관심있는 변수 외는 모두 같아야한다.

rare disease가 아니면 예측도 값들이 점점 커지는데 이를 보정하기 위해 로그선형모형, 포아송 사용
예측을 위한 로지스틱 모형 구축: framingham heart study, nomogram

c-index가 높아도 과적합 가능성은 있다.

외부평가를 통해 모형을 평가하거나 별도 데이터가 없는경우 교차검증, bootstrap을 통한 optimism correction 적용

외부 데이터를 확보해 외부평가를 하는 것이 적절.

모형 성능진단:

가능도비 검정: 한 모형이 다른 모형을 내포한 경우 두 모형 비교

C-index: 외부평가 필수

hosmer-lemeshow 적합도 검정_goodness_of_fit_test: 보통 10개의 그룹으로 분류 후, 각 그룹별 성공확률과 예측 성공확률 비교

그룹수에 따라 값이 많이 변하기에 최악을 피하기 위해 사용

자동변수선택법은 step1인 설명용에선 잘 쓰이겠지만, 예측에선 쓰지 않아야 한다.

통계 유의성과 임상적 유의성은 다르며 둘 모두를 신경써야 한다.

전체 자료에서 작은 포션의 변수측에서 5~10% 정도의 변수량을 선택한다.

범주에서 chi with yate's corr to fisher.

로지스틱에선 드문 방식에서 exact방식을 사용, mcmc algorithm, 시간이 오래 걸리는 단점

그래서 firth 로지스틱 회귀분석을 사용

반응변수가 3개 이상일 경우:

순서가 없는 경우: 다항 로지스틱 회귀분석

순서가 있는 경우: 순서 로지스틱 회귀분석

 

생존분석:

사망률: 시점이 들어가 있어야 한다. 기준점인 time zero와 기간 x가 필요.

x년 내 사망률: 죽지 않았으면 카운트 할 수 없다.

한 번 발생하는 사건_competing_risks, 여러 번 발생하는 사건_recurrent_event

반응변수: time-to-event outcome

연구종료시점까지 사망하지 않았으면 중도절단되었다고 하며 그 전에 잠적한 경우 중도하차라고 한다.

관측기간: 시작점을 시작으로 사건발생 시점 혹은 마지막 관측 시점까지 기간.

단위시간당 발생 속도가 중요하기에 일반적인 범주형 분석 방법 사용 불가

사건의 발생유무도 다 다르기에 연속형 분석 방법도 사용 불가

중도하차 인원이 있는 경우 카플란-마이어 방법을 이용해 생존 확률 계산

카플란-마이어 방식: 중도절단 데이터를 제외하지 않고 모두 사용하는 방법.

이벤트 발생 시점을 기준삼아 각 구간을 나누고, 사망자와 중도하차를 제외한 추적관찰 대상자 수 기입.

조건부 생존율 = (추적대상자-사망자)/추적대상자

생존확률 = 직전 생존확률에 조건부 생존확률을 곱

생존시간의 중앙값 = 생존확률의 0.5 지점의 값

계단형태의 그래프라 구간의 생존율을 같다고 가정

 

로그 순위 검정:

여러 그룹별 생존함수가 다르다고 볼 때 그룹별 생존함수가 통계적으로 유의한지 검정

형태 가정 없이 진행 = 비모수적 검정

pvalue가 0.05보다 작으면 그룹별 생존함수가 다르다고 결론을 내림

중도절단 여부와 사망확률은 관련이 없다.

 

콕스 비례 위험 모형:

생존함수와 독립변수간 관계 분석

준모수적 생존 모형

hazard rate = 람다(t)

S(t) = t시점에서의 생존확률

조건부 사망확률/범위시간 == 단위시간당 조건부 사망 확률 == Death rate

(시작시간 - 끝시간)/(시간변화*시작시간) 에서 시간변화를 0으로 보낸 극한 값이 람다(t)

특정 시점에서 이후 지점까지 살았을때 그 확률

위험률을 알면 생존함수 값을 알 수 있다.

위험비: 2개 위험률의 비율

람다0: 모든 독립변수 값이 0일 때 위험률, baseline_hazard

비례위험가정: 위험비가 독립변수들 값에만 의존하고 시간에는 의존하지 않는다는 가정

위험비_hazard_ration: 오즈비처럼 exp지수값, 단위당 변화비

최대가능도법으로 최대가 되는 회귀계수 추정

위 모형을 사용한 경우, 생존함수는 알 수 없고 baseline 생존함수의 제곱 범위만 추정.

생존함수는 카플란마이어방식 혹은 다른 방식으로 계산해 대입.

비례위험가정을 확인하는 방법:

범주형:

구간나누어 카플란마이어: 그래프를 그려 기준점을 잡아 각 범주별 카플란마이어곡선을 그셔 서로 평행한지 확인

shoenfeld residual: p값이 작으면 비례위험가정 위배된다고 판단

비례위험가정 어긋난 경우: z변수 그룹별 baseline 생존함수가 다르다고 간주, 다른 독립변수들 영향은 같도록 함.

모델이 시간에 따라서 위험비가 바뀐다고 가정하는 방법도 존재.

과적합을 막기 위해 독립변수당 10~20개의 사건

이미 정해진 값을 독립변수로 함.

harrell's c-index: 콕스비례위험 모형성능평가 방법중 하나

값을 모르는 채로 생존함수 값의 크기 순서만 이용해 순서와 생존확률 순위를 비교


replace=TRUE: 복원추출 하도록 함, 뽑은 것 다시 돌려두고 재시작

set.seed(#): 같은 결과 나오도록 함


i.i.d: independently and identically distributed, 서로 독립이면서 동일한 분포

728x90