어떤 실험군(A)이 대조군(B)에 비해 통계적으로 유의미한 차이가 있는지 5%유의수준으로 검정결과가 나왔다고 하자. 

이를 토대로  A는 B와 유의미한 차이가 난다. 라고 말할수 있지만 검정군이 3가지 이상 ( ex.. 수백가지 이상, fMRI의 특정 영역의 voxel 들이 다른 영역보다 활성화 되었는가? 를 검정할때) 인 경우, 마찬가지로 5%유의수준으로 유의미함을 말할 수 있을까? 


예를들어, 

실험군이 1000개가 있는 경우를 가정하자, 실험군1이 나머지 실험군 999개 보다 p<0.05 로 유미하게 차이가 난다. 라는 결과를 볼때, 

실험군1이 실험군2과 유의미한 차이가 나지 않으나, 차이가 난다고 잘못 결과를 내렸을 확률(1종오류)은 5%이다. 

실험군1이 실험군3과 유의미한 차이가 나지 않으나, 차이가 난다고 잘못 결과를 내렸을 확률은 5%이다. 

실험군1이 실험군4와 유의미한 차이가 나지 않으나, 차이가 난다고 잘못 결과를 내렸을 확률은 5%이다. 

... 

실험군1이 실험군999와 유의미한 차이가 나지 않으나, 차이가 난다고 잘못 결과를 내렸을 확률은 5%이다. 


999가지의 testing이 있는데 이중에 잘못판단을 내렸을 경우는 999*0.05 =  약50 , 즉 50개의 검정은 잘못되었을수 있다. 

이렇게 다중검정(multiple comparison )에서 발생하는 문제를 다중검정비교의 문제 (multiple comparison problem, MCP) 라고 한다. 따라서 다중검정인 경우 pvalue 0.05로 끝낼것이 아니라, 이 보다 좀더 strict한 잣대로 검정을 해야 한다. 이를 사후 분석(post hoc)이라고 한다. 

