2016년 2월 19일 금요일

아빠가 들려 주는 [통계] 짝지은 자료의 분석(1) McNemar test

 
짝지은 자료의 분석은 기본적으로 3가지 통계법을 사용합니다.
Paired t-test 삼총사, McNemar test, Wilcoxon t-test
(알고보면 더 많지만 일단은….)
이른바 “Paired t-test 삼총사입니다. 누가 이렇게 말했느냐?
제가 말했기 때문에 딴데가서 이런 식으로 말하면 안되고,
그냥 느낌으로만 알고 있어야 할 단어입니다.
당연히 Paired t-test 가 포함되고, 더불어 McNemar test Wilcoxon t-test가 있습니다.


 
예를 들어 보죠.
홍길동이 나이가 들어서 관절염이 생겼고, 각각 오른쪽 다리 왼쪽 다리에 다른 치료법을 사용하였습니다.
그래서 그 결과를 이런 식으로 표현하였습니다.
한편 성공하기도 하고, 실패하기도 했는데,
여러 사람에게서 이런 결과를 얻었습니다.
이 둘 중에서 어떤 치료법이 좋은지 알아 보려고 합니다.


 
동일한 결과를 이렇게 길게 세로로 길게 표현할 수도 있습니다.
사람이 아주 많다면, treat_A를 하고 나서 1년쯤 지나서 treat_B를 한다면,
위의 폼처럼 만들려면
다시 홍길동을 찾아야 하지만,
아래 표처럼 그냥 한줄로 기록한 다음 나중에
바꾸는 것이 더 편할 수도 있을 것입니다.
위의 양식을 wide form이라고 하고,
아래 양식을 long form이라고 합니다.
아니, 위의 것이 더 wide 하지 않습니다.
라고 말씀하시는 분도 있겠죠.


 
그런데, 조금 더 확장해서, 치료 방법이 더 누적되어 3, 4..
이런 식으로 결과가 있다면,
그 이름의 의미가 더욱 명확해 집니다.
, wide form은 더 wider 해 지고,
Long form은 더 longer 해 집니다.
일단은 우리는 다시 가장 단순한 구조로 살펴 보겠습니다.


 
그런데 간혹 이런 경우가 있는데,
홍길동의 쌍둥이(형제)가 있어서, 쌍둥이(형제)간에
treat_A 혹은 treat_B 이런 식으로
다른 치료를 하는 연구를 할 수도 있겠지요.
이런 식의 연구는 홍길동의 쌍둥이이기 때문에
많은 조건들이 일치하므로, 짝지어진 자료라고
부릅니다.
많은 조건들이 일치하지만, 똑같지는 않죠.
이런 경우에는 wide form은 좀 표현하기 어렵습니다.
홍길동에게도 나이, 체중, 등등 기록할 것들이 많이 있고,
홍길동2에게도 역시 기록할 것이 많아서,
Long form이 더 적격합니다.
만일 홍길동 쌍둥이가 아니라,
홍길동 형제라면 어떨까요?
형제간 연구도 마찬가지로 long form이 더 입력하기가 편리하고
부부간 연구도 그렇습니다.
그런데 (간단한) 통계를 돌리기에는 wide form이 더 편하고
이해하기도 편합니다.
어쨌든 두 가지 모두 익숙해지면 좋고,
나중에는 상화 변형을 쉽게 할 수 있도록
하는 것이 좋습니다.
 
이제 가장 간단한 형태로 이렇게 자료가 모아 졌다고 합시다.
양 다리의 수술 결과라고 할 수도 있고,
쌍둥이 또는 형제의 결과라고 할 수도 있습니다.
아 그리고, treat 대신에 condition이라고 넣어도 됩니다.


 
제가 만들어 둔 엑셀 파일에 이렇게 넣어 보겠습니다.
(1)의 노란색 칸에 결과를 넣으면, (2)표에 연두색 칸에 그대로 옮겨지고, 그 아래에
오즈비(OR), 위험차(RD) p값이 구해지게 됩니다.
결과적으로 p>0.05이며 유의하지 않은 결과이군요.
보통, (2)와 같은 2x2 table로 표현하는 경우가 많은데,
저는 그것보다는 세로로 된 (1)의 표로 표현하는 것을 권장합니다.
왜냐하면 카이제곱 검정에서 쓰인 2x2와 혼동될 수 있어서 입니다.


