Data science/Statistics (56)

반응형

False Discovery Rate


False Discovery Rate(FDR)는 다중비교문제에서 1종 오류를 조절하는 방법이다. FDR은 특히 유전학 연구에서 대량의 유전체 마커와 질병과의 연관성을 보는 연구(예를 들어 Genome-wide association study)에서 많이 사용하는 방법이다.


다중비교문제에서 기본적으로 많이 사용하는 본페로니 방법은 전체 테스트의 1종 오류를 alpha (예를 들어0.05)로 고정하는 방법이다. 즉, 전체 테스트가 유의하지 않은데 유의하다고 잘못판단할 확률을 0.05로 한다는 것이다.


50000개의 마커에 대해 연관성을 검정하며,  이 중 49000개가 실제로 연관성이 없고나머지 1000개가 실제 연관성이 있다고 해보자.


개별 테스트의 1종 오류를 0.05로 고정하면, 1종 오류는 유의하지 않은데, 유의하다고 판단할 확률이므로 49000*0.05 = 2450개가 평균적으로 false positive가 된다. 즉, 49000개 중에 2450개를 유의하다고 잘못판단하고, 나머지 46550개를 유의하지 않다고 잘 판단한 것이다. 만약 1000개의 실제 연관성이 있는 마커중 900개를 유의하다고 판단하고, 100개를 유의하지 않다고 판단했다고 하면, 총 3350개를 유의하다고 판단해서 그 중에 900개가 맞은 것이다.


본페로니 보정을 이용하여 전체 테스트의 1종 오류를 0.05로 고정하면 개별 테스트의 컷오프는 0.05/50000이 되므로, 49000*0.05/50000 = 약 0.05가 평균적으로 false positive가 된다. 따라서 본페로니 보정을 이용하면 false positive를 확연히 줄일 수 있다. 하지만 본페로니 보정의 단점은 너무 컷오프가 엄격하기 때문에 실제 유의한 마커의 effect size가 크지 않은 경우 유의하지 않다고 판단할 수 있다는 것이다. 이것이 소위 말하는 power의 문제이며, 1종 오류와 2종 오류가 trade off 관계임을 알 수 있다. 이렇게 false positive를 엄격하게 통제하면 너무 보수적인 결정을 내리게 되며 실제 유의한 마커를 찾아내기가 힘들어진다. 따라서 어느정도의 오차를 허용하면서 실제 유의한 마커도 잘 골라내는 방법이 필요하게 된다.


따라서 이러한 연구에서는 False Discovery Rate, 즉 유의하다고 판단한 것중에 틀릴 확률을 고정시키는 새로운 p-value를 정의하는 방법을 많이 사용한다. 우선 FDR의 정의부터 보면,


FDR = false positive / total positive (total positive = false positive + true positive)


즉, 유의하다고 판단한 것 중에 실제로는 유의하지 않은 것의 비율이다. 이 비율을 0.05로 고정한다면, 유의하다고 판단했을 때 틀릴 확률은 0.05로 고정할 수 있다. 이는 위의 접근법과는 다소 다르다. 1종 오류는 유의하지 않은데 유의하다고 판단할 확률이지만, FDR은 유의하다고 판단했을 대, 이것이 틀릴 확률이다. 위의 경우에는 3350개를 유의하다고 판단했는데 이 중 틀린 것이 2450이므로 FDR = 2450/3350 = 0.73 이다. 수많은 false positive로 인해 FDR이 높아졌음을 알 수 있고, 데이터가 밸런스하지 않기 때문에 실제 유의한 마커를 찾는 것이 매우 힘들다는 것을 알 수 있다.


근데 FDR은 실제 정답을 알아야 알 수 있다. 실제 유의한 (혹은 인과적 관계를 갖는) 마커를 알아야 FDR을 정확히 구할 수 있는데 이것은 힘든 일이다. 따라서 다양한 방법으로 FDR을 추정하는데 대표적인 방법으로는 Benjamini-Hochberg procedure가 있다.


위키피디아의 정의를 보자.

Benjamini–Hochberg procedure

The Benjamini–Hochberg procedure (BH step-up procedure) controls the FDR at level \alpha .[1] It works as follows:

  1. For a given \alpha , find the largest k such that P_{(k)} \leq \frac{k}{m} \alpha.
  2. Reject the null hypothesis (i.e., declare discoveries) for all H_{(i)} for i = 1, \ldots, k.


