레이블이 regression인 게시물을 표시합니다. 모든 게시물 표시
레이블이 regression인 게시물을 표시합니다. 모든 게시물 표시

2016년 2월 12일 금요일

아빠가 들려 주는 [통계] Regression과 ANCOVA의 만남(3)

아빠가 들려 주는 [통계] Regression과  ANCOVA의 만남(3)





오늘은 세번째 이야기이면서, 마지막 이야기이군요.
오늘 이야기는 제가 쓴 "dBSTAT 길들이기"에 나온 내용을 가급적 그대로 붙여 넣겠습니다.

dBSTAT 에서는 공변량으로 하나만 선택할 수 있습니다. 이론적으로는 여러 개를 선택할
수 있고 SPSS에서는 여러 개 선택이 가능합니다. 그러나 실제적으로 대부분 경우 하나 또
는 둘 정도의 공변량만 사용하기를 권하게 되는데, 공변량을 사용하면 error variance를 줄
여서 power를 증가시키지만, 동시에 자유도를 감소시킵니다. 만약 별로 영향을 미치지 않
는 공변량을 추가 하게 된다면, 오히려 power를 감소시키게 됩니다.

(위키피디아에 나온 내용을 그대로 인용해 보겠습니다. Whi le the inclusion of a covariate
into an ANOVA generally increases statistical power by accounting for some of the
variance in the dependent variable and thus increasing the ratio of variance explained
by the independent variables, adding a covariate into ANOVA also reduces the degrees
of freedom. Accordingly, adding a covariate which accounts for very l ittle variance in
the dependent variable might actual ly reduce power.)



기본적으로 ANCOVA는 다섯가지 기본 가정이 있습니다.

1: Normality of Residuals 잔차의 정규성 ANOVA도 그렇지요. 잔차도를 보고 평가할 수 있지요.
2: Homogeneity of Variances 등분산성
3:   Homogeneity of Regression Slopes 위의 그림에서 보는 것처럼 기울기가 같아서 평행해야
합니다. 교차하고 역방향이 될 때는 상호작용이 있는 것이지요.
4:   Linearity of Regression 공변량과 종속변수는 선형성이 있어야 합니다. 그래프로 확인할 수
있습니다. 전혀 둘 사이에 관계가 없다면, (완전히 독립적이라면) 공변량으로 넣을 필요가 없죠,
영향을 미치지 않으니까요
5: Independence of Error terms

사실 이건 ANOVA와 모든 것이 겹칩니다. 4번만 빼고요. 4번의 다중회귀분석에서 나왔던 내용이죠.
그리고, 1번부터, 5번까지는 모두 회귀분석에서 보았던 가정입니다.


The third issue, concerning the homogeneity of different treatment regression slopes
is particularly important in evaluating the appropriateness of ANCOVA model. Also
note that we only need the error terms to be normally distributed. In fact both the
independent variable and the concomitant variables will not be normal ly distributed in
most cases.
위키피디아에 이런 내용이 있습니다. 참고가 될 것 같습니다.
위의 가정 중에서 회귀선들이 평행해야 한다는 것은 그림으로도 볼 수 있지만, 상호작용
(interaction)이 있는지 점검하기 위해서 종속변수와 교란변수의 곱을 활용하여 시행해 볼
수 있습니다. 이것은 마치 회귀분석에서 상호작용이 있는지 알아 보는 것과 같습니다.

중략
~~~~~~~~~~~

한편 ANCOVA는 사실상 회귀분석의 하나로도 볼 수 있고, 회귀분석에 포함된
다고도 할 수 있습니다.
아니 좀더 포괄적으로 t-test도 포함된다고 할 수도 있습니다. 그래서 어떤 통
계 강좌를 보면 ANCOVA를 회귀분석과 같이 넣어 두기도 하고, 인터넷에 검
색해 보면, ‘ANCOVA vs 회귀분석’ 또는 ‘ANCOVA와 회귀분석은 어떻게 다른
가’ 뭐 이런 내용의 글을 검색할 수도 있습니다.
이론적인 면은 다른 책에서 좀더 다루기로 하구요. 일단 ANCOVA에서는 다중
검정이 불가하며, 여러 공변량을 처리하기 어려우므로 회귀분석을 고려해 볼
수 있다고 알아두시면 좋습니다.