사후분석에는 다양한 방법들이 제시되어왔는데(본페로니, 던컨 등등..), 최근(95년에 제시되고, 현재 많이 쓰고 있는 FDR(false discovery rate)를 사용하자. 본페로니는 너무 conservative해서 결과에 너무 strict하다고 한다..


그래서 다중비교문제를 보정한 pvalue를 corrected p라고 한다. 

matlab에서 FDR구하는 코드는

http://www-personal.umich.edu/~nichols/FDR/FDR.m

를 사용하면 된다. 


즉, pval = [ .... ] ; 이런 arrary를 

[pID, pN] = FDR(pval, 0.05) 

이렇게 넣으면 corrected p 0.05에 해당하는 p의 threshold가 나온다

이 threshold밑으로 p를 모두 1로 처리해 주고, 

-log10P 로 보통 표현해서 결과를 나타낸다.(다른 통계량과 달리, p는 낮을수록 유의미 한 것이기 때문.)



댓글을 달아 주세요

unpaired t-test 예제

from 기초통계 2011. 2. 1. 02:21
아래 포스팅에 나온 내용 그대로 적용할수 있는 예제 하나를 해보겠습니다ㅎㅎ 

이것도 출처는 출처 : mlsc.lboro.ac.uk/resources/statistics/Unpairedttest.pdf
입니다

미국에는 많은 종류의 핫도그가 있다고 합니다. 미국을 안가봐서 잘은 모르지만 핫도그가 많을것 같기도 하군요..
우리나라에서는 길에서 파는 소세지에 빵옷 입혀놓고 튀긴 그것을 핫도그라고 하는데 여기서 말하는 핫도그는 왠지 그게 아닐것 같군요... 흐음.. 암튼 각설하고 

beef hotdogs 와 poultry hotdogs 의 칼로리 차이를 비교해 보고 두 핫도그 종류의 칼로리는 과연 차이가 나는지! unpaired t-test 로 검증해 보겠습니다. 

beef hotdog는 20개 샘플수로 칼로리 측정하였습니다. 
poultry hotdog는 17개 샘플로 칼로를 측정하였군요 
그래서 집단은

beef = [186, 181, 176, 149, 184, 190, 158, 139, 175, 148, 152, 111, 141, 153, 190, 157, 131, 149, 135, 132];
poultry = [129, 132, 102, 106, 94, 102, 87, 99, 170, 113, 135, 142, 86, 143, 152, 146, 144];

이렇게 칼로리 측정량이 나왔습니다. 

앞서 포스팅한 순서 그대로 따라가 보지요
mbeef= mean(beef);
mpoultry = mean(poultry);
stdbeef = std(beef);
stdpoultry = std(poultry);

이렇게 계산하여서 
 그룹 샘플사이즈  샘플의 평균  샘플의 std 
 beef 20  156.85  22.64 
poultry  17  122.47  25.48

이렇게 계산되었습니다. 

두 샘플 평균의 차이는

diff_2sample = mbeef - mpoultry; 
34.3794 가 나는군요 

pooled standard deviation 은 psd = sqrt(((20-1)*stdbeef^2 + (17-1)*stdpoultry^2)./(20+17-2));
23.9826 입니다. 
두 평균차의 standard error 을 구해보면 
SEdiff = psd*sqrt(1/20 + 1/17); 
7.9115
입니다. 

이제 T값에 대입해 보지요 
T = diff_2sample/SEdiff;
T값은 4.3455 가 나왔네요 
이것을 가지고 테이블에서 찾습니다. 

찾을때의 자유도는 20+17-2 = 35 입니다. 

P<0.001 이 나왔군요. 그렇다면 충분히 두 핫도그의 칼로리 차이는 없다 라는 영가설을 기각할수 있습니다. 

그렇다면 poultry 핫도그와 beef 핫도그 간에는 명확한 칼로리 차이가 있다고 할 수 있습니다! 

저는 분명히 칼로리가 높은 핫도그가 더 맛나다고 생각합니다.... 


암튼 다음 시간에~


댓글을 달아 주세요

unpaired t-test

from 기초통계 2011. 1. 31. 03:20
오랜만에 다시 통계공부.. 기초나 부지런히..  자꾸 삽질만 하니 스킬은 느는것 같은데 공부가 안는다..-_-;; 
시작~

1. Introducation
unpaired t-test는 2-sample t-test 와 같은말이다. 어떤 2개의 집합간의 평균을 기준으로 비교하여 어떤 집단이 다른 집단에 비해 의미있는 구분점(차이)를 가지는지 알아보는것이다. 
어떤 큰 집단에서 A, B 두가지 표본을 뽑았다.  두 표본을 뽑은 기준이 다를 때, 내가 사용한 기준이 어떤 집단을 구분할수 있는 의미있는 특징이 되는지 알아보는것이다. 
샘플의 숫자도 다르고 하면 평균만으로 비교할 순 없다. 또, 얼만큼 차이가 나야지 통계적으로 유의미한지도 알 수 없다. 
쉽게 말해 집단을 t-분포로 바꾸고 t값을 비교함으로서 어느정도의 유의 수준에서 얼만큼 차이가 나는지 판단한다고 할 수 있겠다

 Group sample size  sample mean  sample standard deviation 
n1 m1  s1 
n2  m2  s2 

라고 노테이션을 쓰자.

2. Procedure for carrying out an unpaired t-test
두 그룹 1, 2 가 있다. 두 그룹이 차이가 나는지 안나는지 알아보기 위해서 하는 과정이니, 널 가설은 두 그룹의 means가 같다 라는 것으로 설정한다. 
a. 두 그룹의 sample의 평균의 차이를 계산한다. m1-m2
b. pooled standard deviation 을 계산한다.

c. 두 mean의 차이의 standard error  을 계산한다.


d. T값을 계산한다. 

   널 가설에서 이 t분포는 n1+n2-2 의 degree of freedom 을 가진다.
e. 이제 T 값이 계산되었다.
    이 T값에 해당하는 p-value 을 찾으면 된다.(주어진 자유도에서)


다음포스팅은 이거 그대로 사용한 예제!! 

이 내용은 내가 만든게 아니고 어디서 베낀것
출처 : mlsc.lboro.ac.uk/resources/statistics/Unpairedttest.pdf






댓글을 달아 주세요

간만에 난 짬을 통해서 통계공부를 다시 해봅시다. 

정상분포를 이용하여, 가설검증의 간단한 예제를 풀어보겠습니다. 이 예제는, 행동과학을 위한 통계학 이라는 책에서 퍼온것입니다. 

GRE(graduate record examination)시험이 있었습니다. 이 시험의 언어영역의 평균은 489점이고 표전편차는 126점 이었습니다. 그런데 지원자중에서 한국식 이름을 가진 지원자가 있었습니다!! 제이름 장*원 처럼 말이죠!ㅋㅋ 그런데 이 학생의 언어점수는 220점으로 매우 낮은 겁니다.ㅠ 그랬을 때, 이 지원자는 모국어가 영어일까요? 아니면 한국어와 같은 외국어(미국시험이니까 미국기준으로)일까요? 외국인이라면 언어점수가 낮더라도 이 학생은 지원한 대학에서 수학이 가능하다고 판단할 수도 있지만 만약 모국어가 영어였다면 이 학생은 사실, 언어영역 점수만으로도 떨어뜨리기에 충분하지 않겠습니까? 그래서 이런 논의가 필요하다는것이죠 ( 물론 책에서 이렇게 말합니다..)

그렇다면 가능성은 두가지 입니다. 
1. 이 학생의 모국어는 영어이다. 
2. 이 학생의 모국어는 영어가 아니다. 

이 두가지 가설에 대해 합리적인 결론을 내리기 위해 영가설을 세우기로 합니다. 
영가설, Ho: μ= 489 이런 영가설을 세웁니다. 
영 가설을 검증해서 기각된다면 대립가설인 μ≠489 라는 결론을 내릴 수 있는것이고, 이는, 이 학생이 추출될때, 평균이 489인 집단에서( 모국어를 영어로 사용하는 집단에서) 추출되었을 확률은 0.05 보다 작다고 말할 수 있는 것입니다
( μ= 489  인 집단이 모국어가 영어인 집단이고, μ≠489  이 모국어가 영어가 아닌 집단 입니다.)

그렇다면 이 경우엔, 일방검증을 해야 할까요? 아니면 양방검증을 해야 할까요? 일방검증을 해야 합니다. 왜냐? 이 문제에서, 양방검증을 하게 되면 모국어가 영어가 아닌 학생이 모국어가 영어인 학생보다 영어시험의 성적이 더 높다 라는 기대를 하기란 어렵기 때문이죠. 
따라서 대립가설은 
H1  < 489 라는 대립가설을 세웁니다. 

이제 영가설이 참일 때 어떤 학생이 적어도 220점을 맞을 확률을 계산해 봅니다.  우선 원점수 220에 해당하는 표준점수 (z score) 를 계산합니다. 

이제 z점수를 보여주는 표를 찾아서 z값이 -2.13보다 작거나 같을 확률을 계산해 봅니다. (표를 찾아요). 표에서 이 확률이 0.017 이라는 것을 알 수 있습니다. 유의도 수준 p<0.05 보다 이 확률은 작게 됨으로 이 학생은 모국어가 영어인 집단에서 추출되었을 확률은 0.017로 매우 작은 겁니다. 그래서 영가설을 기각 할 수 있고, 이 학생은 모국어가 영어가 아닌 학생일것이라고, 유의도 수준 0.05에서 말 할 수 있습니다. 




'기초통계' 카테고리의 다른 글

unpaired t-test 예제  (0) 2011.02.01
unpaired t-test  (0) 2011.01.31
정상분포를 이용한 가설검증의 예  (0) 2010.11.29
아주 간단한 one-sample t-test (단일표본 t검증)  (1) 2010.11.08
Student 의 t분포  (0) 2010.10.25
가설검증  (0) 2010.10.25

댓글을 달아 주세요

오랜만에 다시 시작된 통계공부 를 해봅시다 

석사 초년짬밥을 이제 떼고자 노력하는 저는 무수히 t-test라는 말을 들었습니다. (연구실와서...)
통계라곤 전혀 모르던 상태라, 연구실에서 흘러나오는 단어중 시급해 내가 알아먹도록 해야할것이 t-test 같았습니다.. 

먼저 아주 심플한 t-test 예제 (제가 가지고 있는 책에 나오는것이예요..)
t-test라는게 어떤 테스트를 한다는 의미인줄 알고 어떤 equation을 돌리는 거지? 라고 생각만 했었는데 
막상 알고 보니,  
t-distribute로 바꾸어서 도출된 t-값의 의미정도를 p-value로 살펴보는 것이 었습니다. 

어떤 반의 수학 점수가 이렇습니다.

score = [58 48 48 41 34 43 38 53 41 60 55 44 43 49 47 33 47 40 46 53 40 45 39 47 50 53 46 53];

총 100문항이었다고 하고, 한문항당 선택지는 5개 였습니다.


그러면 이 학생들이 과연 풀었느냐 아니면 단체로 다 찍기만 한것이냐를 알아보는 t-test를 해 보지요 

그냥 찍었다면 우연히 100문제중 20개를 맞추었다고 기대 할수 있습니다. 

아주 잘 찍었다면 20개 보다 더 많이 맞추었겠지요 

그래서 Null 가설을 μ ≠ 20 이라고 하고 , μ= 20 임을 검증하는 것입니다. 


score의 평균은 46.2143

std는 6.7295

n = 28 임을 알고 있지요 


따라서, 



t값은 20.61입니다.. t값이 20.61이면 α = 0.05 27df에 대하여 양방향 t 임계치 2.052를 구하게 되지요. 

이것의 확률은 경계치는 0.05보다 훨씬 작으므로 영가설을 기각할수 있고 학생들이 우연으로 찍은것 보다 더 잘 수행 한다고 결론을 내릴 수 있습니다. 


cf. t값을 z값으로 취급하여 Z표를 보고 찾는것은 아닙니다.  t 자체를 t 분포에 따라서 평가해야 합니다. t의 분포는 알다시피, 자유도에 따라 분포가 변하고, 자유도가 무한대일 정우 z분포와 같아지죠.. 




'기초통계' 카테고리의 다른 글

unpaired t-test  (0) 2011.01.31
정상분포를 이용한 가설검증의 예  (0) 2010.11.29
아주 간단한 one-sample t-test (단일표본 t검증)  (1) 2010.11.08
Student 의 t분포  (0) 2010.10.25
가설검증  (0) 2010.10.25
T-test ( two-sample T-test)  (0) 2010.10.24

댓글을 달아 주세요

  1. fruithoo 2014.04.30 01:13  address  modify / delete  reply

    잘 읽었습니다. 많이 헷갈려서 고민이 많았었는데, 덕분에 많은 고민이 사라졌습니다.

Student 의 t분포

from 기초통계 2010. 10. 25. 23:21
통계공부를 계속해 봅시다
Student의 t분포는 Student라는 익명으로 W.S. Gosset가 개발한 이론적 상대빈도분포 입니다.

z 대신에 t를, σ 대신 s를 사용한다는 것만 제외하면 이 공식은 표준정상분포에서의 공식과 동일 합니다.
(일반적으로 모집단의 표준편차는 σ(시그마)로, 표본의 표준편차는 S(에스)로 나타내지요.)
여기서 t분포와 표준정상분포는 공식은 동일하지만 다릅니다. 뭐가 다르냐 하면,
s가 계산된 표본의 크기에 따라서 상이한 t분포들이 존재하는 것이지요

적절한 t분포의 표본의 크기는 N, 정확히는 자유도 (degree of freedom)인 N-1 에 의해서 결정되지요
자유도가 증가함에 따라, t분포는 점차 표준정상분포에 가까워져 갑니다.
자유도가 (표본의 크기)가 이론족으로 무한하다면 t분포와 표준 정상분포는 동일하게 되는 것이지요


그림출처는 http://projectile.sv.cmu.edu/입니다 .

'기초통계' 카테고리의 다른 글

unpaired t-test  (0) 2011.01.31
정상분포를 이용한 가설검증의 예  (0) 2010.11.29
아주 간단한 one-sample t-test (단일표본 t검증)  (1) 2010.11.08
Student 의 t분포  (0) 2010.10.25
가설검증  (0) 2010.10.25
T-test ( two-sample T-test)  (0) 2010.10.24

댓글을 달아 주세요

가설검증

from 기초통계 2010. 10. 25. 14:13
통계공부를 해 봅시다.

가설(Hypothesis)이란 통계적 과정이 검토하고 그 진위나 타당성을 결정하게 되는 전집 내의 상황에 관한 진술입니다.

어떤 집단을 두고 약물을 투여하였을때, 그 약물이 효과가 있나! 또는 없나! 를 가지고 가설을 세우고 이를 검증하는 예를 들어봅시다.

먼저 가설은 두가지 세울수 있겠지요, 먼저, 약물은 효과가 있다, 그리고, 약물은 효과가 없다.
이 두 가설은 상반적 또는 상호배타적 (mutually exclusive)입니다.
둘중에 하나가 잠정적인 참으로 가정이 된채로 시작됩니다. 일단 약물은 효과가 없다! 가 잠적적인 참이라고 하겠습니다.
그럴때,

약물은 효과가 없다! 라는 가설이 영가설(Null hypothesis)가 되는 것이죠, 그리고 약물은 효과가 있다! 가 대립가설(alternative hypothesis)가 됩니다.
관습적으로 영가설은 Ho, 대립가설은 H1으로 표시한다고 합니다.

다시 한번 말하자면 영가설이 참인것으로 간주되고, 통계절 절차에 의해서 이 영가설이 참인지 혹은 거짓인지 판별되는 것입니다.
영가설만이 잠정적으로 유지되다가 기각되거나 기각되지 않거나 하는 것이죠.

그렇다면 통계처리를 하는데, 통계의 결과가 어느 수준까지 도출되었을 때, 이 영가설이 기각될것인지, 기각되지 않을 것인지 정해야 합니다. 그 기준이 α(에이가 아니라 알파입니다) 로 표기되는 유의도 수준입니다(또는 의의도 수준 significance level 또는 임계수준 critical level 이라고 말합니다) 이것은 영가설을 기각 하냐 기각하지 않느냐의 경계를 이루는 경계치 인 것이죠.

일반적으로 행동과학 연구에서는 알파값으로 0.05를 취한다고 합니다. 즉 알파값이 0.05는 (유의도 수준 0.05)는 이런것을 의미하지요
"관찰된 평균치가 비약물집단에서 얻어질 확률이 5%보다 작을 정도로, 측정된 표본이 전집의 평균치와 충분히 다르지 않다"면 연구자들은 영가설의 타당성을 인정하는 것입니다.

그러나 약물집단에서 관찰된 평균치가 비약물 집단에서 얻어질 확률인 5%보다 작다면 약물이 효가가 없다는 영가설은 기각되고 아마도 약물이 어떤 영향을 미쳤다고 결론을 내리는 것입니다.

이 결과는 "0.05 수준에서 유의하다" 라고 말하며 (significant at the 0.05 level) "P < 0.05" 라고 표기합니다. 
p는 영가설이 타당하고 볼때 그런 결과가 얻어질 확률을 의미 합니다. 

'기초통계' 카테고리의 다른 글

unpaired t-test  (0) 2011.01.31
정상분포를 이용한 가설검증의 예  (0) 2010.11.29
아주 간단한 one-sample t-test (단일표본 t검증)  (1) 2010.11.08
Student 의 t분포  (0) 2010.10.25
가설검증  (0) 2010.10.25
T-test ( two-sample T-test)  (0) 2010.10.24

댓글을 달아 주세요

T-test ( two-sample T-test)

from 기초통계 2010. 10. 24. 01:56
2-sample T-test 는 두 그룹간의 평균을 기준으로 차이에 의미를 부여 하는 방법이다.
단지 평균만 가지고 차이를 비교한다고 하면 아래와 같은 경우, 의미있는 비교가 되지 않을 수 있다.
1)