참고로 이건 위키피디아에서 나온 McNemar test의 예입니다.
NEJM의 예에서 잘못된 예를 보여줍니다.
, Hodgkin 병과 tonsillectomy의 연관성을 보여주는데,
형제에 대해서 검정한 것입니다.
무엇이 잘못되었냐 하면,
병에 걸린 사람과 걸리지 않은 사람이 독립된 것이 아니라,
형제 간에 연구한 것이기 때문에, 카이제곱 검정을 하면 안되고,
McNemar test해야한다는 것이 주장입니다.
이것은 John Rice라는 분이 쓴 책에 나온 것을
위키피디아에서 인용한 것이고요,
이 예는 McNemar test 강의 때에 다른 사람들도
자주 인용하는 것같습니다.

2016년 2월 17일 수요일

아빠가 들려 주는 [통계] Agreement : Overall, Positive, Negative agreement

 
일치도를 검토하는데 있어서 가장 많이 사용되는 것이
Kappa 입니다.
대부분 통계 프로그램에서 가능하죠.
그리고, 또 많이 사용되는 것이
이것입니다.
그런데, 이것은 통계프로그램에서 해주는 것을
아직 저는 발견하지 못했습니다.
그래서 만들어 보았습니다

 제가 만드는 엑셀 파일이 늘 그럿듯이,
노란 칸에만 숫자를 넣으면 되고, 
빨간 것이 계산되는 것입니다. 
다른 것도 계산되는 것이지만, 
특히 중요한 것을 빨간칸으로 한 것입니다. 
논문에서 본문에 기입할 것은 
녹색으로 해 두었습니다. 

신뢰구간, 기본적으로 95%이지만, 
90%라든지 바꾸고 싶을 때는 숫자를 바꾸시면 되겠습니다.
 공식은 이렇게 나옵니다. 
꼭 모르셔도 됩니다. 
통계하시는 분들께서 연구 열심히 하셔서 만드신 것들이라...
빨간색은 좀 가독성이 좋도록 하기 위해서 
중요 부분만 표시한 것입니다.

아마도 엑셀 2007은 이 공식이 안보일 수도 있습니다. 
엑셀에서 수식이 가능한 것은 2010부터입니다.

중간에는 근거나 되는 글 및 저자들 이름이 있습니다. 
물론 이공식 말고 다른 방법 공식 있습니다. 
통계학자분들께서 열심히 만드시느라 종류가 많습니다.

더 읽고 싶으시다면, 
링크를 열어 보셔서 공부하셔도 좋겠습니다. 
엑셀 파일은 
네이버 블로그에 링크 시켜 두겠습니다. 

http://blog.naver.com/kjhnav/220629967821

구글블로그는 파일 첨부가 안되는군요.

2016년 2월 16일 화요일

아빠가 들려 주는 [통계] Overlapping Method : p값의 대안이 될까?

 p 값의 대안인 듯하면서도, 
사실 아주 단순한 발상에서 시작한 이 방법은
유쾌합니다. 
그리고, 늘 그러하듯 다른 방법을 생각한다는 것은 
늘 해왔던 원래의 방법이 무엇을 의미하는지
다시 일깨워 줍니다.

 이렇게 A,B 두 군에서 각각 200명의 사람에게서 
치료가 된 사람이 112명, 88명이 생겼다면, 
뭔가 두 치료법 사이에 차이가 있지나 않을까?
라는 생각을 하게 됩니다.

 우선 치료율이 44% 음... 56%  역시나 차이가 꽤 있는 듯한데, 
치료율(성공율)의 95%신뢰구간을 구해 보았더니
(빨간 상자 참고)
앗, 신뢰구간이 서로 겹치는 군요. 
음. 그렇다면 차이가 없다는 말!
아깝다...
 보다 전통적인 방법으로 생각해 봅시다.
빨간 상자에서 보여 주는 것은 각각 
RD의 95% 신뢰구간 0을 포함하지 않음-->의미있음
OR과 RR의 95% 신뢰구간 1을 포함하지 않음-->의미있음

피어슨, Yates의 카이제곱과 Fisher exact test의 결과 
(빨간 점선)
p<0.05
의미있는 차이임. 

이렇게 평가하는 것이 보통 하는 평가이죠. 
이때의 귀무가설은 RD=0 또는 RR=1이 됩니다. 
구체적인 과정은 오늘의 주제는 아니고요. 

이렇게 후자의 방법이 보통 해왔던 방법인데, 
전자의 방법은 어떤가요?

이에 대한 연구를 한 분이 있어서 한번 대충 훑어 보죠.
 이런 제목입니다. 


이런 논문에서 이 overlapping 방법이 쓰였다고 하는군요. 
이것에 대해서 선행 연구들이 이렇게 있었군요. 
이것은 하나의 예입니다. 위에서 제가 보여 드린
그 숫자입니다. 구체적인 공식은 여기 나와 있고요, 
저는 인터넷에서 계산해서 보여 드렸습니다. 
공식 보여 드리면 힘드실까봐.
결과 숫자는 같습니다.
type 1 error는 오히려 적습니다. 더 보수적인 결과이죠. 
위의 예제와 같습니다. 
즉, 유의하지 않다고 나올 가능성이 많다는 뜻.
이것은 power.
power도 더 낮습니다.  



결론입니다. 
해석은 여러분께 맡기겠습니다. 

사실 제가 이 방법으로 ICC를 비교한 적이 있습니다. 
두 ICC를 비교하는 것이 통계 프로그램에서 안되길래
(R이나 SAS는 될지도)
보다 보수적인 방법이니까..
차이가 있다고 하는 경우는 쓸 수도 있겠다는 생각이 드는군요. 

그렇지만, 함부로 쓸 생각은 마시고요. 
일반적인 방법이 안될 때만 살짝...

아빠가 들려 주는 [통계] Kappa는 샘플이 중요해!

 Kappa는 샘플이 중요해!
사실 그냥 Kappa만 말하면 심심할 것같아서, 
또 왜 이런 공식이 생겼는지를 생각해 보기 위해서 
이런 주제로 말씀드려 보겠습니다.
 이건 저의 통계학 책으로 첫 책인 
"한눈에 쏙쏙 의학 통계 배우기"의 한 페이지 입니다.
여기에서 한쪽으로 다루었던 내용이죠.
오늘은 이 이야기를 자세히 하려는 것입니다.



위의 왼쪽과 같이 결과가 나왔습니다. 
가슴 사진 100명을 찍었는데, 폐 결핵이 이렇게 나왔습니다. 
두명의 의사가 보니, 
환자 2명은 의사 둘다 양성 결과,
환자 91명은 의사 둘다 음성 판정이었습니다. 
7명의 환자는 의사가 서로 다른 의견이었습니다. 

여기까지는 그냥 알 수 있는 겁니다.


 이게 이렇게 일치된 것을 빨간색으로 표시했습니다. 중요하니까..
그리고,우연에 의해서 일치된 것을 알기 위해서
오른쪽 표를 만듭니다. 
여기서 3은 5x6/100 입니다.
이런 식으로 4개의 칸에 모두 우연에 의한 기대값을 넣습니다.

그리고 '관찰된 일치'는 각각 식을 보시면 알 수 있습니다. 

그리고 제일 아래에는 이런 '관찰된 일치'에서 
'우연에 의한 일치'가 차지하는 것을 
빼 주게 됩니다. 

아주 단순한 방법이죠. 

위의 결과를 보면
대충 보았을 때, 
결핵이 100명중에 아마도 최소 2명 또는 최대9명이 될 것같죠? 
이렇게 양성율이 적은 경우에는 
우연에 의한 일치가 높아지기 때문에 kappa값이 클 수가 
없게 된다는 말씀입니다.


이글은 "dBSTAT 길들이기" 229쪽, 230쪽에
 그냥 잡담비슷하게 쓴 글인데요..
혹시 동무이 될지도 몰라서 옮기겠습니다.