중략~~~~~~~~~~
여기에 지난번 http://blog.naver.com/kjhnav/220625011503     의 내용이 들어 있습니다.
중략~~~~~~~~~~~~~


자 그러면 이제 가닥이 잡히는군요. ANCOVA와 다중 회귀분석은 매우 밀접한
관련이 있으며, ANCOVA에서 구한 adjusted 된 평균은 회귀분석에서도 구할
수 있음을 알 수 있습니다. 아울러 ANCOVA에서의 사후검정을 회귀분석으로
대신할 수도 있지요.
ANCOVA는 명목변수인 하나의 변수의 관점에서 다른 변수들을 교란변수로
간주하여 처리하지만, 다중 회귀분석은 모든 변수를 독립변수로 간주하므로
결과적으로 더 많은 변수를 처리할 수 있게 됩니다.

MedCalc에서의 경우 ANCOVA는 ANOVA 아래에 있어서 이름도 비슷하고 메뉴
도 비슷하고 찾아 가기 편리하게 되어 있습니다. dBSTAT와도 비슷한 구성입니다.

SPSS의 경우에는 ANOVA는 평균비교 아래에 있고, ANCOVA는 아예 메뉴가 없
습니다. 대신 General Linear Model 메뉴 아래에 univariate (단변량) 창을 연 다
음 어떻게 메뉴를 잘 설정하면 시행이 되는데, 그 결과에서도 ANCOVA라는 말
은 없습니다. 그냥 그렇게 하면 결과적으로 ANCOVA가 시행된다고 알면 됩니다.
“ANOVA SPSS”로 검색하면 여러 개가 나올 것입니다.
통계하는 사람에서의 관점이라기 보다는 프로그래머의 관점에서 또는 통계학자의
관점에서 만들어진 메뉴라고 생각되는 부분입니다.

Stata의 경우도 SPSS와 비슷하긴 하지만 약간 다른 것이 아예 ANOVA 등도 모
두 General Linear Model 아래에 들어와 있기 때문에 오히려 ANCOVA를 찾아
가기는 더 쉽습니다.
아예 regression 자체도 그 아래에 배치해 두었다는 점도 SPSS보다는 더
프로그램 위주의 배치라고 할 수 있습니다. 그러나, 그렇게 했기 때문에
regression, ANOVA, ANCOVA의 관계를 더 잘 알 수 있고, 쉽다는 생각도 듭
니다.

앞의 예에서 보았듯이 ANCOVA도 regression에서 구할 수 있다는 것을 알 수
있습니다. 또 MedCalc의 매뉴얼에 있는 문구를 주목해 볼 필요도 있습니다.
ANCOVA 는 General Linear Model (GLM)의 한 적용이기 때문에, covariates
를 넣지 않고, 하나의 factor(명목변수, 집단 변수를 말함)만 넣어 준다면 one-
way ANOVA로 바뀌게 됩니다.
또 covariates를 넣지 않고, 두 개의 factor(명목변수, 집단 변수를 말함)만 넣
어 준다면 two-way ANOVA로 바뀌게 됩니다.
factor(명목변수, 집단 변수를 말함)를 넣어 주지 않는다면 즉 다시 말해
covariates에 해당하는 것만 넣어 준다면 multiple regression으로 바뀌게 될
것입니다.

이 설명을 잘 생각해 보면, ANOVA와 ANCOVA와 regression이 모두 General
Linear Model (GLM)의 가지임을 알 수 있을 것입니다. 그렇기에 SPSS에는 아
예 ANCOVA의 메뉴가 없는 것도 이해될 수 있고, “한 눈에 쏙쏙 의학 통계 배
우기”에서 간략히 설명하면서 ‘ANOVA는 ANOVA와 회귀분석을 이어주는 중
간과정이다’라고 설명했던 이유도 알게 되실 것입니다. 또 일부 책이나 강의에
서 ANOVA를 ANOVA 배울 때 배우지 않고, 회귀분석과 같이 다루는지도 이해
될 것입니다.


