User Tools

Site Tools


ancova

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
ancova [2015/11/10 09:51] – created hkimscilancova [2024/11/03 22:57] (current) – [ANCOVA (Analysis of Covariance)] hkimscil
Line 1: Line 1:
-====== ANCOVA (Analysis of Covariance) ======+====== ANCOVA (Analysis of Covariance) ====== 
 +[[:Multiple Regression]]에 대한 이해가 필요 
 +그 중에서  
 +  * Partial correlation (hence partial R square value),  
 +  * semi-partial correlation (or Part correlation),  
 +  * zero-order correlation 를 [[:Multiple Regression#determining_ivs_role|설명한 부분]]과  
 +  * 이를 직접 설명한 페이지 [[:Partial and semipartial correlation]] 참조 
 + 
 +Y = a + b1X1 + b2X2 의 예에서  
 +  * 모든 X 변인 들의 설명력에 대한 테스트는 ANOVA test를 하게 된다.  
 +  * 위에서 구하는 R^2은 모든 변인들의 설명력을 합친 것을 말한다.  
 +  * 각 coefficient에 대한 기여도에 대한 test는 t-test를 한다.   
 +  * 이 때 각 변인의 기여도는 중복되는 부분을 제외한 고유의 부분에 대한 테스트이다 (partial correlation R^2에 대한 테스트, semi-partial correlation R^2 이 아님). 이 설명이 [[:partial and semipartial correlation]]에 자세히 나온다.  
 +  * X1 고유의 설명력을 알아보기 위해서 우리가 한 것은  
 +  * Y = a + b1X1 의 regression을 해본 후  
 +  * 그 residual을 따로 구해서 보면 이 부분은 X1과 무관한 부분이 된다 (X1의 설명력을 제외한 Y변량의 나머지) = res.y 
 +  * X2 고유의 기여도 혹은 설명력을 (X1과 중복되는 부분을 제외한 부분을) 보기 위해서 
 +  * X2 = a + b1X1의 regression을 한 후에  
 +  * X2의 residual을 따로 모아본다. 이것 또한 X1과 무관한 부분이 된다. = res.x2 
 +  * 이제 res.y = a + b1 * res.x2 의 regression을 하면 이것이 
 +  * x2의 partial correlation test가 된다 (혹은 X2 고유의 설명력에 대한 regression test가 된다). 
 + 
 +위의 recap에 더해서  
 +  * 만약에 X1 = 숫자로 측정된 변인이고  
 +  * X2는 종류로 측정된 변인이라고 하자 
 +  * 이 때 X1의 설명력을 제외한 X2만의 설명력을 본다는 것은  
 +  * X1를 제어하고 X2의 효과를 (설명력을 혹은 영향력을) 본다는 것이다. 
 +  * 이것이 ANCOVA이다.  
 + 
 +e.g. 통계를 공부하는 방법이 세가지가 있다.  
 +  * B = traditional 하게 책으로만 공부하는 방법  
 +  * T = 동영상을 위주로 공부하는 방법 
 +  * R = Researcher가 고안해낸 새로운 방법 
 +  * 이 세가지 방법의 효과에 차이가 있는지 알고 싶어서  
 +  * 세 그룹의 학생들이 (각 30명) 세 가지 방법으로 통계를 배운 후. (x2) 
 +  * 통계시험을 치룬다 (y) 
 +  * 그런데 연구자는 각 학생들의 지능지수를 제어하여 살펴보고 싶다 (x1) 
 + 
 +e.g.
 {{:anorexia.csv}} {{:anorexia.csv}}
-<code>anorexia=read.csv("anorexia.csv")+<code> 
 +anorexia <- read.csv("http://commres.net/wiki/_media/anorexia.csv")
 anorexia anorexia
 anorexia$Diff = anorexia$Postwt-anorexia$Prewt anorexia$Diff = anorexia$Postwt-anorexia$Prewt
Line 11: Line 50:
 $ Postwt = Prewt + Treat + Error $ \\  $ Postwt = Prewt + Treat + Error $ \\ 
  
-<code>levels(anorexia$Treat)+<code> 
 +levels(anorexia$Treat) 
 +[1] NULL 
 + 
 +anorexia$Treat <- factor(anorexia$Treat, levels = c("Cont", "CBT", "FT")) 
 + 
 +levels(anorexia$Treat)
 [1] "Cont" "CBT"  "FT"   [1] "Cont" "CBT"  "FT"  
-anorexia$Treat=factor(anorexia$Treat, levels = c("Cont", "CBT", "FT")) 
  
-model lm (Postwt ~ Prewt + Treat, data = anorexia)+model <- lm (Postwt ~ Prewt + Treat, data = anorexia)
 </code> </code>
  
Line 51: Line 95:
 F-statistic: 8.713 on 3 and 68 DF,  p-value: 5.719e-05 F-statistic: 8.713 on 3 and 68 DF,  p-value: 5.719e-05
 </code> </code>
 +
 +<code>library(multcomp)
 +dunnett = glht(model, linfct=mcp(Treat="Dunnett"))
 +</code>
 +
 +<code>summary(dunnett)
 +
 + Simultaneous Tests for General Linear Hypotheses
 +
 +Multiple Comparisons of Means: Dunnett Contrasts
 +
 +
 +Fit: lm(formula = Postwt ~ Prewt + Treat, data = anorexia)
 +
 +Linear Hypotheses:
 +                Estimate Std. Error t value Pr(>|t|)    
 +CBT - Cont == 0    4.097      1.893   2.164 0.062939 .  
 +FT - Cont == 0     8.660      2.193   3.949 0.000373 ***
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +(Adjusted p values reported -- single-step method)
 +</code>
 +
  
 ====== ANCOVA (Analysis of Covariance) 2 ====== ====== ANCOVA (Analysis of Covariance) 2 ======
Line 221: Line 288:
      )      )
 </code> </code>
 +
 +====== Eg. ======
 +{{tri.csv}}
 +trt: treatment
 +pat: patient id
 +hgba1c: Hemoglobin A1c 
 +trichg: Triglyceride changes
 +
 +$ trichg = hgba1c + trt + e $
  
  
ancova.1447118475.txt.gz · Last modified: 2015/11/10 09:51 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki