2016년 3월 26일 토요일

아빠가 들려 주는 [통계] 변수 표준화 하기

 
표준화한다는 것은 여러 용도로 사용됩니다만,
오늘은 그런 용도보다는 방법을 이야기 해 볼까 합니다.


 
SPSS에서는 기술통계로 갑니다.


 
당연히 연속변수인 agetime 중에서 일단 age만 선택해 보겠습니다.
그리고 아래쪽에 보면 “save standardized values~” 활성화합니다.


 
그러면 이렇게 새로운 변수가 하나 생겼습니다. 변수 이름은 Zage 입니다.


 
 dBSTAT에서는 data 메뉴에서 Z score로 갑니다.


 
연속변수인 agetime 중에서 age를 선택하고 확인을 누릅니다.
그러면 age_Z 변수가 생기면서, 결과값을 보여 줍니다.


 
엑셀에서는 우선 mean과 표준편차를 먼저 구해야 합니다.
물론 구하기는 쉽죠.
그 다음에 STANDARDIZE 함수를 이용해서 값을 만들고, 아래쪽에도 자동채우기 합니다.



3 프로그램의 결과를 비교하면 모두 동일합니다.

 
Web-R 2.0 beta 버전에서는 여러 가지 변화가 있는데,
일단 영어 버전이 생긴 것이 큰 특징(1)
그리고, csv, excel 뿐아니라, SPSS파일, SAS 파일, DBF 파일, DTA 파일을 읽게 된 것(2)
큰 특징입니다.  
 
 
그리고, 데이터 전처리 기능도 강력한데,
그 중에 long form ↔ wide form 은 이전에 말씀드린 적이 있고,
표준화 기능 말씀드려야 겠군요.
연속형 변수 표준화 하기클리갛면,
아래의 창이 생깁니다. Age 변수가 연속 변수이므로 선택합니다.
 

 그러면 ZAGE변수가 생겼고, 이것은 엑셀에서 만들어진
B열과 동일하다는 것을 알 수 있습니다.

 SPSS와 web-R은 여러 연속변수를 한꺼번에 만들 수 있군요.
 dBSTAT도 편리하지만, 변수 하나씩만 만들 수 있습니다.
엑셀은 그냥 무난합니다. 언제나 그렇듯이 통계 강의할 때는 좋습니다.
오른쪽에 보이는 공식을 그냥 이용하는 것보다 별로 편할 것은 없지만 말입니다.


조금 부언하자면,
표준화 회귀계수를 구하는 것은 SPSS와 Web-R에서는
이런 표준화작업하지 않고도 기본적으로 해주고,
그 분야에 계신 분 이야기로는 상당히 중요하고
꼭 해야 하는 것처럼 말씀하시더군요.

의학에서는 표준화 회귀계수를 하는 경우는 흔치 않은 것같습니다.


 

2016년 3월 25일 금요일

아빠가 들려 주는 [통계] 비열등성 검정 : t-test 를 이용한 경우


 
 p값에 대한 제가 생각하는 3대 오해 중의 하나는
비열등성 검정과 관련된 것입니다.
“p>0.05 이면 두 군에 의미없는 차이가 없다.”
는 오해인데요. 대부분의 경우에 차이가 없다기 보다는
샘플 수가 작아서 차이가 있는지 발견하지 못했다는 것이 정확한 결론입니다.
다시 말해서 p>0.05 인 것은 차이가 없다는 것을 증명하는 도구가 아닙니다.
차이가 없다는 것을 증명하기 위해서는 비열등성 또는 동등성 검정을 하여야 하고
이에 대해서는 저의 책에서 아주 자세히 설명드렸는데요
오늘은 그냥 간단한 예를 한번 들어 보겠습니다. 
마침 어떤 분이 질문하셔서요.

(이 글의 메일 마지막에 엑셀 쉬트로 계산해 볼 수 있습니다)


 
오늘 이 쉬트는 기존의 논문에서 나온 값을 이용해서 비열등성 검정을 해보기 위한 것입니다.
2013924일에 올린 카페글에 대한 질문이 있어서
조금 자세히 설명드리려 합니다.
기존 논문에서는 두 군의 평균과 95%신뢰구간이 각각 위와 같다고 하고,
P값은 0.05보다 높다고 하면서 두군의 차이가 없다고 하면 옳겠습니까?


 
엑셀 파일에서도 p값을 계산해 줍니다.  P=0.3267이네요.
이 값만 가지고는 비열등한지 말해 주지 않습니다.
여기서 평균차의 95%신뢰구간을 보여 주는데요.
이 신뢰구간과 비열등성 한계를 비교하여 알 수 있게 됩니다.


 
엑셀 쉬트를 오른쪽으로 가보면 차트가 보이는데,
이 차트를 보면 조금 더 이해하기가 편할 수도 있습니다.
이 구간에 0 포함되면 p값은 0.05보다 커지게 됩니다.
그런데 그것은 비열등한지 아닌지 알 수 없습니다.
비열등성 한계를 -0.18로 잡았다면(점선 화살표)
비열등성 한계가 95%신뢰구간과 겹쳐 있으면 이것은 비열등성 하지 않은 것입니다.
샘플의 숫자가 점차 늘어 나면, 신뢰구간이 줄어들게 됩니다.


 
이 엑셀 쉬트는 당시에
그냥 ‘p>0.05이므로 의미없는 차이가 없었다는 식으로 결론내는
논문이 워낙 많아서
그렇게 하면 안된다.
비열등성 검정을 해야 한다.
등등을 설명하기 위해서 만든 쉬트입니다.