그러기에 한편으로 이해는 되지만, 사용자의 입장에서 본다면 상당히 불편하
고 어려운 이야기가 됩니다. 이는 마치 서울에서 대중교통 검색하는데 버스,
마을 버스, 지하철, 택시 이렇게 인터넷 지도에서 검색되는데, 지하철은 기차
라고, 코레일에서 검색하라고 하는 것과도 비슷합니다.
그런 면에서 비모수 검정(nonparametric analysis)를 완전히 분리해서, 훨씬
아래쪽에 넣어 둔 SPSS와 Stata는 같은 개념을 가지고 있습니다. 지하철은 기
차니까 새마을호, KTX와 같이 다루어야 한다는 개념인 것이지요.

dBSTAT는
대중교통의 범주에 지하철이 있듯이 즉 마을 버스, 버스, 지하철을 한 범주에
묶듯이 배치되어 있어서 Kruskal-Wal l is test와 ANOVA와 ANCOVA 등이 비슷
하게 묶여져 있습니다.

~~~~~~~~~~~~~~~~~~~
정리하면서,
ANCOVA는 그리 강조할 것도, 또는 아주 독특한 것도 아닌
그런 분석이며 이해하기 어려운 것도 아닌 분석방법입니다.
함부로 사용해서도 안되겠지만, 그렇다고 regression보다 더 복잡한 가정이
필요한 것도 아닙니다.
다만 추천한다면, RCT 정도에서 미리 연구계획서에 써두고 사용할법한
정도의 방법입니다.

한편 ANCOVA를 다루는 통계 프로그램들을 관찰하면서,
어떻게 하면 사용자 위주의
사용자가 이해하기 쉽게 직관적으로 프로그램이
만들어져야 할 것인지 생각하게 됩니다.

지금 한참 Web-R의 메뉴를 구성하면서 고민하고 있습니다.
사용자에게 편리한 프로그램이 되어야지,
기술자 위주의 학자 위주의 프로그램이 아니어야 한다고 생각됩니다.

통계도 공부하고 프로그램도 공부하는 것이 아니라,
통계를 알면 프로그램은 저절로 할 수 있게 되고,
메뉴를 보면 통계 공부가 되는 그런 통계 프로그램이 되도록 해야 겠습니다.

아빠가 들려 주는 [통계] Regression과 ANCOVA의 만남(2)


아빠가 들려 주는 [통계] Regression과  ANCOVA의 만남(2)






오늘은 "Regression과  ANCOVA의 만남" 두번째 시간입니다.
지난 번에는 그냥 ANCOVA가 뭔가, 왜 그런 것을 도입하고,
옛날 선배들은 왜 그것을 필요로 했었고,
어떤 방식으로 해결했나를 살펴 보겠습니다.
사실 오늘이 진짜 이야기 입니다.
Regression과  ANCOVA의 만나는 이야기 이니까요.



먼저 Regression하기 좋도록 왼쪽표처럼 바꿉니다. 
ANCOVA에 썼던 자료가 오른쪽 표죠.같은 내용입니다.



역시 엑셀 자체에서 제공하는 Regression의 결과입니다.
중요하게 볼만한 것을 노란색으로 표시했습니다.
사실 다른 것도 중요하지만........


계수를 이용해서, 이렇게 아래와 같은 회귀식을 만들 수 있습니다.
Y값은 혈압이고,
이것은 excercise와 age에 의해서 표현됩니다.
그런데 excercise는0과 1로만 되어 있고, age는 연속변수이죠.
저 위쪽 표를 보면 알 수 있습니다. 


이렇게, excercise는 0과 1을 각각 넣어 보겠습니다.
단 age는 연속변수니까 평규값인 51.55를 넣어 보겠습니다.

아래 표는 지난번에 ANOVA 했을 때 보았던 그 표입니다.
기억나시죠?
잘 보면 adjusted means이 위의 회귀식에서 구해진 값과 일치합니다.

뭔가 느낌이 오시나요?
즉 adjusted means은 바로 회귀식에서 구해지는 값입니다.

지난번에 ANCOVA 할 때도 삼각형을 그려서
age를 보정하기 위해 평균으로 끌어왔던 것이 기억나시죠?
동영상으로 보여 주었던거......
바로 그 작업을 회귀분석에서는 쉽게 해 버리는 것입니다.   