우선, 모든 마커의 p-value를 큰 것부터 작은 것으로 내림차순 정렬을 한 후, 개별 테스트의 p-value를 각각 다르게 적용시키는 방법이다. 예를 들어, alpha = 0.05, m=50000, k=50000 인 경우, 가장 p-value가 큰 마커이다. 이 마커의 경우 p-value의 기각역은 50000*0.05/50000 = 0.05 이다. 즉, p-value가 낮은 마커로 갈 수록 점점 엄격한 p-value의 컷오프를 적용한다. Benjamini-Hochberg procedure는 이러한 방식으로 FDR을 0.05로 고정한다.


# 2018.2.6 추가

Benjamini 방법을 통해 기각역을 정하는 것을 시각화해서 보면 위와 같은 그림이 된다. 기각역을 고정시키는 본페로니나 Holm's의 방법(회색선) 보수적인 기각역을 갖고, FDR의 경우(빨간색선) 어느 정도 false positive를 허용함으로써 너무 보수적이지 않도록 기각역을 조정한다.


참고 : http://t-lab.tistory.com/28

반응형
반응형

PBC 데이터를 통한 생존분석



PBC 데이터 다운받을 수 있는 사이트

http://www4.stat.ncsu.edu/~boos/var.select/pbc.html

http://www4.stat.ncsu.edu/~boos/var.select/pbc.dat.txt


데이터 구조

이 데이터는 D-penicillamine의 약효를 판단하기 위한 데이터이다. 이 약이 더 오랜시간 생존에 도움이 된다는 것을 밝히는 것이 목적이다.

id       = case number
futime   = number of days between registration and the earlier of death,
           transplantion, or study analysis time in July, 1986
status   = 0=alive, 1=liver transplant, 2=dead
drug     = 1= D-penicillamine, 2=placebo
age      = age in days
sex      = 0=male, 1=female
ascites  = presence of ascites: 0=no 1=yes
hepato   = presence of hepatomegaly 0=no 1=yes
spiders  = presence of spiders 0=no 1=yes
edema    = presence of edema 0=no edema and no diuretic therapy for edema;
          .5 = edema present without diuretics, or edema resolved by diuretics;
           1 = edema despite diuretic therapy
bili     = serum bilirubin in mg/dl
chol     = serum cholesterol in mg/dl
albumin  = albumin in gm/dl
copper   = urine copper in ug/day
alk_phos = alkaline phosphatase in U/liter
sgot     = SGOT in U/ml
trig     = triglicerides in mg/dl
platelet = platelets per cubic ml/1000
protime  = prothrombin time in seconds
stage    = histologic stage of disease

여기서 status가 0이면 해당 futime에 censoring된 자료이며, 2이면 futime에 실제로 '발생'이 이루어진 경우로 censoring이 되지 않은 자료이다. status=0,1의 경우 censoring된 자료이다. 생존분석에서는 censoring이냐 아니냐가 중요하기 때문에 이 데이터를 0=censoring,1=not censoring으로 바꾸는 작업을 해주면 좋다. 생존분석에서의 종속변수 Y는 'censoring 여부와' '어떠한 사건이 발생할 때까지의 시간'이 한 세트라고 보면 된다. 다른 여러가지 변수를 통해 이 시간을 예측하는 것이 목적이라고 할 수 있다. 이를 time to event를 예착한다고 한다.


또한 이 데이터의 경우 약이 생존에 어떤 영향을 미치는지를 알아보는 연구이므로, drug를 placebo=0, D-penicillamine=1로 재코딩해주는 것이 좋다. 이렇게 재코딩함으로써 분석할 때 해석의 이점을 볼 수 있다.

 


PBC 데이터 읽어오기

http://www4.stat.ncsu.edu/~boos/var.select/pbc.sas.txt

options nodate nonumber ps=2000 ls=100;
data pbc;
infile 'K:\pbc.dat.txt';
    input id futime status drug age sex ascites hepato spiders edema
            bili chol albumin copper alk_phos sgot trig platelet
            protime stage;
    age = age/365.25;
if _n_ > 312 then delete;
if status=1 then status=0;
run;
proc phreg data=pbc;
model futime*status(0)=drug age sex ascites hepato spiders edema
            bili chol albumin copper alk_phos sgot trig platelet
            protime stage;
run;


SAS를 통한 분석 (Cox Regression)


proc phreg data=pbc;
    model time*delta(0)=drug sex age stage;
run;


Analysis of Maximum Likelihood Estimates
Parameter DF Parameter
Estimate
Standard
Error
Chi-Square Pr > ChiSq Hazard
Ratio

drug

1 0.04474 0.18327 0.0596 0.8071 1.046
sex 1 -0.28166 0.24618 1.3091 0.2526 0.755
age 1 0.02804 0.00927 9.1520 0.0025 1.028
stage 1 0.75390 0.12458 36.6217 <.0001 2.125


이 때, time은 time to event이고, delta는 0=censoing, 1=not censoring이다. (0)은 0이 censoring이라는 것을 나타내준다. 실제로 알아보고 싶은것은 drug와 time(생존시간)의 관계이고, confounding을 없애기 위해 sex, age, stage와 같은 통제변수(control variable)와 함께 분석한다.  cox coxregression에서는 계수 추정치가 log(hazard ratio)의 증가량이므로 이를 exponential 해주면, hazard ratio가 증가하는 비율을 알 수 있게 된다. 예를 들어, exp(0.04474)=1.046 이다.


근데 이를 해석하면 오히려 약을 처방할 수록, hazard가 증가한다는 결론을 얻게된다. 이러한 결론에 관한 한가지 해석은 confounding에 의한 효과라는 것이다. 약을 처방받는 사람들이 대부분 위중한 환자들이기 때문에 이러한 현상이 나타나며, 제대로된 약의 효과를 알아보기 위해서는 더 많은 통제변수가 필요할 것이다.



Cox Regression에서 생존함수 식 유도하기


https://stats.stackexchange.com/questions/270164/how-do-i-interpret-a-cox-hazard-model-survival-curve

반응형
반응형

범주형 자료분석 - 맥니마 검정



 

 

맥니마 검정은 1947년 Psychometrika 이라는 학술지에 처음 발표된 것으로 미국의 심리학자이자 통계학자인 Quinn McNemar에 의해 만들어졌습니다. 맥니마 검정이 어떤 상황에서 쓰이고 무엇을 검정하기 위한 것인지 알아보겠습니다.

 

맥니마 검정은 짝지은 명목형 데이터에서 Column과 Row의 marginal probability가 같은지를 검정하는데에 쓰입니다. 2x2 테이블일 때 적용가능한 방법으로, 즉 변수가 2개일 때 쓸 수 있는 방법입니다. '짝지은' 이라는 말은 두 변수의 값이 서로 연관되어있으며, (동일한 사람에 대해 두 번 측정하거나, 부모-자식 처럼 관련있는 사람들에 대해 측정함) 두 변수의 값을 측정할 때 총 n수가 변하지 않았다는 의미로 볼 수 있습니다. 예를 들어 다음의 데이터를 봅시다.


표1

 

 After: present

 After: absent

 Row total

 Before: present

 59 (a)

6 (b)

65

 Before: absent

 16 (c)

 80 (d)

96

 Column total

75

86

161


위 데이터의 161명의 환자를 대상으로 약을 처방하기 전의 질병의 상태(present, absent)와 처방한 후의 질병의 상태를 나타내는 집계 데이터입니다. 이 집계 데이터의 row 데이터는 아래와 같이 생겼을 것입니다.


Before

After

 present

present

present

absent

....

....


이러한 모양의 행이 161개인 데이터를 집계한 결과가 위의 2x2테이블인 셈입니다. 짝지었다(paired)는 말은 이 경우에는 동일한 사람에 대해 Before와 After을 측정하였으니 이를 짝지은 데이터라고 할 수 있습니다. 또 Before와 After이 범주형이기 때문에 맥니마 검정은 범주형 자료분석의 범위에 속해있는 것입니다. 만약 Before와 After의 변수의 값이 연속형이라면 paired t-test를 통해 before와 after의 모평균의 차가 0인지를 검정할 수 있습니다.


맥니마 검정에서의 귀무가설과 대립가설은 무엇인가?


맥니마 검정에서 검정하고자하는 것은 marginal probability가 같은지를 검정하는 것입니다. 즉, 식으로 pa + pb = pa + pc , pc + pd = pb + pd 으로 표현할 수 있습니다. (이 때 p(a) = a/(a+b), p(b) = b/(b+c) ... 입니다. ) 식을 정리하면 결국, 귀무가설은 pb = pc가 됩니다. 이 귀무가설을 말로 표현해보면 "전체에서 Before:present의 비율과, After:present의 비율이 같은가?" 또한 "Before:absent와 After:present의 비율이 같은가?" 로 표현할 수 있습니다. 공교롭게도 이것은 하나의 식으로 표현가능합니다. 바로 pb = pc 이죠. 이 케이스에서는 약 처방 후 환자의 상태가 유의하게 변했는가? 라고 표현할 수도 있습니다.


귀무가설과 대립가설


{\begin{aligned}H_{0}&:~p_{b}=p_{c}\\H_{1}&:~p_{b}\neq p_{c}\end{aligned}}



검정통계량

\chi ^{2}={(b-c)^{2} \over b+c}. (자유도 = 1)


맥니마 검정의서의 귀무가설과 대립가설, 검정통계량은 위와 같습니다. 이해를 돕기 위해 극단적인 케이스를 살펴보겠습니다.