위의 두 개는 95%신뢰구간을 이용해서 SD를 계산하도록 한 것인데,
이것은
기존의 논문에서 95%신뢰구간을 제시하는 경우가 많아서이고요.
아래 두 개는 그냥 SD를 이용한 것입니다.
그리고, ITT라고 된 것과 PP라고 된 것이 있는데,
이것은 n수가 다를 때, 어떻게 되는지 비교하기 위한 것입니다.
일반적으로 우위성 검정에서는 ITT가 기본이 되는데요.
비열등성 검정에서는 ITT보다는 PP가 보수적이기 때문에
PP의 중요성이 커집니다.
이에 대한 설명을 하기 위해서 둘을 비교하도록 한 것입니다.
한마디로 실제로는 별로 쓸모 없는데,
강의를 할 때는 도움이 되는 것이라서 그냥 만들어 보았습니다.
혹시 강의하시는 분은 쓰셔도 되겠습니다.  




2016년 3월 22일 화요일

아빠가 들려 주는 [통계] SPSS 언어 바꾸기







얼마전 영어로 강의 하다보니, SPSS를 영어로 바꿀 필요가 있었습니다.
그리고, 오늘 web-R의 다국어 버젼으로 발전시키는 작업을 문교수님과
이야기하면서, 요걸 활용하면 되겠다는 생각이 들었네요.
아무래도 자동 번역기는 전문 용어에는 오류가 있으니까요.
기대해 주세요. 지금 web-R.org  영어 버젼이 베타버젼 상태로 나왔고, 조만간 공개될 예정입니다.
그전이라도 SPSS 쓰시는 분도 알아 두면 좋을 것같아서 소개합니다.





지금을 러시아어 버젼 상태입니다. 두번째 메뉴, 제일 아래쪽이 '옵션'입니다.
저는 지금 SPSS 18버젼입니다. 여유가 없네요.
그래도 나쁘진 않습니다.




옵션을 클릭하면 한참 뒤에 이 창이 뜹니다. SPSS는 이상하게 불러오고 이러는데 시간이 꽤 걸립니다.
대신 통계 자체는 아주 느린 편은 아니지만..
R에 비하면 느린 편이라고 할 수 있습니다.
제가 R 좀 써보니까 느린 것을 알 수 있지만, 일반적으로 SPSS도 별로 느린 것은 아니라는 생각 듭니다.
오른쪽에 있는 두 메뉴가 언어 설정인데요. 러시아어라서 뭔지 몰라서 첫번째것을 선택했습니다.
(괜히 호기심에 러시아어 했다가...)




이렇게 여러 언어가 있네요.
안타깝게 아랍어는 없습니다.
얼마전 사우디 의사들을 만났을 때 모두 SPSS만 사용하던데...
그래도 이정도라도 어디입니까...
한국어도 있다는 것이 감사하죠.






이렇게 보시면, 오른쪽에 output에 영어가 있고요,
use interface에도 영어가 있죠.
이렇게 메뉴 구성하는 언어와 출력물 언어를 달리 할 수 있습니다.
평소 한국어를 이용해서 쓰다가 혹시 논문에 낼 일이 있으면 
영어로 바꾸어서 결과물 보셔도 될 것같습니다.

2016년 3월 14일 월요일

아빠가 들려 주는 [통계] survival analysis에서 특정 구간에서 두 생존율을 비교하기.

comparison of two survival rate at specific time

노란칸에 값을 넣어 주세요.
통계 프로그램에서 제시하는
survival table에 나온 결과를 넣으면 됩니다.

아래에 나온 빨간 숫자가 p값입니다.

오른쪽에는 공식이 있습니다.


2016년 3월 13일 일요일

아빠가 들려 주는 [수학] 원주율 구하기 아르키메데스 방법(아래에 동영상과 엑셀 파일 있음)



내일은 파이데이 3월 14일입니다.
아들이 파이데이를 이용해서 4행시를 지었다고 하네요.
이런 것도 숙제를 내어 준다는데,
정말 요즘 아이들은 공부를  재미있게 하는군요.
수학과 국어를 접목해서 시를 만들기도 하는군요.
오늘은 파이데이 특집
원주율 구하기 한번 해 보겠습니다.
사실 이렇게 블로그로 올리고
아이들에게 보여 줄려고요.

 우리는 원의 일부인 부채꼴 AOB를 가지고 있습니다.
각도 AOB는 임의 각도, 180도보다 적은 각도라고 해 봅시다.

 만일 우리가 직선 AB의 길이를 알고 있다면,

 이 부채꼴을 정확히 이등분 하는 선분 OC를 그렸을 때,
직선 AC와 직선 BC의 길이를 알 수 있을까요?
이것이 아르키메데스가 생각했던 방법입니다.
이렇게 해서, 무한히 부채꼴을 이등분하면서 생기는 선분 AC와 선분 BC를 더하게 되면
결국 원의 둘레를 구할 수 있다고 생각했던 거죠.


정확한 길이를 계산하는 것은 너무 귀찮은 일이라서 생략하기로 하고
과연 구할 수 있는지만 알아 보는 것으로 하죠.
우선 반지름은 1이라고 가정합시다.
선분 AB의 중점을 D라고 합시다.
이등변 삼각형인 AOB의 밑변을 이등분했으므로
삼각형 ODB는 직각 삼각형입니다.
그러면 피타고라스의 정리에 의해서
선분 OD는 알 수 있습니다.

 그러면 이제 우리는 알 수 있는 값을 o로 표시해 보면,
선분 OB, 선분 BD, 선분 OD를 알 수 있습니다.
한편 선분 OC도 반지름이므로 길이가 1이고,
그렇다면 우리는 선분 CD도 알게 됩니다.
그러면 다시 피타고라스의 정리에 의해서,
선분 BC도 알게 됩니다.

 그럼 다시 알고 있는 것을 정리하게 되면,
결국 우리는 선분 BC와 선분 AC도 알게 됩니다.

 결국 이 모든 과정을 요약하게 되면
우리는 선분 AB를 알고 있다면, 선분 AC와 선분 BC도 알게 됩니다.
그러면 다시
선분 AC를 알고 있으므로 이렇게 생긴 부채꼴을 다시 이등분해서 생긴
이등변 삼각형의 밑변을 알 수 있게 된다는 뜻입니다.

 아주 옛날 사람 아르키메데스는
먼저 첫 삼각형을 (또는 첫 부채꼴 OAB)를 정삼각형으로 정했습니다.
전체적으로 보면 정6각형이 되는 셈이죠.
그러면 선분 AB는 1이 됩니다.
그 다음 단계로는
정 12각형을 그리고, 그 밑변의 길이를 계산합니다.
다시 정 24각형을 그리고, 계산하고,
다시 정 48각형을 그리고, 계산하고,
반복할 때마다 정다각형이 두배씩 변이 많아지게 되고, 그 변의 둘레를
모두 합하면 원둘레에 점차 접근하게 됩니다.
이 작업은 극한의 개념을 가지고 있으며,
어떻게 생각하면 미적분의 개념을 가지고 있었던 것입니다.


이것은 비례식을 이용해서 간단히 계산할 수 있다.
우리는 앞서 선분 OD의 길이를 알 수 있었다.
삼각형 OAB와 삼각형OA’B’는 닮은 삼각형이며,
이것의 비도 알 수 있다.
즉 우리는 이 두 이등변 삼각형의 높이인
선분 OD와 선분 OC를 알기 때문에,
비례를 이용하여, 선분 A’B’를 계산할 수있게 된다.


다시 이 말은 선분 AC의 길이를 알게 되었기에
선분 A’C’의 길이도 알게 된다는 뜻이 된다.
즉 내접하는 정다각형의 둘레를 알면
외접하는 정다각형의 둘레도 알 수 있다는 뜻이다.

 그 옛날 사람 아르키메데스는
이 방법을 이용해서, 먼저 내접하는 정6각형과 외접하는 정6각형을 그려서
그 둘레를 구했다.
그리고, 다시 이를 이용해서,
다시 내접하는 정 12각형과 외접하는 정12각형을 구했다.
다시 이것을 점점 더 세분하여
96각형까지 구했고,
외접하는 것과 내접하는 다각형 둘레가 점차 하나의 값으로
일치한다는 것을 이론적으로
또 실제 계산으로 생각하게 된 것이다.
우리가 고등학교 수학시간에 배우는 극한의 개념,
무한의 개념을 이용한 것이지
구체적으로 상극한과 하극한을 이용한 것이다.
원의 둘레는 그 사이에 있을테니……