그리고, 아래의 표는 ANCOVA에서의 p값입니다.
그런데, 이 p값은 저기.. 위 쪽의 회귀분석에서 Excercise의 p값과 같습니다.

----------------------------------------------------------------------

자 이렇게 보면 분명해 집니다.
ANCOVA는 ANOVA 처럼 Excercise의관점에서접근합니다.
age는 하나의 교란변수로 취급하는 셈이지요.
regression은 Excercise나 age 모두 하나씩의 변수로 접근합니다.

그렇지만, 결론은 같습니다.
그리고, regression이 어쩌면 더 폭넓고,
포함하는 것이라고 볼 수도 있습니다.

ANOVA는 기본적으로 처리할 수 있는 교란변수가 한개, 많아야 두개로 제한됩니다.
regression은 제한이 없죠.
(사실 이게 문제이긴 합니다... 그 이야기는 다음에....)














아빠가 들려 주는 [통계] Regression과 ANCOVA의 만남(1)

아빠가 들려 주는 [통계] Regression과  ANCOVA의 만남(1)



우선 ANCOVA라는 것이 무엇인지 알아 보아야 겠습니다. 
이름도 범상치 않게 ANOVA와 비슷한 것같아 보이는 군요. 
Analysis of covariance (ANCOVA)라는 것은 인터넷 검색만 해도 다 나오는 것이니까, 
달리 설명하지 않겠습니다. 
전혀 통계학자 같이 않게 설명해 보려고 합니다. 

왜냐하면 통계적으로 설명하는 것은 이미 인터넷에 넘치니까요..

역시 예를 들어 설명하는 것이 좋겠군요. 

group1에 운동A를 group2에 운동 B시키고 나니, 혈압(BP)가 상승하였습니다. 
대충볼 때 파란색이 빨간색 보다 높다는 느낌이 듭니다. 
group1과 group2가 모두 동질하다면 '파란색이 더 높다'라고 생각하기 쉽지만, 
나이를 보니, 나이가 차이가 있는듯합니다. 즉 파란색이 나이가 더 많은 것같습니다.
혹시 혈압이 높은 것이 나이에 의한 차이는 아닐까요?

만일 나이를 동일하게 보정한다면 어떻게 결과가 나올까요?
이와같은 상황을 고려하여 나이를 수학적인 방법으로 보정할 수는 없을까요?

이런 필요에 의해서 나오는 것이 ANCOVA 입니다.

이때 혈압은 종속변수, 나이는 교란변수라고 부르지요. 혹시라도 종속변수에 영향을 줄 수도 있기 때문이죠. 

각각 dependent variable, confounding variable이라고 부릅니다.


인터넷에서 다운받은 엑셀 파일입니다. 
http://vassarstats.net/downloads2.html 에 있습니다. 
(굳이 다운받을 필요는 없습니다. 여러분의 통계 프로그램에 다 있습니다.)
총 10개의 집단, 각 집단에 1000개까지의 자료를 입력할 수 있습니다. 
각 집단에 이렇게 두개의 값을 복사해서 붙여 넣습니다. 


그러면 이렇게 결과가 나옵니다. 


좀 자세히 보기 위해 복사해서 새로운 엑셀파일에 붙여 넣으면서 유효숫자를 조금 길게 보이게 했고, 노란색으로 표시했습니다. 
위의 p는 ANCOVA의 결과로서 유의한 차이가 있다는 것을 보여 줍니다. 
아래의 p는 두 집단의 회귀선이 평행인가를 보는 p입니다. 평행이라고 보여 주는 군요. 
위에서 두번째 그림에서 평행처럼 보입니다. 

그 아래에 있는 것을 봅시다. observed와 adjusted라는 말이 나오는군요. 
DV(종속변수 즉 혈압)이 관찰된 혈압은 168과 151.4 (평균)이었는데, 교정한 뒤에는 조금씩 줄어 들었군요. 
어떤 방식으로 얼마나 줄었을까요?









결론적으로 
나이에 의한 효과를 줄이기 위해서 나의의 의해서 변동되는 양을 계산해서, 
그것을 보정해준 다음
보정해 준 혈압이 과연 유의한 차이가 있는지를 보는 거죠. 