------------------------------
 또 다른 예로, 장난감 칼과 진짜칼이 있습니다. 
보통 칼이라면, 고기도 자를 수 있고, 
과일 정도도 자를 수 있습니다. 

샘플로 두부부터 쇠파이프까지 골고루 있다면, 
아마 장난감 칼과 진짜칼이 구분이 될 겁니다. 그런
데, 딱딱한 파인애플 같은 것이 주로 있다면, 아마 진짜칼로 상당수는 자르기가 힘들고, 
장난감 칼은 혹시 썩은 파인애플이 있으면 자를 수 있을지도 모릅니다. 
한 마디로 샘플이 적절해야 구분해 낼 수 있다는 것이지요. 

수능시험칠 때마다 
이번 수학시험은 너무 쉬워서 만점자가 몇 명이 나오고, 
변별력이 없다는 등의 말을 합니다. 
그런데, 그 시험이 변별력이 있는지 없는지
어떻게 테스트 할까요? 
실력이 골고루 있는 사람들을 대상으로 테스트 해 보아야 알 수 있습니다. 
우등생들만 골라서 테스트 해보면 그 시험문제지는 
고득점자가 많이 나와서 차이를 알 수 없고, 
그 반대로 열등생들만 모아서 시험을 쳐도
 마찬가지 상황이 됩니다. 
즉, 시험문제지를 테스트 해보기 위해서는 
학생들도 골고루 잘 골라야 한다는 것을 이해하실 수 있으시죠?

요약하면 test의 일치도를 파악하려고 하면, 
검사하는 샘플도 잘 선택해야 한다
는 것입니다.
-------------------------------
이처럼 샘플이 한쪽으로 치워져 있으면 당연히 
일치도가 높게 나오기 때문에 변별력이 없는
일상생활의 경험을
그대로 간단한 산수로 옮겨 놓은 것이
kappa입니다.

그렇게 보면 통계는 역시 멀지 않고 가까이
있습니다.
우리가 그럴것같은 그것을 어떻게 
객관적으로 표현해 주는 그것..
그것이 수학이고 통계이지 않을까요?

아빠가 들려 주는 [통계] Boxplot 개념과 개선?

 Boxplot은 아마도 가장 많이 사용되는 plot이 아닐까 생각됩니다. 
상자 수염 그림(box whisker plot)으로도 불립니다.
상자 위 아래로 수염이 있어서 그렇습니다.

사실 이 수염은 전체 분포의 25%를 차지하고, 상자 하나도 25%를 차지합니다. 
그래서, 두 상자 사이는 중앙값 median이 됩니다.
이 상자 그림을 보면, 총 5개의 값을 직관적으로 알 수 있지요. 

 간혹 이런 십자가가 가운데 있기도 합니다. 
배꼽인가? 

 이것은 평균입니다. 평균은 중요하니까 한번 표시해 줍니다. 
그리고,수염 위 또는 아래에 점이 있기도 합니다. 
이것은 이상값을 말해 줍니다. 

두 상자의 위 아래의 간격을 사분위범위(IQR, inter quartile range)라고 부르는데,
상자 경계에서, IQR의 1.5배 이상 벗어나면 이상값이 됩니다.

 때로 어떤 경우는 3배이상이면 이상값,
1.5배 이상이면 suspected outlier라고 하기도 합니다.

또 이렇게 잘록한 것을 
notched boxplot이라고 합니다. 
중앙값의 95% 신뢰구간을 보여 줍니다. 
이렇게 위 아래로 각각 범위가 있는 것이죠. 
대신 이 범위는 위 아래 대칭입니다. 
공식은 위에 있는 것과 같습니다. 

어떤 경우는 이렇게 notch가 커서 상자를 모두 깍아 먹기도 합니다. 
왜 그럴까요?
보통 N수가 적어지면 그렇습니다. 
위의 공식을 보시면 이해 되시죠?
R 같은데서 잘 그려 줍니다. 

여기까지는 공식적으로 많이 알려 진 내용이고요,
 이 다음부터는 저의 이야기 입니다. 
뭐 꼭 안보셔도 됩니다만..
 보셔도 손해 볼 것은 없습니다. 

 이 boxplot의 단점은 수염이 직선이다 보니 