2)


먼저 1)번 그림은 평균은 각각 16, 24이고 variance 는 두 분포 모두, 2이다.
2)번 그림은 평균은 1번과 같이 16, 24이고, variance 는 두 분포 모두, 4 이다.

1번 그룹에서의 두 분포의 평균차와 2번 그룹에서 두 분포의 평균차는 같지만 둘은 상당히 다른 의미를 가진다.
게다가  분산이 점점 더 커질수록 평균 차이의 의미를 점점 적어진다 .

분산을 고려하여 두 집단의 평균을 비교하는 방법이 T-test이다.
T-test 의 공식을 보면 분자/ 분모의 비로서 정의 되어 있다 .
보면,
T -value = (Difference between group menas) / (variability of groups)  
   =


- Formula for the standard error of the difference between the means.



즉,

이렇게 정의 되어 진다.
T값은 두 집단의 평균의 차이를 두 그럽 평균차이의  standard error 로 나눈것이 된다.
 
예로,
두집단, y1, y2를 만든후에.

y1 = 16 + 2*randn(10000,1);

y2 = 24 + 2*randn(10000,1);


t-test 를 하면,

[h p ci stats] = ttest2(y1,y2)


h =

     1

p =

     0

ci =

   -8.0571

   -7.9463

stats =

    tstat: -283.0185

       df: 19998

       sd: 1.9992


t -값은 -283.0185 가 나오고 null hypothesis 는 인정되었다.


반면,

y3 = 23.99 + 4*randn(10000,1);

y4 = 24 + 4*randn(10000,1);


이렇게 y3, y4 집단을 설정하고 t-test하면 ,

h2 =

     0

p2 =

    0.2829

ci2 =

   -0.0500

    0.1711

stats2 =

    tstat: 1.0738

       df: 19998

       sd: 3.9889

널 가설이 기각됨을,,  확인 할 수 있다.


'기초통계' 카테고리의 다른 글

unpaired t-test  (0) 2011.01.31
정상분포를 이용한 가설검증의 예  (0) 2010.11.29
아주 간단한 one-sample t-test (단일표본 t검증)  (1) 2010.11.08
Student 의 t분포  (0) 2010.10.25
가설검증  (0) 2010.10.25
T-test ( two-sample T-test)  (0) 2010.10.24

댓글을 달아 주세요