표2

 

 After: present

 After: absent

 Row total

 Before: present

65

0

65

 Before: absent

0

96

96

 Column total

65

96

161


데이터가 이렇게 생겼다고 해봅시다. 이 경우에 환자는 약의 처방과 관계 없이 이전과 이후의 상태가 완벽하게 같습니다. 따라서 Pb와 Pc의 추정량이 같으며, 검정통계량은 0이 됩니다. p-value를 계산하면 1이되며, 귀무가설을 기각할 수 없게됩니다.


표1

 

 After: present

 After: absent

 Row total

 Before: present

 59 (a)

6 (b)

65

 Before: absent

 16 (c)

 80 (d)

96

 Column total

75

86

161


다시 원래의 표로 돌아가 검정 통계량을 계산해보겠습니다. b=6, c=16이므로 검정통계량은 100/22 = 4.55입니다. p-value는 카이제곱분포에서 4.55이상의 값을 관측할 확률이므로 0.033으로 계산할 수 있습니다. 따라서 marginal probability가 같다는 귀무가설을 기각할 수 있습니다.


참고

http://www.statisticssolutions.com/non-parametric-analysis-mcnemars-test/

http://www.statisticshowto.com/mcnemar-test/

https://en.wikipedia.org/wiki/McNemar%27s_test

반응형
반응형

 


범주형 자료에서 RR, OR을 구할 때, 혼란 변수를 보정하는 한 가지 방법 - 코크란 멘텔 헨젤 방법


