05/29/08
cvic5.r
################################################## ## ## Zobecněné lineární modely ## ## Úloha 5: Vzdělání a zájem o politiku ## ##################################################
cv5.dat <- read.csv("cvic5.csv") ## Jména veličin a rozměry datové tabulky names(cv5.dat) # [1] "n" "polit" "vzdel" "stat" dim(cv5.dat) # [1] 30 4 ## Vypišme soubor cv5.dat # n polit vzdel stat # 1 94 Ano Zakladni SSSR # 2 84 Ne Zakladni SSSR # 3 227 Ano Zakladni USA # 4 112 Ne Zakladni USA # 5 356 Ano Zakladni Britanie # 6 144 Ne Zakladni Britanie # 7 166 Ano Zakladni Italie # 8 526 Ne Zakladni Italie # 9 447 Ano Zakladni Mexiko # 10 430 Ne Zakladni Mexiko # 11 318 Ano Stredni SSSR # 12 120 Ne Stredni SSSR # 13 371 Ano Stredni USA # 14 71 Ne Stredni USA # 15 256 Ano Stredni Britanie # 16 76 Ne Stredni Britanie # 17 142 Ano Stredni Italie # 18 103 Ne Stredni Italie # 19 78 Ano Stredni Mexiko # 20 25 Ne Stredni Mexiko # 21 473 Ano Vysok. SSSR # 22 72 Ne Vysok. SSSR # 23 180 Ano Vysok. USA # 24 8 Ne Vysok. USA # 25 22 Ano Vysok. Britanie # 26 2 Ne Vysok. Britanie # 27 47 Ano Vysok. Italie # 28 7 Ne Vysok. Italie # 29 22 Ano Vysok. Mexiko # 30 2 Ne Vysok. Mexiko ## Jaký typ má polit class(cv5.dat$polit) # [1] "character" ## Mám vypnutou automatickou konverzi znaků na faktory ## Využiju toho k tomu, abych si pořadí úrovní faktorů zadával ## podle potřeby cv5.dat$pol.f <- factor(cv5.dat$polit,levels=c("Ne","Ano")) cv5.dat$vzd.f <- factor(cv5.dat$vzdel, levels=c("Zakladni","Stredni","Vysok.")) cv5.dat$stat.f <- factor(cv5.dat$stat, levels=c("USA","Britanie","Italie","Mexiko","SSSR")) ## Model nezávislosti: (P,V,S) Page 1
05/29/08
cvic5.r
fit1 <- glm(n~pol.f+vzd.f+stat.f,family=poisson,data=cv5.dat) summary(fit1) # Call: # glm(formula = n ~ pol.f + vzd.f + stat.f, family = poisson, # data = cv5.dat) # # Deviance Residuals: # Min 1Q Median 3Q Max # -17.892 -9.141 -4.067 4.933 23.726 # # Coefficients: # Estimate Std. Error z value Pr(>|z|) # (Intercept) 5.19285 0.03973 130.709 < 2e-16 *** # pol.fAno 0.58510 0.02956 19.794 < 2e-16 *** # vzd.fStredni -0.50543 0.03206 -15.766 < 2e-16 *** # vzd.fVysok. -1.13044 0.03980 -28.401 < 2e-16 *** # stat.fBritanie -0.12399 0.04691 -2.643 0.0082 ** # stat.fItalie 0.02245 0.04518 0.497 0.6192 # stat.fMexiko 0.03548 0.04503 0.788 0.4307 # stat.fSSSR 0.18077 0.04351 4.155 3.26e-05 *** # --# Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 # # (Dispersion parameter for poisson family taken to be 1) # # Null deviance: 4284.6 on 29 degrees of freedom # Residual deviance: 2879.1 on 22 degrees of freedom # AIC: 3082.9 ## Interpretace parametru pol.fAno = 0.58510: ## Odhad šance na zájem o politiku mezi všemi účastníky studie je ## exp(0.58510) = 1.80 ## Odhad pravděpodobnosti zájmu o politiku je 1.80/(1+1.80) = 0.64 ## Test kvality modelu: Pokud model platí, (residuální) deviance ## má chí-kvadrát rozdělení s 22 stupni volnosti ## (lze, neboť všechny regresory jsou diskrétní) ## Testová statistika: 2879.1, model jasně zamítáme. ## Veličiny P, V, S nejsou vzájemně nezávislé.
## Model (PV,PS,VS) fit2 <- glm(n~(pol.f+vzd.f+stat.f)^2,family=poisson,data=cv5.dat) summary(fit2) # Call: # glm(formula = n ~ (pol.f + vzd.f + stat.f)^2, family = poisson, # data = cv5.dat) # # Deviance Residuals: # Min 1Q Median 3Q Max # -1.92874 -0.44634 0.01420 0.40072 2.91900 # # Coefficients: # Estimate Std. Error z value Pr(>|z|) # (Intercept) 4.70956 0.08197 57.453 < 2e-16 # pol.fAno 0.71977 0.09129 7.885 3.16e-15 # vzd.fStredni -0.47412 0.09577 -4.951 7.39e-07 # vzd.fVysok. -2.32035 0.15336 -15.130 < 2e-16 # stat.fBritanie 0.40996 0.10500 3.904 9.45e-05 # stat.fItalie 1.50594 0.09069 16.605 < 2e-16 # stat.fMexiko 1.34744 0.09371 14.378 < 2e-16 # stat.fSSSR -0.20748 0.11476 -1.808 0.0706 # pol.fAno:vzd.fStredni 0.96612 0.07983 12.102 < 2e-16 # pol.fAno:vzd.fVysok. 2.06770 0.13436 15.389 < 2e-16 Page 2
*** *** *** *** *** *** *** . *** ***
05/29/08 # # # # # # # # # # # # # # # # # # # # # #
cvic5.r
pol.fAno:stat.fBritanie -0.03192 pol.fAno:stat.fItalie -1.68009 pol.fAno:stat.fMexiko -0.66773 pol.fAno:stat.fSSSR -0.74685 vzd.fStredni:stat.fBritanie -0.66928 vzd.fVysok.:stat.fBritanie -2.43831 vzd.fStredni:stat.fItalie -0.93617 vzd.fVysok.:stat.fItalie -1.29905 vzd.fStredni:stat.fMexiko -2.27472 vzd.fVysok.:stat.fMexiko -2.79173 vzd.fStredni:stat.fSSSR 0.78519 vzd.fVysok.:stat.fSSSR 1.95625 --Signif. codes: 0 '***' 0.001 '**' 0.01
0.11644 0.10891 0.10955 0.11534 0.10308 0.23008 0.10913 0.17475 0.12841 0.22852 0.11776 0.13259
-0.274 -15.427 -6.095 -6.475 -6.493 -10.598 -8.579 -7.434 -17.715 -12.217 6.668 14.754
0.7840 < 2e-16 1.09e-09 9.49e-11 8.43e-11 < 2e-16 < 2e-16 1.05e-13 < 2e-16 < 2e-16 2.60e-11 < 2e-16
*** *** *** *** *** *** *** *** *** *** ***
'*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for poisson family taken to be 1) Null deviance: 4284.62 Residual deviance: 35.09 AIC: 266.84
on 29 on 8
degrees of freedom degrees of freedom
Number of Fisher Scoring iterations: 4
## V tomto modelu jsou všechny veličiny vzájemně závislé. Podmíněné ## poměry šancí dvou veličin však nezávisí na hodnotách třetí veličiny. ## Interpretace parametru pol.fAno:vzd.fVysok. = 2.06770 ## Odhad poměru šancí na zájem o politiku mezi vysokoškoláky ## a lidmi se základním vzděláním je ## exp(2.06770) = 7.91 ## Mezi vysokoškoláky je téměř 8-krát větší šance na zájem ## o politiku než mezi lidmi se základním vzděláním. anova(fit1,fit2,test="Chisq") # Analysis of Deviance Table # # Model 1: n ~ pol.f + vzd.f + stat.f # Model 2: n ~ (pol.f + vzd.f + stat.f)^2 # Resid. Df Resid. Dev Df Deviance P(>|Chi|) # 1 22 2879.11 # 2 8 35.09 14 2844.02 0.00 ## Model s interakcemi je výrazně lepší. drop1(fit2,test="Chisq") # Single term deletions # # Model: # n ~ (pol.f + vzd.f + stat.f)^2 # Df Deviance AIC LRT Pr(Chi) # <none> 35.09 266.84 # pol.f:vzd.f 2 367.88 595.63 332.79 < 2.2e-16 *** # pol.f:stat.f 4 401.18 624.92 366.09 < 2.2e-16 *** # vzd.f:stat.f 8 1703.91 1919.65 1668.82 < 2.2e-16 *** ## Žádnou z interakcí nelze z modelu vypustit. ## Test kvality modelu: Pokud model platí, (residuální) deviance ## má chí-kvadrát rozdělení s 8 stupni volnosti ## Testová statistika: 35.09, model jasně zamítáme. ## Musíme přejít k saturovanému modelu.
Page 3
05/29/08
cvic5.r
fit.s <- glm(n~(pol.f+vzd.f+stat.f)^3,family=poisson,data=cv5.dat) summary(fit.s) # Call: # glm(formula = n ~ (pol.f + vzd.f + stat.f)^3, family = poisson, # data = cv5.dat) # # Deviance Residuals: # [1] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 # [26] 0 0 0 0 0 # # Coefficients: # Estimate Std. Err. z value Pr(>|z|) # (Intercept) 4.71850 0.09449 49.936 < 2e-16 # pol.fAno 0.70645 0.11547 6.118 9.48e-10 # vzd.fStredni -0.45582 0.15170 -3.005 0.002658 # vzd.fVysok. -2.63906 0.36596 -7.211 5.54e-13 # stat.fBritanie 0.25131 0.12599 1.995 0.046071 # stat.fItalie 1.54680 0.10407 14.864 < 2e-16 # stat.fMexiko 1.34529 0.10609 12.681 < 2e-16 # stat.fSSSR -0.28768 0.14434 -1.993 0.046248 # pol.fAno:vzd.fStredni 0.94707 0.17353 5.458 4.83e-08 # pol.fAno:vzd.fVysok. 2.40706 0.37933 6.346 2.22e-10 # pol.fAno:stat.fBritanie 0.19867 0.15195 1.307 0.191047 # pol.fAno:stat.fItalie -1.85976 0.14580 -12.755 < 2e-16 # pol.fAno:stat.fMexiko -0.66768 0.13378 -4.991 6.01e-07 # pol.fAno:stat.fSSSR -0.59397 0.18941 -3.136 0.001713 # vzd.fStredni:stat.fBritanie -0.18326 0.20764 -0.883 0.377464 # vzd.fVysok.:stat.fBritanie -1.63761 0.80055 -2.046 0.040794 # vzd.fStredni:stat.fItalie -1.17475 0.18607 -6.313 2.73e-10 # vzd.fVysok.:stat.fItalie -1.68033 0.52791 -3.183 0.001458 # vzd.fStredni:stat.fMexiko -2.38909 0.25561 -9.346 < 2e-16 # vzd.fVysok.:stat.fMexiko -2.73158 0.79766 -3.425 0.000616 # vzd.fStredni:stat.fSSSR 0.81249 0.20797 3.907 9.35e-05 # vzd.fVysok.:stat.fSSSR 2.48491 0.39965 6.218 5.05e-10 # pol.fAno:vzd.fStredni:stat.fBritanie -0.63774 0.23860 -2.673 0.007522 # pol.fAno:vzd.fVysok.:stat.fBritanie -0.91429 0.83612 -1.093 0.274180 # pol.fAno:vzd.fStredni:stat.fItalie 0.52734 0.23407 2.253 0.024266 # pol.fAno:vzd.fVysok.:stat.fItalie 0.65049 0.56209 1.157 0.247167 # pol.fAno:vzd.fStredni:stat.fMexiko 0.15199 0.29580 0.514 0.607375 # pol.fAno:vzd.fVysok.:stat.fMexiko -0.04794 0.83301 -0.058 0.954105 # pol.fAno:vzd.fStredni:stat.fSSSR -0.08499 0.25325 -0.336 0.737175 # pol.fAno:vzd.fVysok.:stat.fSSSR -0.63711 0.42712 -1.492 0.135796 # --# Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 # # (Dispersion parameter for poisson family taken to be 1) # # Null deviance: 4.2846e+03 on 29 degrees of freedom # Residual deviance: 1.0592e-13 on 0 degrees of freedom # AIC: 247.75 ## Saturovaný model je lepší než kterýkoli jiný model. Znamená to, že ## vztah kterýchkoli dvou studovaných veličin závisí na hodnotě třetí ## veličiny.
## Odpovědi na otázky bodu 5: # # # # # # # # # # #
(a) Je ve všech zemích stejná souvislost vzdělání se zájmem o politiku? Ne. Kdyby byla, data by byla v souladu s předchozím modelem. (b) Ve které zemi mají lidé se základním vzděláním nejmenší zájem o politiku? Základní vzdělání je referenční úroveň, takže se stačí podívat na interakce státu se zájmem o politiku. Jejich parametry porovnávají zájem o politiku mezi lidmi se základním vzděláním v jednotlivých zemích se Page 4
05/29/08 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
cvic5.r
Spojenými státy. Nejvyšší hodnotu má Británie, nejnižší Itálie. (c) Na které úrovni vzdělání jsou nejmarkantnější rozdíly mezi zeměmi v zájmu o politiku? Je to mezi lidmi se základním, středním, nebo vysokoškolským vzděláním? Pro základní vzdělání už víme, že největší rozdíl je mezi Itálií a Británií. Poměr šancí na zájem o politiku mezi těmito dvěma zeměmi je exp(0.19867-(-1.85976)) = 7.8. Pro střední vzdělání musíme vzít v úvahu i trojné interakce a správně je přičíst ke dvojným. pol.fAno:stat.fBritanie pol.fAno:vzd.fStredni:stat.fBritanie pol.fAno:stat.fItalie pol.fAno:vzd.fStredni:stat.fItalie pol.fAno:stat.fMexiko pol.fAno:vzd.fStredni:stat.fMexiko pol.fAno:stat.fSSSR pol.fAno:vzd.fStredni:stat.fSSSR
0.19867 -0.63774 -1.85976 0.52734 -0.66768 0.15199 -0.59397 -0.08499
Znaménka všech součtů jsou záporná, takže nejvyšší zájem o politiku mezi středoškoláky je v USA. Nejmenší součet má stále Itálie, -1.332. Poměr šancí na zájem o politiku mezi těmito dvěma zeměmi je exp(-(-1.332)) = 3.8. Podobně u vysokoškoláků: pol.fAno:stat.fBritanie pol.fAno:vzd.fVysok.:stat.fBritanie pol.fAno:stat.fItalie pol.fAno:vzd.fVysok.:stat.fItalie pol.fAno:stat.fMexiko pol.fAno:vzd.fVysok.:stat.fMexiko pol.fAno:stat.fSSSR pol.fAno:vzd.fVysok.:stat.fSSSR Tentokrát je to USA vs. SSSR (i když exp(-(-0.59397-0.63711)) = 3.4.
0.19867 -0.91429 -1.85976 0.65049 -0.66768 -0.04794 -0.59397 -0.63711 Itálie je těsně za ním), poměr šancí
Největší rozdíly mezi zeměmi v zájmu o politiku jsou u lidí se základním vzděláním. (d) Ve které zemi je největší rozdíl v zájmu o politiku mezi lidmi se základním a vysokoškolským vzděláním? Nyní budeme brát parametry pro interakce politiky se vzděláním podle zemí. pol.fAno:vzd.fVysok. pol.fAno:vzd.fVysok.:stat.fBritanie pol.fAno:vzd.fVysok.:stat.fItalie pol.fAno:vzd.fVysok.:stat.fMexiko pol.fAno:vzd.fVysok.:stat.fSSSR
2.40706 -0.91429 0.65049 -0.04794 -0.63711
Najdeme odhad poměru šancí mezi vysokoškoláky a lidmi se základním vzděláním pro každou zemi zvlášť: USA: OR = exp(2.40706) = 11.1 Británie: OR = exp(2.40706-0.91429) = 4.45 Itálie: OR = exp(2.40706+0.65049) = 21.3 Mexiko: OR = exp(2.40706-0.04794) = 10.6 SSSR: OR = exp(2.40706-0.63711) = 5.9 Největší rozdíl je v Itálii, nejmenší v Británii.
Page 5