그리고, 그것을 어떻게 보정해 준다고요?
공통의 기울기를 구합니다. 

그리고 나이(교란변수 CV)가 작은 것은 올리고, 나이가 많은 것은 내립니다. 
그러면서 그 기울기만큼 혈압(종속변수 DV)를 보정하는 것이죠. 

그렇게 해야 진정 나이에 의한 효과가 배제된 혈압의 차이를 불 수 있기 때문이죠. 

자 지금까지 별로 생각해 보신적 없는 방법으로 ANCOVA에 대해서 알아 보았습니다. 

이미 눈치채신분도 있으실겁니다. 뭘요?

그 다음 이야기 말이죠. 

2016년 2월 11일 목요일

아빠가 들려 주는 [통계] Regression과 t-test의 만남


아빠가 들려 주는 [통계] Regression과  t-test의 만남




Regression은 통계에 있어서 거의 만능입니다
많은 통계를 그냥 품어 버렸습니다
굳이 따로 배우긴 했지만, t-test를 품어 버렸습니다. 
통계 강의 시간에는 이것에 대해서는 별로 이야기하지 않는다
전공자들은 당연히 알고 있는 내용이지만
괜히 이야기해서 복잡해질까봐 안하는 것이겠죠.
SAS나 R이나 Stata를 사용하면 거의 저절로 알게 되는 이야기라고 할 수 있습니다. 
그 이야기는 나중에 하겠습니다.

이 이야기는 한눈에 쏙쏙 의학 통계 배우기 104, 105쪽"에서 잠깐 설명한 적이 있었던 
이야기를 자세히 하려고 하는 것입니다
, ‘t-test가 regression의 특수한 형태이다라는 이야기......

 regression은 원래 다양한 독립변수를 취할 수 있지만
단 하나의 독립변수그것도 더미변수화된 명목변수라면 결국 t-test와 같은 결과가 됩니다.

예를 들어서 설명하면 이해하기 좋을 것입니다.


이렇게 두 개의 그룹이 있습니다
두 그룹은 각각 10마리의 코끼리에게 어떤 처치를 하고 혈압(BP)를 잰 것입니다
(어짜피 코끼리로 실험할 일이 없을 것같아서 그냥 상상해 보았습니다
그러므로 저 자료값은 전혀 현실과 무관합니다.)
그래프를 보니, ‘0그룹 BP는 ‘1그룹 BP보다 약간 높아 보입니다
과연 그러할까? T-test를 해 보았습니다
엑셀에서 기본적으로 제공하는 t-test를 사용해 봅시다.
엑셀에서 기본적으로 제공하는 이 기능을 모르는 사람은 다음에 올릴 글들를 참고하세요
오늘은 그 주제가 아니라서 생략하겠습니다.


‘0그룹과 ‘1그룹의 평균과 분산그리고 p값을 유의해서 봅시다
노란색으로 강조하였습니다원래는 노란색이 없죠.


회귀분석의 결과도 보겠습니다
노란 표시는 역시 제가 표시한 것입니다
우선 p값이 0.005259로 동일하다는 것이 관찰됩니까?
우선 Y절편의 값 168은 ‘0그룹의 평균과도 같습니다!
그리고, t-test에서 ‘1그룹의 평균인 151.4 는 
Y절편과 X1의 계수를 합한 것입니다.
,
151.4 =168-16.6

입니다놀랍습니까

그래프로 살펴 보면 사실 그리 놀랍지 않습니다.



이렇게 회귀분석을 하고회귀직선을 구했습니다
Y축 절편 즉 X=0일 때는 168이 됩니다
이것은 y축에 있는 점들의 평균이 되지요.
그리고, x=1일 때의 점들의 평균은 ‘1그룹의 평균이 됩니다.
저 회귀직신이 ‘0그룹과 ‘1그룹의 평균을 각각 지나게 되도록 되어 있으며
그것이 회귀직선의 특징입니다

이 글에서, 우리는 t-test가 regression으로 구해 진다는 것을 알았습니다.
다음 글에서는 ANCOVA가 regression으로 구해진다는 것을 배워 보겠습니다.