앞서 혼란변수가 변수간의 관계를 추론할 때 어떠한 문제를 일으키는 지 알아보았습니다. (http://3months.tistory.com/228) 이러한 혼란 변수는 다양한 방법으로 보정할 수 있습니다. 이번 포스팅에서는 2x2 테이블에서 Relative Risk와 Odds Ratio를 구할 때, 혼란 변수를 보정하여 구하는 방법인 코크란 멘텔 헨젤 방법에 대해 알아보겠습니다.


 

 CVD

No CVD

Total

 Obese

 46

254

300

 Not Obese

60

640

 700

 Total

 106

894

1000


OR = Odds(Obes)/Odds(Not Obese) = (46/254) / (60/640) = 1.93


나이가 혼란변수로 의심되 나이에 따라 Stratification 합니다.

 

Age < 50


 

 CVD

No CVD

Total

 Obese

10

90

100

 Not Obese

35

465

 500

 Total

45

555

600

 

Age >= 50

 

 CVD

No CVD

Total

 Obese

36

164

200

 Not Obese

25

175

200

 Total

61

339

400


Age < 50 : OR = (10/90) / (35/465) = 1.476

Age >= 50 : OR = (36/164) / (25/175) = 1.53

 

Stratification 후에 각각 계산된 OR 값을 통해 혼란 변수로 인해 OR 값이 과추정 되었음을 알 수 있습니다. 이를 감안하여 두 OR 값을 합치기 위한 방법이 바로 코크란-멘텔-헨젤 방법을 통해 공통 OR을 구하는 것입니다.

 

 

 


RR과 OR에 대한 코크란-멘텔-헨젤 추정량은 위와 같습니다. 위 공식에 넣어 공통 OR을 계산하면 1.52를 얻을 수 있습니다.

 

 

 

위에서는 나이 50살을 기준으로해서 단지 2개의 그룹으로 나누었습니다. 하지만 이 기준은 모호하고, 그룹을 세분화하지 않았기 때문에 아직 confounding effect가 남아있을 수 있습니다. 이를 더욱 제거하기위해 아래와 같이 더 세분화하여 그룹을 나눌 수도 있습니다. 이 경우에도 마찬가지로 코크란-멘텔-헨젤 방법의 공식을 통해 공통 OR, RR을 구할 수 있습니다.

 

 

 

 

 

또한 혼란 변수가 보정 된 코크란 멘텔 헨젤 추정량을 얻기 전 OR 또는 RR에 대한 동질성 검정(homogeneity test)을 실행하는 것도 좋습니다. 위 경우에는 두 그룹의 OR 값이 비슷했기에 이를 합쳐 공통 OR을 구하는 것이 합리적인 방법이였지만, 만약 두 그룹의 OR의 차이가 많이 난다면, 따로따로 관계를 해석하는 것이 바람직할 것입니다. 이를 테스트하기위해 사용하는 한가지 방법이 breslow-day test입니다. 이 검정의 p-value가 작으면, 두 그룹의 OR 값이 유의하게 다른것이며, 이 경우에는 코크란 멘텔 헨젤 추정량을 이용하기보다 그룹별로 따로 구한 OR을 각각 해석하는 것이 좋습니다.

참고

http://sphweb.bumc.bu.edu/otlt/mph-modules/bs/bs704-ep713_confounding-em/BS704-EP713_Confounding-EM7.html


반응형
반응형

심슨의 역설(Simpon's Paradox)


심슨의 역설로 유명한 영국 통계학자 에드워드 심슨(1922~)

 

통계학에서의 심슨의 역설이란 그룹을 나누어서 봤을 때는 나타나는 경향이 그룹을 합쳤을 때는 사라지거나 오히려 경향이 역전되는 것을 말합니다. 이는 경향이 역전된다니 그것이 무슨 말일까요?


예를 들어, 신장 결석을 치료하는 두 가지 수술 방법이 있다고 해봅시다. 수술방법 A는 가격이 비싼 대신 치료 성공률이 높습니다. 하지만 가격이 비싸 기 때문에 결석이 큰 중증 환자만 수술방법 A를 택합니다. 반면, 수술 방법 B는 가격이 싸서 비교적 증상이 약하고 결석의 크기가 작은 환자들이 많이 하는 수술방법입니다. 하지만 가격이 싼 만큼 A에 비해서는 치료 성공률도 낮습니다. 이 때, 신장 결석의 크기 별로 수술방법 A와 수술방법B의 치료율을 알아보겠습니다.



작은 결석


 

 수술방법 A

수술방법B

 치료

81

234

 미치료

6

46

 

87

 270


수술방법 A 치료율 = 81/87 = 93%

수술방법 B의 치료율 = 234/270 = 87%


큰 결석


 

 수술방법 A

수술방법B

 치료

192

55

 미치료

 71

25

 

 263

80


수술방법 A 치료율 = 192/263 = 73%

수술방법 B의 치료율 = 55/80 = 69%

결과를 보면 작은결석과 큰 결석 모두에서 수술방법 A의 치료율이 조금씩 높습니다. 그러므로 결론적으로 수술방법 A의 치료율이 높습니다.



작은 결석 + 큰결석


 

 수술방법 A

수술방법B

 치료

 273

289

 미치료

 77

 61

 

 350

 350


수술방법 A 치료율 = 273/350 = 78%

수술방법 B의 치료율 = 289/350 = 83%


하지만 결석의 크기에 따라 치료율을 알아보지 않고 합쳐서 봤을 때는 어떨까요? 이 때, 수술방법 A의 치료 성공률은 273/350 = 0.78, 수술방법 B의 치료 성공률은 289/350 = 0.83입니다. 합치고 보니 오히려 수술방법 B가 더 좋은 것입니다. 이처럼 그룹(결석)을 나누었을 때, 보였던 경향(수술방법A의 치료율이 더 좋다)이 그룹을 합쳤을 때는 오히려 역전(수술방법 B의 치료율이 더 좋다)되는 것을 심슨의 역설이라고 합니다.


그렇다면 왜 이런 현상이 나타날 것일까요? 바로 수술을 받는 환자들의 결석 크기의 분포가 다르기 때문입니다. 서두에도 말했든 수술방법 A는 중증 환자가 받는 수술이기 때문에 큰 결석을 갖고 있는 환자가 많이 받았고, 수술 방법 B는 작은 결석 환자가 많이 받았습니다. 그래서 수술방법 A는 대부분 치료가 어려운 환자를 상대했기 때문에 치료율이 낮을 수 밖에 없는 것입니다.


이를 변수를 도입하여 모델링 해봅시다. 수술방법을 X1, 결석 크기를 X2, 치료 여부를 Y라고 놓아봅시다. 우리가 알고 싶은 것은 X1과 Y의 관계입니다. 하지만 X2는 X1과 Y에 모두 영향을 주면서, (즉 X2<->X1과 X2<->Y가 독립이 아닙니다.) X1와 Y의 인과관계 판단에 영향을 줍니다. 이러한 변수 X2를 우리는 혼란변수(confounding variable)이라고 합니다. 


심슨의 역설은 데이터를 해석할 때는 주의를 기울여야 한다는 교훈을 주었습니다. 왜냐하면 이 경우에는 작은 결석과 큰 결석으로 나눈 데이터를 먼저 보았기 때문에 이러한 결론을 내릴 수 있지만, 실제로 우리가 보는 데이터가 그룹별로 나뉘어진 데이터가 아닐 수도 있기 때문입니다. 그럴 경우에 우리는 '수술방법 B가 더 낫다' 라는 잘못된 결론을 내릴 수도 있습니다. 따라서 데이터를 해석하고 그 안에 숨겨진 인과관계를 추론할 때는 이러한 혼란 변수를 반드시 고려하여 결론을 내려야 합니다.

 


참고

https://en.wikipedia.org/wiki/Simpson%27s_paradox

반응형
반응형

Ecological Fallacy


https://www.britannica.com/topic/ecological-fallacy


Ecological fallacy, also called ecological inference fallacy, in epidemiology, failure in reasoning that arises when an inference is made about an individual based on aggregate data for a group. In ecological studies (observational studies of relationships between risk-modifying factors and health or other outcomes in populations), the aggregation of data results in the loss or concealment of certain details of information. Statistically, a correlation tends to be larger when an association is assessed at the group level than when it is assessed at the individual level. Nonetheless, details about individuals may be missed in aggregate data sets. There are a variety of examples of ecological fallacy; three are described in this article.


In a third example, researchers found that death rates from breast cancer were significantly increased in countries where fat consumption was high when compared with countries where fat consumption was low. This is an association for aggregate data in which the unit of observation is country. Thus, in countries with more fat in the diet and higher rates of breast cancer, women who eat fatty foods are not necessarily more likely to get breast cancer. One cannot be certain that the breast cancer cases had high fat intakes.


우선, 생태학적 연구란 관찰연구이며 risk factor와 health outcome 사이의 관계를 인구집단 단위로 보는 것이다. 생태학적 오류(Ecological Fallacy)란 하지만 이러한 인구집단별 차이가 개개인의 risk-outcome 관계를 추론하는데 실패하는 경우를 이르는 경우를 말한다. 생태학적 연구의 결과는 집단의 평균에 관한 것이며 이를 개인으로 일반화 시키면 안된다는 것을 말한다.


예를 들어, A 국가와 B 국가의 지방섭취량과 유방암 사망률을 조사해서 지방섭취량이 많은 나라가 유방암 사망률이 더 높다는 결론을 얻었다 하자. 하지만 이러한 결론을 개인화화여 "지방섭취량이 많으면 유방암 사망률을 높인다." 와 같이 결론을 내릴 수는 없다. 이 국가중 한 나라를 집어서 개인별로 지방섭취량과 유방암 사망률의 관계를 조사한 결과 이러한 생태학적 연구 결과와 상관없이 지방섭취량과 유방암의 관계는 없었다고 한다. 이처럼 생태학적 연구의 결과를 개인에 적용하면 안되며, 심지어 생태학적 연구의 결과와 이를 개인에 적용했을 때의 결과는 반대일 수도 있다.


그러면 일반화의 오류(hasty generalization)과 생태학적 오류는 어떻게 다를까? (https://enviropaul.wordpress.com/2016/04/03/logical-fallacies-and-the-environment-hasty-generalization-and-the-ecological-fallacy/) 일반화의 오류는 작은 데이터로 전체를 판단하는 오류이다. 이는 집단의 평균적 특성을 개인에 적용하면 안된다는 생태학적 오류와는 다소 다르다.


* 2017/10/17 추가


생태학적 연구로 risk-outcome의 관계에 대해 결론을 내릴 수 없다면 생태학적 연구는 왜 하는 것일까? 이유는 생태학적 연구를 통해 가설을 생성(hypothesis genetraing) 할 수 있기 때문이다. 생태학적 연구를 통해 어떠한 risk가 outcome의 잠재적인 원인이 될 수 있다는 가설을 세울 수 있고, 이를 RCT 등의 연구를 통해 검증할 수 있다. 또한 생태학적 연구의 장점은 비용과 시간이 적게 들며, 개인으로는 쉽게 얻을 수 있는 데이터를 쉽게 얻을 수 있다는 점이다. 예를 들어 개인의 알코올 섭취량과 어떤 질병의 관계에 관한 연구에서, 개인의 정확한 알코올 섭취량을 얻기는 힘들다. (설문지 등을 이용하여야하기 때문에 이로 인해 bias가 생길 수  있음) 하지만, 생태학적 연구를 통해 집단별로 연구를 하게 되면 그 지역의 주류세 등을 이용해 알코올 섭취량과 질병의 관계를 집단 단위로 수행할 수 있게 된다.


반응형
반응형

임상실험은 사람을 대상으로하는 실험이며, 특정 집단을 대상으로 임의로 그룹을 나누고(Randomization), 그룹별로 처치를 다르게 하여, 그룹별 결과의 차이를 살펴 보는 실험이다. 임상실험은 스터디 디자인 중 메타분석을 제외하면 가장 결과의 타당도가 높은 실험이며, 인과성 추론(causal inference)의 강한 증거가 된다.


예를 들어 10명을 대상으로 임상실험을 한다고 하면


실험 참여자 : {1,2,3,4,5,6,7,8,9,10}


이들 중에 5명은 A그룹으로 A약을 처치하고 5명은 B그룹으로 위약을 처치한다고 하자. 그러면 5명을 임의추출 하여 A 그룹으로 그 이외의 5명을 B 그룹으로 나누게 된다. (일반적인 임의 추출법을 사용하는 경우) 예를 들어,


A : {2,3,7,8,10}

B: {1,4,5,6,9}

(randomization이 잘 됐다면 두 그룹에서 confounder의 분포는 기대적으로 같다.)


임상실험의 장점은 다른 관찰 실험들에 비해 Randomization을 통해 많은 바이어스를 제거할 수 있다는 것이다. Randomization을 잘 한다면, 바이어스의 3가지 종류(selection bias, information bias, confounding bias) 모두 감소시킬 수 있다.


하지만 randomization이 잘 안되었을 경우, RCT에도 바이어스가 생길 수 있는데 그 예는 아래와 같다.


  • Selection bias & confounding bias : randomization이 제대로 되지 않았다면, 그룹별로 기본적인 특성이 달라서 생길 수 있다.
  • Information bias
    • Performance bias : 연구자가 그룹별로 다르게 대우한다면 결과에 바이어스가 있을 수 있다. 예를 들어, 신약 임상실험에서 신약을 섭취한 대상의 예후를 좋게하기 위해 더 케어를 해준다면 이런 바이어스가 나타날 수 있다.
    • Reporting bias : 결과가 좋은 환자만을 대상으로 리포팅한다면 바이어스가 생길 수 있다.
    • Attrition bias : 중도 탈락자에 의해 생길 수 있는 바이어스.

이 때, selection bias와 confounding bias는 눈가림법(bliding method)을 사용하고 표본의 수를 늘린다면 어느정도 해결 할 수 있을 것이다. 하지만 Information bias는 사람에 의해 일어나서 막기가 힘든 바이어스이다. (물론 중도 탈락자한테 돈을 지급해 줄테니 실험에 참여해달라고 할 수도 있다.) 이처럼 여러가지 스터디 디자인 중에 증거력이 좋은 임상실험이라 할지라도 결과에 어느정도 바이어스가 있을 수 있다.






반응형
반응형

적합도 검정이란 Goodness-of-fit 검정이라고 흔히 말하며, 데이터의 분포가 특정 분포함수와 얼마나 잘 맞는지를 검정하는 방법입니다. 가장 많이 사용하는게 정규성 검정인데, 모집단의 분포를 정규분포로 가정하고 하는 분석법, 예를 들어, t-test, anova, 회귀분석 등을 할 때, 데이터가 정규분포를 따르는가를 확인하는데 이 적합도 검정이 필요합니다.


적합도 검정에는 여러 방법이있는데 대표적인 것으로 카이제곱 검정과, Kolmogorov-Smirnov 검정이 있습니다. 카이제곱검정은 기댓값과 관측값을 이용한 방법이며, K-S 검정은 누적분포함수의 차이를 이용한 검정법입니다. 아래는 두 검정법를 비교한 표입니다.



Kolmogorov-Smirnov 검정

카이제곱 검정

 연속형 데이터에 사용 가능

 이산형 데이터에 사용가능. 연속형일 경우 그룹으로 묶어야함

 필요한 표본 크기가 상대적으로 작음

 표본 크기가 충분히 커야 정확도가 높음 (작으면 정확검정)

 모수를 추정해야하는 경우 정확도가 낮음

 자유도에 모수 추정된 것이 반영됨

반응형
반응형

크루스칼-왈리스 검정은 모수적 방법에서의 one-way anova와 같은 목적으로 쓰입니다.


대신 그룹별로 평균이 아닌 중위수가 같은지 아닌지를 검정합니다.



A (98,95,76,95,83,99,82,75,88)
B (95,71,80,81,77,70,80,72,81)
C (77,79,91,84,80,93,87,81,83)



예를 들어, 아래와 같은 세 그룹이 있는 이 세 그룹간의 중위수의 차이가 있는가를 알아보기 위하여 쓰입니다.


즉, H0 : A의 중위수 = B의 중위수 = C의 중위수 vs H1 : 최소 한 그룹의 중위수가 다르다.


이를 검정하기 위한 검정통계량은 아래와 같습니다.




이 때 N은 전체 표본의 수이고, ni는 각각의 그룹의 표본 수 입니다. ri는 표본들을 모두 합친 후 순위를 냈을 때의 그룹별 데이터의 순위값입니다. 만약 중위수가 정말 같다면(H0=True) ri의 평균은 비슷할 것입니다. 다르다면 이 값이 커지게 되고, 유의하게 컸을 때, H0를 기각하게 됩니다.


H의 정확한 분포를 구하는 것은 매우 복잡하기 때문에 그룹당 표본수가 충분하면 H가 자유도 (k-1)인 카이제곱 분포를 따른다는 것을 이용하여 검정할 수 있습니다. (이 때 k=그룹의 수)


R 을 통하여 크루스칼 왈리스 검정을 하는 법은 아래와 같습니다.



value1 <- c(98,95,76,95,83,99,82,75,88)
value2 <- c(95,71,80,81,77,70,80,72,81)
value3 <- c(77,79,91,84,80,93,87,81,83)
category <- c(rep("A",9),rep("B",9),rep("C",9))
data <- data.frame(value=c(value1,value2,value3), category)


kruskal.test(value~category, data=data)



결과

Kruskal-Wallis rank sum test



data: value by category


Kruskal-Wallis chi-squared = 5.6972, df = 2, p-value = 0.05793


반응형
반응형

[ 모수 검정과 비모수 검정 비교표 ]

 

 구분

 모수 검정

(Parametric Test)

비모수 검정

(Nonparametric Test) 

 When to use

 정규분포 가정 만족 시

 (normal distribution)

 정규분포 가정 불충족 시,

 혹은 모집단이 어떤 분포를 따르는지 모를 때

 (non-normal distribution, or un-know distribution,

  or very small sample size, or rankded data)

Statisctic

 평균 (mean)

 중앙값 (median) 

 1 sample

 1 sample t-test 

 1 sample Wilcoxon signed rank test

 2 samples

 2 sample t-test

 Wilcoxon rank sum test,  

 Mann-Whitney U-test

 paired 2-sample t-test

 Wilcoxon signed rank test

 more than

2 samples

 one-way ANOVA

 Kruskal-Wallis test



출처: http://rfriend.tistory.com/130 [R, Python 분석과 프로그래밍 (by R Friend)]

[ 모수 검정과 비모수 검정 비교표 ]

 

 구분

 모수 검정

(Parametric Test)

비모수 검정

(Nonparametric Test) 

 When to use

 정규분포 가정 만족 시

 (normal distribution)

 정규분포 가정 불충족 시,

 혹은 모집단이 어떤 분포를 따르는지 모를 때

 (non-normal distribution, or un-know distribution,

  or very small sample size, or rankded data)

Statisctic

 평균 (mean)

 중앙값 (median) 

 1 sample

 1 sample t-test 

 1 sample Wilcoxon signed rank test

 2 samples

 2 sample t-test

 Wilcoxon rank sum test,  

 Mann-Whitney U-test

 paired 2-sample t-test

 Wilcoxon signed rank test

 more than

2 samples

 one-way ANOVA

 Kruskal-Wallis test



출처: http://rfriend.tistory.com/130 [R, Python 분석과 프로그래밍 (by R Friend)]

[ 모수 검정과 비모수 검정 비교표 ]

 

 구분

 모수 검정

(Parametric Test)

비모수 검정

(Nonparametric Test) 

 When to use

 정규분포 가정 만족 시

 (normal distribution)

 정규분포 가정 불충족 시,

 혹은 모집단이 어떤 분포를 따르는지 모를 때

 (non-normal distribution, or un-know distribution,

  or very small sample size, or rankded data)

Statisctic

 평균 (mean)

 중앙값 (median) 

 1 sample

 1 sample t-test 

 1 sample Wilcoxon signed rank test

 2 samples

 2 sample t-test

 Wilcoxon rank sum test,  

 Mann-Whitney U-test

 paired 2-sample t-test

 Wilcoxon signed rank test

 more than

2 samples

 one-way ANOVA

 Kruskal-Wallis test

 

이론적인 부분에 대해서는 wikipedia (☞ https://en.wikipedia.org/wiki/Mann%E2%80%93Whitney_U_test) 를 참조하시기 바랍니다.



출처: http://rfriend.tistory.com/130 [R, Python 분석과 프로그래밍 (by R Friend)]

모수검정과 비모수검정 비교표


구분 

모수

비모수

 언제 쓰이나

검정의 가정을 만족할 때

(주로 모집단의 정규성

 가정 불만족, 작은 샘플 사이즈,

순위로만 된 데이터

 통계량

평균

중위수

 1 sample

1 sample t-test

sign test, wilcoxon signed rank test 

 2 sample

2 sample t-test

wilcoxon rank sum test

mann-whitney u test

 paired 2sample

 paired t-test(1 sample t-test)

sign test, wilcoxon signed rank test

 more than 3sample

 one-way anova

kruskal-wallis test



참고

http://rfriend.tistory.com/130

반응형
반응형