setwd ("D:/PASCASARJANA/Semester 3/1. ADK/02. Praktikum/10")
7.1 Table 7.20 depicts data that was obtained from the 1994 administration of the General Social Survey (GSS) on respondent’s sex, level of fundamentalism and whether they favor or oppose the death penalty for murder. Fit and interpret the most parsimoniuos log-linear model to this data. Describe the process you went through to determine the best fitting, most parsimoniuous model. What types of association exist? Demonstrate how the fitted values obtained from the model depict these associations.
z.fund <- factor(rep(c("1fund", "2mod", "3lib"), each=4))
x.sex <- factor(rep(c("1M", "2F"), each=2, times=3))
y.fav<-factor(rep(c("1fav","2opp"),times=6))
counts<-c(128,32,123,73,182,56,168,105,119,49,111,70)
data.frame(z.fund,x.sex,y.fav,counts)
## z.fund x.sex y.fav counts
## 1 1fund 1M 1fav 128
## 2 1fund 1M 2opp 32
## 3 1fund 2F 1fav 123
## 4 1fund 2F 2opp 73
## 5 2mod 1M 1fav 182
## 6 2mod 1M 2opp 56
## 7 2mod 2F 1fav 168
## 8 2mod 2F 2opp 105
## 9 3lib 1M 1fav 119
## 10 3lib 1M 2opp 49
## 11 3lib 2F 1fav 111
## 12 3lib 2F 2opp 70
Dengan data.frame, kita dapat melakukan pengecekan apakah data yang sudah diinput dalam R merupakan data yang sama dengan data asli.
x.sex <- relevel(x.sex, ref="2F")
y.fav <- relevel(y.fav, ref = "2opp")
z.fund <- relevel(z.fund, ref = "3lib")
Pembentukan Saturated Model
model_sat <- glm(counts ~ x.sex+y.fav+z.fund+x.sex*y.fav+x.sex*z.fund+y.fav*z.fund+x.sex*y.fav*z.fund,family=poisson("link"=log))
summary(model_sat)
##
## Call:
## glm(formula = counts ~ x.sex + y.fav + z.fund + x.sex * y.fav +
## x.sex * z.fund + y.fav * z.fund + x.sex * y.fav * z.fund,
## family = poisson(link = log))
##
## Deviance Residuals:
## [1] 0 0 0 0 0 0 0 0 0 0 0 0
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.248495 0.119523 35.545 < 2e-16 ***
## x.sex1M -0.356675 0.186263 -1.915 0.05551 .
## y.fav1fav 0.461035 0.152626 3.021 0.00252 **
## z.fund1fund 0.041964 0.167285 0.251 0.80193
## z.fund2mod 0.405465 0.154303 2.628 0.00860 **
## x.sex1M:y.fav1fav 0.426268 0.228268 1.867 0.06185 .
## x.sex1M:z.fund1fund -0.468049 0.282210 -1.659 0.09721 .
## x.sex1M:z.fund2mod -0.271934 0.249148 -1.091 0.27507
## y.fav1fav:z.fund1fund 0.060690 0.212423 0.286 0.77511
## y.fav1fav:z.fund2mod 0.008969 0.196903 0.046 0.96367
## x.sex1M:y.fav1fav:z.fund1fund 0.438301 0.336151 1.304 0.19227
## x.sex1M:y.fav1fav:z.fund2mod 0.282383 0.301553 0.936 0.34905
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 2.4536e+02 on 11 degrees of freedom
## Residual deviance: 1.4655e-14 on 0 degrees of freedom
## AIC: 100.14
##
## Number of Fisher Scoring iterations: 3
Diperoleh Residual Deviance = 0 untuk Saturated Model.
model_hom <- glm(counts~x.sex+y.fav+z.fund+x.sex*y.fav+x.sex*z.fund+y.fav*z.fund, family = poisson("link"=log))
summary(model_hom)
##
## Call:
## glm(formula = counts ~ x.sex + y.fav + z.fund + x.sex * y.fav +
## x.sex * z.fund + y.fav * z.fund, family = poisson(link = log))
##
## Deviance Residuals:
## 1 2 3 4 5 6 7 8
## 0.2996 -0.5744 -0.3002 0.3994 0.0856 -0.1530 -0.0887 0.1129
## 9 10 11 12
## -0.4085 0.6655 0.4342 -0.5281
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.31096 0.10522 40.972 < 2e-16 ***
## x.sex1M -0.51575 0.13814 -3.733 0.000189 ***
## y.fav1fav 0.35707 0.12658 2.821 0.004788 **
## z.fund1fund -0.06762 0.14452 -0.468 0.639854
## z.fund2mod 0.33196 0.13142 2.526 0.011540 *
## x.sex1M:y.fav1fav 0.66406 0.12728 5.217 1.81e-07 ***
## x.sex1M:z.fund1fund -0.16201 0.15300 -1.059 0.289649
## x.sex1M:z.fund2mod -0.08146 0.14079 -0.579 0.562887
## y.fav1fav:z.fund1fund 0.23873 0.16402 1.455 0.145551
## y.fav1fav:z.fund2mod 0.13081 0.14951 0.875 0.381614
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 245.361 on 11 degrees of freedom
## Residual deviance: 1.798 on 2 degrees of freedom
## AIC: 97.934
##
## Number of Fisher Scoring iterations: 3
deltadev_modelSH <- model_hom$deviance - model_sat$deviance
deltadev_modelSH
## [1] 1.797977
deltadb_modelSH <- (4-0)
deltadb_modelSH
## [1] 4
chi_tabelSH <- qchisq((1-0.05), df=deltadev_modelSH)
chi_tabelSH
## [1] 5.593874
Keputusan_SH <- ifelse(deltadev_modelSH <= chi_tabelSH, "Tidak Tolak H0", "Tolak H0")
Keputusan_SH
## [1] "Tidak Tolak H0"
Dengan taraf nyata 5% dinyatakan bahwa belum cukup bukti untuk menolak H0 artinya bahwa tidak ada interaksi tiga arah antara jenis kelamin, fundamentalisme dan pendapat mengenai hukuman mati.
model_HCX <- glm(counts~x.sex+y.fav+z.fund+x.sex*y.fav+x.sex*z.fund,family = poisson("link"=log))
summary(model_HCX)
##
## Call:
## glm(formula = counts ~ x.sex + y.fav + z.fund + x.sex * y.fav +
## x.sex * z.fund, family = poisson(link = log))
##
## Deviance Residuals:
## 1 2 3 4 5 6 7 8
## 0.60542 -1.11492 0.16142 -0.20684 0.11953 -0.21283 -0.06470 0.08220
## 9 10 11 12
## -0.74698 1.26595 -0.08912 0.11304
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.23495 0.08955 47.293 < 2e-16 ***
## x.sex1M -0.52960 0.13966 -3.792 0.000149 ***
## y.fav1fav 0.48302 0.08075 5.982 2.20e-09 ***
## z.fund1fund 0.07962 0.10309 0.772 0.439916
## z.fund2mod 0.41097 0.09585 4.288 1.81e-05 ***
## x.sex1M:y.fav1fav 0.65845 0.12708 5.181 2.20e-07 ***
## x.sex1M:z.fund1fund -0.12841 0.15109 -0.850 0.395405
## x.sex1M:z.fund2mod -0.06267 0.13908 -0.451 0.652274
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 245.3612 on 11 degrees of freedom
## Residual deviance: 3.9303 on 4 degrees of freedom
## AIC: 96.067
##
## Number of Fisher Scoring iterations: 4
deltadev_modelCXH_ <- 3.903 - 1.798
deltadev_modelCXH_
## [1] 2.105
deltadb_modelCXH <- (4-2)
deltadb_modelCXH
## [1] 2
chi_tabelCXH <- qchisq((1-0.05), df=deltadb_modelCXH)
chi_tabelCXH
## [1] 5.991465
Keputusan_CXH <- ifelse(deltadev_modelCXH_ <= chi_tabelCXH, "Tidak Tolak H0", "Tolak H0")
Keputusan_CXH
## [1] "Tidak Tolak H0"
Dengan taraf nyata 5% belum cukup bukti untuk Tolak H0 atau dapat dikatakan bahwa tidak ada interaksi antara pendapat tentang hukuman mati dan fundamentalisme.
model_HCY <- glm(counts~x.sex+y.fav+z.fund+x.sex*y.fav+y.fav*z.fund, family = poisson("link"=log))
summary(model_HCY)
##
## Call:
## glm(formula = counts ~ x.sex + y.fav + z.fund + x.sex * y.fav +
## y.fav * z.fund, family = poisson(link = log))
##
## Deviance Residuals:
## 1 2 3 4 5 6 7 8
## -0.13887 -0.89983 0.14286 0.64384 0.09764 -0.17120 -0.10112 0.12650
## 9 10 11 12
## 0.02418 0.99745 -0.02499 -0.77148
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.33931 0.09919 43.748 < 2e-16 ***
## x.sex1M -0.59345 0.10645 -5.575 2.48e-08 ***
## y.fav1fav 0.37259 0.12438 2.996 0.00274 **
## z.fund1fund -0.12516 0.13389 -0.935 0.34989
## z.fund2mod 0.30228 0.12089 2.500 0.01240 *
## x.sex1M:y.fav1fav 0.65845 0.12708 5.181 2.20e-07 ***
## y.fav1fav:z.fund1fund 0.21254 0.16205 1.312 0.18966
## y.fav1fav:z.fund2mod 0.11757 0.14771 0.796 0.42606
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 245.3612 on 11 degrees of freedom
## Residual deviance: 2.9203 on 4 degrees of freedom
## AIC: 95.057
##
## Number of Fisher Scoring iterations: 4
deltadev_modelCYH <- 2.9203 - 1.798
deltadev_modelCYH
## [1] 1.1223
deltadb_modelCYH <- (4-2)
deltadb_modelCYH
## [1] 2
chi_tabel3 <- qchisq((1-0.05), df=deltadb_modelCYH)
chi_tabel3
## [1] 5.991465
Keputusan_CYH <- ifelse(deltadev_modelCYH <= chi_tabel3, "Tidak Tolak H0", "Tolak H0")
Keputusan_CYH
## [1] "Tidak Tolak H0"
Dengan taraf nyata 5% belum cukup bukti untuk Tolak H0, atau dapat dikatakan bahwa tidak ada interaksi antara jenis kelamin dan fundamentalisme.
model_HCZ <- glm(counts~x.sex+y.fav+z.fund+x.sex*z.fund+y.fav*z.fund, family = poisson("link"=log))
summary(model_HCZ)
##
## Call:
## glm(formula = counts ~ x.sex + y.fav + z.fund + x.sex * z.fund +
## y.fav * z.fund, family = poisson(link = log))
##
## Deviance Residuals:
## 1 2 3 4 5 6 7 8
## 1.3998 -2.3495 -1.3171 1.9188 1.4595 -2.2965 -1.4130 1.9781
## 9 10 11 12
## 0.7777 -1.1226 -0.7675 1.0321
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.12255 0.10518 39.195 < 2e-16 ***
## x.sex1M -0.07453 0.10713 -0.696 0.487
## y.fav1fav 0.65896 0.11292 5.836 5.36e-09 ***
## z.fund1fund -0.06540 0.15126 -0.432 0.665
## z.fund2mod 0.33196 0.13777 2.410 0.016 *
## x.sex1M:z.fund1fund -0.12841 0.15109 -0.850 0.395
## x.sex1M:z.fund2mod -0.06267 0.13908 -0.451 0.652
## y.fav1fav:z.fund1fund 0.21254 0.16205 1.312 0.190
## y.fav1fav:z.fund2mod 0.11757 0.14771 0.796 0.426
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 245.361 on 11 degrees of freedom
## Residual deviance: 29.729 on 3 degrees of freedom
## AIC: 123.87
##
## Number of Fisher Scoring iterations: 4
deltadev_modelCZH <- 29.729 - 1.798
deltadev_modelCZH
## [1] 27.931
deltadb_modelCZH <- 3 - 2
deltadb_modelCZH
## [1] 1
chi_tabel4 <- qchisq((1-0.05), df=deltadb_modelCZH)
chi_tabel4
## [1] 3.841459
Keputusan_CZH <- ifelse(deltadev_modelCZH <= chi_tabel4, "Tidak Tolak H0", "Tolak H0")
Keputusan_CZH
## [1] "Tolak H0"
model_terbaik <- glm(counts~x.sex+y.fav+z.fund+x.sex*y.fav, family = poisson("link"=log))
summary(model_terbaik)
##
## Call:
## glm(formula = counts ~ x.sex + y.fav + z.fund + x.sex * y.fav,
## family = poisson(link = log))
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.32758 -0.24954 -0.01277 0.14946 1.48613
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.26518 0.07794 54.721 < 2e-16 ***
## x.sex1M -0.59345 0.10645 -5.575 2.48e-08 ***
## y.fav1fav 0.48302 0.08075 5.982 2.20e-09 ***
## z.fund1fund 0.01986 0.07533 0.264 0.792
## z.fund2mod 0.38130 0.06944 5.491 4.00e-08 ***
## x.sex1M:y.fav1fav 0.65845 0.12708 5.181 2.20e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for poisson family taken to be 1)
##
## Null deviance: 245.3612 on 11 degrees of freedom
## Residual deviance: 4.6532 on 6 degrees of freedom
## AIC: 92.79
##
## Number of Fisher Scoring iterations: 4
data.frame(koef=model_terbaik$coefficients,exp_koef=exp(model_terbaik$coefficients))
## koef exp_koef
## (Intercept) 4.26517861 71.1776316
## x.sex1M -0.59344782 0.5524194
## y.fav1fav 0.48302334 1.6209677
## z.fund1fund 0.01985881 1.0200573
## z.fund2mod 0.38129767 1.4641834
## x.sex1M:y.fav1fav 0.65845265 1.9318008
data.frame(Fund=z.fund, Sex=x.sex, Favor=y.fav, counts=counts, fitted=model_terbaik$fitted.values)
## Fund Sex Favor counts fitted
## 1 1fund 1M 1fav 128 125.59539
## 2 1fund 1M 2opp 32 40.10855
## 3 1fund 2F 1fav 123 117.69079
## 4 1fund 2F 2opp 73 72.60526
## 5 2mod 1M 1fav 182 180.27878
## 6 2mod 1M 2opp 56 57.57155
## 7 2mod 2F 1fav 168 168.93257
## 8 2mod 2F 2opp 105 104.21711
## 9 3lib 1M 1fav 119 123.12582
## 10 3lib 1M 2opp 49 39.31990
## 11 3lib 2F 1fav 111 115.37664
## 12 3lib 2F 2opp 70 71.17763