상대적으로 너무 분포가 작을 것같은  착시를 일으킵니다.
또 상자 하나는 같은 n을 가지고 있는데, 
작은 상자는 작기 때문에 분포에 착시를 일으킵니다.
(1)의 그림보다는
(2) 그림이 더 분포를 잘 보여준다
고 저는 생각합니다. 
이 4 상자는 모두 면적이 같습니다. 
사실 이것은 (3)그림하고도 비슷합니다. 
이것은 히스토그램하고도 약간 비슷해 보이죠?
어쨌든 
저는 boxpot이 (2)처럼 바뀌는 것이 더
편하고 분포를 잘 보여 준다고 생각합니다.


극단적으로 (4)에서처럼 수염이 짧으면 
마치 별것없는 것처럼 느껴지지만
실제로 분포는 
(5)처럼 아래쪽에 극단적으로 많이 몰려있는 비대칭적인 구조임을
새로운 boxplot이 더 잘 보여 줍니다. 

혹시 누구 여유있으신 분은 
R 패키지 만들어 주시면 감사하겠습니다. 

2016년 2월 15일 월요일

아빠가 들려 주는 [통계] McNemar test가 일치도 검사에?





 McNemar test를 이용해서 일치도를 본다고 일부 책
 (아주 널리 보고 있는 SPSS 책이었는데, 굳이 밝히지는 않겠습니다.)
이나 논문에서 이야기하고 있습니다.

 이런 결과가 나왔다고 합시다. 
즉, 두 검사 모두에서 양성이 나온 사람 200명, 
두 검사 모두 음성으로 나온 사람 150명이 있었고,
 40명(20+20)은 은 다른 결과를 보였습니다.
McNemar test를 해 보면, 
P=0.8744로 유의한 차이가 없었습니다. 
그런데 만일 둘 다 양성으로 나온 200과 음성으로 나온 150이 훨씬 적은 숫자였다면, 
예를 들어, 10과 5였더라도
그 결과는 같아집니다. 
왜냐 하면, McNemar test는 오직 대각선 방향의 20, 20의 숫자로만
결정되기 때문입니다. 


라고 하면, 
총 두 검사 중에 일치한 경우는 15, 
일치하지 않는 경우가 40이고 두 검사가 일치하지 않다는 것이 자명한데, 
McNemar test는 전혀 그것에 대해서는 말해 주지 않습니다. 

그러므로, 

두 검사법의 일치도를 볼 때는 McNemar test는 적당하지 않다

는 것이 저의 생각입니다.



그렇다면, 왜 일부 책과 논문에서 사용할까요?



위의 내용은
https://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_freq_a0000000665.htm
의 것으로,
SAS에서 PROC FREQ에 AGREE 옵션을 이용하면, 
McNemar test와 Kappa를 계산해 줍니다. 
즉, agreement에 McNemar test를 인정하는 것입니다. 
아마도 그 때문인지, 실제 논문
에서도 사용되는 경우가 가끔 있습니다.

(위 내용은 "dBSTAT 길들이기" 234쪽 235쪽의 것을 옮겼습니다.)





2016년 2월 13일 토요일

아빠가 들려 주는 [통계] 내적 신뢰도 분석 Cronbach 알파

아빠가 들려 주는 [통계] 내적신뢰도분석  Cronbach 알파




‘Cronbach 알파’는 신뢰성 지수, 내적 합치도 지수, 동질성 지수,
내적 일관성 지수, 알파 등 다양하게 불리고 있습니다.
지수 대신 계수라는 말도 쓰고, 영어로도 다양하게 불립니다.






예를 들어 만족도를 조사하는 5가지 문항을 주었고,
그 답들은 모두 연속변수라고 합시다. (또는 서열변수)
이 다섯 가지 문항은 다양한 질문으로 표현한 것이지,
사실은 같은 지표를 나타내는 질문이라고 생각했는데,
과연 그런지를 알고 싶습니다.

이 때, ‘Cronbach 알파’가 사용됩니다.
그 결과값은 0부터 1까지의 숫자로 표현되는데 기준을 0.6으로
잡기도 하고, 0.7로 잡기도 하지만, 그 이상일 때 일치한다고 말할 수 있습니다.

앞으로 배우게 될 ‘요인분석’과 동반되어 사용하기도 합니다.
요인분석에서 서로 같은 요인이라고 판단된 것을
다시 ‘Cronbach 알파’로 점검해 보는 식이지요.
사실 이렇게 만들어진 설문지가 제대로 된 설문지인지 확인해보는 것은
이미 공인된 설문지인 경우에는 필요가 없겠지만,
설문지를 제작해야 하는 입장에서는 중요한 문제입니다.
설문의 신뢰성을 확보하기 위해서,
반분법, 재검사법, 복수양식법 등이 사용되지만,
통계 패키지 내에서 할 수 있는 것으로
내적 일관성 분석법(internal consistency method)이 사용되고,
그것을 위해서 ‘Cronbach 알파’가 사용되는 것입니다.

앞서 보았듯이, ‘0.6 또는 0.7이상일 때 일반적으로 일치도가 높다’라고
 전체적으로 판단하기도 하지만,
알파값은 문항수가 많을수록, 응답자 수가 많을수록 더 올라가고,
단순히 그 수치만 가지고 판단하기에는 무리가 있습니다.

전체 문항(동일한 개념을 질문하는 문항들 모두)의 알파값과
개별 문항 하나가 제거된 상태에서의 알파값을 비교해 보기도 하는데,
 만일 어떤 문항이 포함되었는데, 알파값이 더 낮아진다면,
그 문항이 속함으로써 오히려 일치도가 더 떨어진다고 생각할 수 있습니다.

또 문항이 어떤 경우는 값이 클수록,
어떤 경우는 값이 작을수록 원하는 지표에 가까울 수있는데,
이련 경우에는 역으로 코딩을 바꾸어 주어야 함은 당연합니다.
예를 들면 ‘직장 생활에 만족합니까?’라는 질문은 점수가 높을수록
만족도가 높은 것이지만,
‘이 직장을 그만 두고 싶습니까?’라는 질문은
그 반대이므로 이런 것을 조절해 주어야 한다는 것이지요.

계산에서는 연속변수인 것이 기본이긴 하지만,
서열변수인 경우도 많고, 심지어 이분변수
인 경우에도 사용하기도 합니다.


SPSS는 복잡한 세팅을 통해서 아주 단순한 값만 구해 낼 수 있습니다.
MedCalc는 dBSTAT만큼이나 단순한 세팅이면서,
특히 탐나는 기능이  ‘Correct  for possible scale reversal➊’입니다.
이것은 가끔 어떤 설문이 scale이 반대로 된 경우
(다른 것은 높을수록, 이것은 낮을수록 같은 지표를 보인다면)
자동으로 그것을 체크해 낸다는 것이지요.
사실은 단순한 것이지만, 좋은 아이디어 입니다. 


결과에 있어서도 탁월한데,
반대로 되어 있는 Q3을 자동으로 찾아서 역으로 계산해 냅니다➋.

앞서 설명한대로 하나씩 뺐을 때,
알파값이 증가하는지 감소하는지를 보여주는 것도
자동으로 수행해 주는데➌
Q4는 오히려 제외시켰을 때 더 증가하는 양상이므로 도움이
되지 않는 지문일 가능성이 많다는 것을 암시해 줍니다.

향후 dBSTAT도 이런 점에서 개선된다면 좋겠습니다.

---------------------------------
이건 "dBSTAT 길들이기"253쪽~255쪽까지의 내용이고요,
dBSTAT는 간단한 명령에 간단한 결과가 나옵니다.
향후 dBSTAT도 이런 점에서 개선된다면 좋겠고,
오늘 Web-R 보다가 어떻게 개선되면 좋을지 생각하게 되었습니다.
Web-R도 이런 점이 반영되면 좋겠습니다.

------------------ 추가 ------------------

대충의 가이드라인은 이렇습니다. 
George, D., & Mallery, P. (2003). SPSS for Windows step by step: A simple guide and reference. 11.0 update (4th ed.). Boston: Allyn & Bacon.