위의 동영상에 나온 것을 직접 해 볼 수 있습니다.



오른쪽 아래의 아이콘을 이용해서 전체창으로 확대하여 실험해 보면
더 편리합니다. 




아마도 상상도일 것같은 이 그림의 오른쪽을 보면,
부채꼴을 보여 주는데, 어쩌면 파이를 구하는 모습일 지도 모릅니다.
바로 그 옆에는 나선이 그려져 있군요.
자와 컴퍼스만으로는 그릴 수 없는 도형이죠.
다른 도구가 있다면 그릴 수 있을까요?
다른 몇 가지 도구가 있으면 그릴 수는 있습니다.
이전에 고등학교 때에 그것을 그려 본적이 있는데,
끈이 필요합니다. (힌트)
다음에 이야기하기로 하죠.

지레를 이용해서 지구를 움직일 수도 있다고 말한 것으로도 유명하죠.
(사실 뭐, 지레없이도 여러분도 나도 움직일 수가 있지만. 그건 나중에…)
그리고 여담으로

탈레스(BC 624 ~ BC 545?)가 지중해를 항해하면서 관찰한 바, 땅의 모양의 근거로 땅은 원형 방패처럼 가운데가 부풀어 오른 원반형이라고 말했다. 그리고 이를 근거로 지구가 둥글다고 주장한 사람은 고대 그리스의 피타고라스(BC 570 ~ BC 490)였다. 그는 지구가 둥글며, 완전한 구형이라고 주장했다.
아리스토텔레스(BC 384~BC 322)는 훨씬 실제 관찰 자료에 근거한 주장을 폈다. 월식 때 달에 생기는 지구 그림자가 둥글다는 것, 그리고 남쪽지방으로 가면 북쪽 지방의 하늘에서 볼 수 없었던 별자리가 보이고, 수평선 너머에서 배가 다가올 때 돛대의 끝이 먼저 보이기 시작한다는 것 등을 지구가 둥글다는 증거로 댄 것이다.
에라토스테네스는 한술 더 떠서 기원전 240년에 지구의 둘레를 계산하기도 했다. '하지(북반구에서 해가 가장 높게 올라오는 날)날 정오에 시에네(현재 명칭은 아스완)에서는 해가 머리 위에 있어서 그림자가 생기지 않지만, 알렉산드리아에서는 그림자가 생긴다'는 사실을 토대로 지구의 둘레를 250,000스타디아라고 계산했다.
중세 유럽에서는 종교적인 이유로 지구가 둥글다는 것을 거부하고 지구가 평평하다고 생각했다는 잘못된 인식이 현대에 널리 퍼져 있으나, 대부분의 중세 학자들도 고대의 연구를 받아들여 지구가 둥글다고 생각했다. 애초에 이 시대에는 지동설이냐 천동설이냐가 논쟁의 중심이며, 헬레니즘 시대에 이미 완성된 천동설은 지구 구형설을 전제로 성립된 것이었다. 아우구스티누스, 히에로니무스, 암브로시우스 같은 기독교의 초기 교부들도 모두 지구가 둥글다는 데 동의했다. 토마스 아퀴나스는 아리스토텔레스의 증명을 받아들여 지표면의 다른 곳에서 별자리의 위치가 변하는 것이 지구가 둥글다는 증거라고 생각했다. 로저 베이컨도 자신의 저서에 지구가 둥글다고 분명히 적었고, 캉브레의 대주교였뎐 피에르 다이이도 지구가 구형이라고 말했다.
출처 : https://namu.wiki/w/지구구형론
기원전 287년 정도에 태어난 아르키메데스는 당연히 지구는 둥글다는 것에 이미 익숙했을터,
그러므로, 위와 같은 지레를 이용하면 지구도 움직일 수 있다는 생각을 했을 수도 있다.
그렇지만, 조금 더 생각해서 왜 지구반대편 사람은 떨어지지 않을까라는 생각을 했더라면,
사실 아르키메데스 정도 된다면, 만유인력을 생각했어야 할 것도 같은데....
비록 철학적이거나 관념적인 말이라도 할 수 있을 것같은데
만물의 근원을 숫자로 생각했다거나, 분자로 생각했던 정도의
사람들이, 만유인력을 생각지 못했다는 것은 참으로 의외라는 생각이 든다.
그것도 지금에서야 그 생각을 하는 것이겠지.
사실 부력이 만유인력이나 중력보다 훨씬 어려운 개념이라는 생각이 드는데…….