library(tidyverse)
library(magrittr)
library(gnm)
library(broom)
5 第5章
パッケージの呼び出し.
モデル適合度を表示するための関数を準備する.すべてgnmによって推定を行う.
# Specify the constrasts
# Here, we use sum to zero contrast.
options(width=90, contrasts = c(factor="contr.sum", ordered="contr.treatment"))
# Define a function which calculation BIC based on L2 statistics
<- function(obj, Model = NULL){
model.summary if (sum(class(obj) == "gnm") != 1)
stop("estimate with gnm")
<- obj$deviance - obj$df * 2 # AIC(L2)
aic <- obj$deviance - obj$df * log(sum(obj$y)) #BIC(L2)
bic <- 100 * sum(abs(obj$y - obj$fitted.values)) / (2 * sum(obj$y))
delta <- pchisq(obj$deviance, obj$df, lower.tail = FALSE) #p<-ifelse(p<0.001,"<0.001",p)
p <- matrix(0, 1, 7)
result if (is.null(Model)){
<- deparse(substitute(obj))
Model
}<- tibble(
result "Model Description" = Model,
"df" = obj$df,
"L2" = obj$deviance,
#"AIC(L2)" = aic,
"BIC" = bic,
"Delta" = delta,
"p" = p
)return(result)
}
5.1 表5.1
# Table 5.1
<- c(118, 28, 32, 6, 7,
Freq 218, 28, 97, 12, 14,
11, 2, 4, 1, 1,
104, 22, 61, 8, 5,
117, 24, 70, 9, 7,
42, 6, 20, 2, 0,
48, 16, 104, 14, 9,
128, 52, 81, 14, 12)
<- gl(8,5)
worries <- gl(5,1,8*5)
situations
.1 <- tibble(Freq, worries, situations)
tab5
# Model 1 - Independence
<- tab5.1 |>
m1 gnm(Freq ~ worries + situations,
family = poisson,
trace = F,
tolerance = 1e-12,
data = _)
model.summary(m1)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m1 28 121. -84.3 9.84 1.31e-13
# Model 2 - RC(1)
<- tab5.1 |>
m2 gnm(Freq ~ worries + situations + Mult(1, worries, situations),
family = poisson,
trace = F,
tolerance = 1e-12,
data = _)
Initialising
Running start-up iterations..
Running main iterations...................................................................
.........
Done
model.summary(m2)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m2 18 29.2 -103. 4.01 0.0461
# Model 3 - RC(1) with equality constraints on
# MIL=ECO=MTO, ENR=SAB=OTH and ASAF=IFAA
<- worries
worries.a levels(worries.a) <- factor(c(1, 2, 2, 3, 3, 2, 4, 3))
worries.a
[1] 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 4 4 4 4 4 3 3 3 3 3
Levels: 1 2 3 4
<- situations
situations.a levels(situations.a) <- factor(c(1, 2, 3, 3, 4))
situations.a
[1] 1 2 3 3 4 1 2 3 3 4 1 2 3 3 4 1 2 3 3 4 1 2 3 3 4 1 2 3 3 4 1 2 3 3 4 1 2 3 3 4
Levels: 1 2 3 4
<- tab5.1 |>
m3.un gnm(Freq ~ worries + situations +
Mult(1, worries.a, situations.a),
family = poisson,
trace = F,
tolerance = 1e-12,
data = _)
Initialising
Running start-up iterations..
Running main iterations..........................................................
Done
model.summary(m3.un)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m3.un 23 29.6 -139. 4.08 0.161
<- getContrasts(m3.un,
mu pickCoef(m3.un, "[.]worries.a"),
ref = c(1, 3, 3, 1) / 8, scaleRef = c(1, 3, 3, 1) / 8,
scaleWeights = c(1, 3, 3, 1))
<- getContrasts(m3.un,
nu pickCoef(m3.un, "[.]situations.a"),
ref = c(1, 1, 2, 1) / 5, scaleRef = c(1, 1, 2, 1) / 5,
scaleWeights = c(1, 1, 2, 1))
<- c(mu$qvframe[, 1][c(1, 4)], nu$qvframe[, 1][c(1, 4)])
con <- gnm(Freq ~ worries + situations + Mult(1, worries.a, situations.a),
m3 family = poisson,
constrain = c(14, 17, 18, 21), constrainTo = con,
trace = F,
tolerance = 1e-12)
Initialising
Running start-up iterations..
Running main iterations....................................................
Done
summary(m3);mu;nu;model.summary(m3.un)
Call:
gnm(formula = Freq ~ worries + situations + Mult(1, worries.a,
situations.a), constrain = c(14, 17, 18, 21), constrainTo = con,
family = poisson, tolerance = 1e-12, trace = F)
Deviance Residuals:
Min 1Q Median 3Q Max
-2.55631 -0.35180 0.05564 0.41188 2.91020
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 2.85834 0.05067 56.406 < 2e-16 ***
worries1 0.10499 0.16439 0.639 0.52304
worries2 0.88097 0.08378 10.515 < 2e-16 ***
worries3 -2.08538 0.21086 -9.890 < 2e-16 ***
worries4 0.34128 0.07460 4.575 4.77e-06 ***
worries5 0.46792 0.07155 6.540 6.16e-11 ***
worries6 -0.78133 0.12531 -6.235 4.51e-10 ***
worries7 0.36910 0.28578 1.292 0.19651
situations1 1.43713 0.08740 16.443 < 2e-16 ***
situations2 -0.02940 0.07766 -0.379 0.70501
situations3 0.88374 0.07261 12.172 < 2e-16 ***
situations4 -1.07721 0.11438 -9.418 < 2e-16 ***
Mult(., worries.a, situations.a). 1.35718 0.50966 2.663 0.00775 **
Mult(1, ., situations.a).worries.a1 -0.42724 NA NA NA
Mult(1, ., situations.a).worries.a2 -0.17319 0.11548 -1.500 0.13367
Mult(1, ., situations.a).worries.a3 0.03189 0.09790 0.326 0.74459
Mult(1, ., situations.a).worries.a4 0.85113 NA NA NA
Mult(1, worries.a, .).situations.a1 -0.69874 NA NA NA
Mult(1, worries.a, .).situations.a2 -0.29537 0.22737 -1.299 0.19392
Mult(1, worries.a, .).situations.a3 0.45726 0.41619 1.099 0.27191
Mult(1, worries.a, .).situations.a4 0.07959 NA NA NA
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for poisson family taken to be 1)
Std. Error is NA where coefficient has been constrained or is unidentified
Residual deviance: 29.612 on 23 degrees of freedom
AIC: 249.9
Number of iterations: 52
Estimate Std. Error
Mult(1, ., situations.a).worries.a1 -0.4272363 0.09380998
Mult(1, ., situations.a).worries.a2 -0.1731936 0.04675330
Mult(1, ., situations.a).worries.a3 0.0318943 0.04574940
Mult(1, ., situations.a).worries.a4 0.8511342 0.03998795
Estimate Std. Error
Mult(1, worries.a, .).situations.a1 -0.69874471 0.08798182
Mult(1, worries.a, .).situations.a2 -0.29537072 0.13782241
Mult(1, worries.a, .).situations.a3 0.45726207 0.06815138
Mult(1, worries.a, .).situations.a4 0.07959129 0.22251866
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m3.un 23 29.6 -139. 4.08 0.161
# Model 4 - RC(1) with equality constraints on
# MIL=ECO=MTO=ENR=SAB=OTH and ASAF=IFAA
<- worries
worries.b levels(worries.b) <- factor(c(1, 2, 2, 2, 2, 2, 3, 2))
worries.b
[1] 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 2 2 2 2 2
Levels: 1 2 3
<- tab5.1 |>
m4.un gnm(Freq ~ worries + situations + Mult(1, worries.b, situations.a),
family = poisson,
trace = F,
tolerance = 1e-12,
data = _)
Initialising
Running start-up iterations..
Running main iterations..........................
Done
model.summary(m4.un)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m4.un 24 34.5 -142. 4.80 0.0760
# Model 5
<- tab5.1 |>
m5.un gnm(Freq ~ worries + situations +
Mult(1, worries, situations, inst = 1) +
Mult(1, worries, situations, inst = 2),
family = poisson,
trace = F, tolerance = 1e-12,
data = _)
Initialising
Running start-up iterations..
Running main iterations...................................................................
Done
model.summary(m5.un)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m5.un 10 6.81 -66.7 0.872 0.743
# Model 6 - RC(2) with equality constraints on
# ECO=MTO=MIL=ENR=SAB and ASAF=IFAA in both dimensions
<- worries
worries.c levels(worries.c) <- factor(c(1,2,2,2,2,2,3,4))
worries.c
[1] 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4
Levels: 1 2 3 4
set.seed(12345)
<- tab5.1 |>
m6.un gnm(Freq ~ worries + situations +
Mult(1, worries.c, situations.a, inst = 1) +
Mult(1, worries.c, situations.a, inst = 2),
family = poisson,
trace = F,
tolerance = 1e-12,
data = _)
Initialising
Running start-up iterations..
Running main iterations............................................
Done
model.summary(m6.un)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m6.un 20 13.7 -133. 2.82 0.847
5.2 表5.4
最適尺度法として連関モデルを利用する.
# Table 5.4
<-c(1096, 1847, 1255, 925, 3321, 6123, 6830, 5524,
Freq1541, 3134, 3145, 3300, 1915, 4429, 7035, 9421,
4183, 5139, 1857, 1272, 8080, 8586, 4788, 4294,
6033, 9211, 5046, 1058, 28130, 44589, 20074, 3408,
4354, 13430, 18670, 9821, 2250, 9075, 18286, 14358,
14587, 31470, 16390, 3751, 8242, 17532, 12825, 3956,
1517, 5820, 6197, 2372, 721, 2909, 4141, 2070,
3581, 9268, 5463, 1007, 1341, 3808, 3163, 815,
1454, 3109, 1055, 888, 563, 1909, 1018, 1051,
3237, 3851, 377, 102, 731, 858, 247, 84,
14882, 22182, 5363, 1136, 11650, 15818, 5524, 2122,
6033, 3475, 63, 18, 1603, 1005, 30, 16,
5968, 8783, 7701, 6483, 8733, 14329, 19386, 28143,
1011, 2162, 3536, 6649, 697, 1299, 2362, 10796,
3214, 3621, 2485, 3177, 793, 1134, 1292, 3597,
11532, 16837, 6975, 1839, 2563, 2995, 2060, 1600,
1009, 2719, 3521, 3409, 296, 503, 626, 1273,
1586, 3025, 1726, 668, 245, 415, 238, 218,
387, 941, 564, 316, 86, 138, 79, 48,
994, 1988, 542, 145, 158, 259, 101, 56,
171, 409, 223, 245, 65, 172, 99, 174,
293, 290, 67, 31, 32, 62, 18, 30,
4288, 4916, 1452, 766, 616, 794, 347, 300,
370, 186, 3, 4, 67, 37, 5, 2)
<- gl(4, 1, 192) # 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 ...
income <- gl(12, 8, 192) # 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 ...
occ <- rep(c(1,2), each = 4, length.out = 96)
edu1 <- rep(c(3,4), each = 4, length.out = 96)
edu2 <- c(edu1, edu2) |> factor()
educ
# 確認
matrix(income, nrow = 24, ncol = 8, byrow = TRUE)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] "1" "2" "3" "4" "1" "2" "3" "4"
[2,] "1" "2" "3" "4" "1" "2" "3" "4"
[3,] "1" "2" "3" "4" "1" "2" "3" "4"
[4,] "1" "2" "3" "4" "1" "2" "3" "4"
[5,] "1" "2" "3" "4" "1" "2" "3" "4"
[6,] "1" "2" "3" "4" "1" "2" "3" "4"
[7,] "1" "2" "3" "4" "1" "2" "3" "4"
[8,] "1" "2" "3" "4" "1" "2" "3" "4"
[9,] "1" "2" "3" "4" "1" "2" "3" "4"
[10,] "1" "2" "3" "4" "1" "2" "3" "4"
[11,] "1" "2" "3" "4" "1" "2" "3" "4"
[12,] "1" "2" "3" "4" "1" "2" "3" "4"
[13,] "1" "2" "3" "4" "1" "2" "3" "4"
[14,] "1" "2" "3" "4" "1" "2" "3" "4"
[15,] "1" "2" "3" "4" "1" "2" "3" "4"
[16,] "1" "2" "3" "4" "1" "2" "3" "4"
[17,] "1" "2" "3" "4" "1" "2" "3" "4"
[18,] "1" "2" "3" "4" "1" "2" "3" "4"
[19,] "1" "2" "3" "4" "1" "2" "3" "4"
[20,] "1" "2" "3" "4" "1" "2" "3" "4"
[21,] "1" "2" "3" "4" "1" "2" "3" "4"
[22,] "1" "2" "3" "4" "1" "2" "3" "4"
[23,] "1" "2" "3" "4" "1" "2" "3" "4"
[24,] "1" "2" "3" "4" "1" "2" "3" "4"
matrix(occ, nrow = 24, ncol = 8, byrow = TRUE)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] "1" "1" "1" "1" "1" "1" "1" "1"
[2,] "2" "2" "2" "2" "2" "2" "2" "2"
[3,] "3" "3" "3" "3" "3" "3" "3" "3"
[4,] "4" "4" "4" "4" "4" "4" "4" "4"
[5,] "5" "5" "5" "5" "5" "5" "5" "5"
[6,] "6" "6" "6" "6" "6" "6" "6" "6"
[7,] "7" "7" "7" "7" "7" "7" "7" "7"
[8,] "8" "8" "8" "8" "8" "8" "8" "8"
[9,] "9" "9" "9" "9" "9" "9" "9" "9"
[10,] "10" "10" "10" "10" "10" "10" "10" "10"
[11,] "11" "11" "11" "11" "11" "11" "11" "11"
[12,] "12" "12" "12" "12" "12" "12" "12" "12"
[13,] "1" "1" "1" "1" "1" "1" "1" "1"
[14,] "2" "2" "2" "2" "2" "2" "2" "2"
[15,] "3" "3" "3" "3" "3" "3" "3" "3"
[16,] "4" "4" "4" "4" "4" "4" "4" "4"
[17,] "5" "5" "5" "5" "5" "5" "5" "5"
[18,] "6" "6" "6" "6" "6" "6" "6" "6"
[19,] "7" "7" "7" "7" "7" "7" "7" "7"
[20,] "8" "8" "8" "8" "8" "8" "8" "8"
[21,] "9" "9" "9" "9" "9" "9" "9" "9"
[22,] "10" "10" "10" "10" "10" "10" "10" "10"
[23,] "11" "11" "11" "11" "11" "11" "11" "11"
[24,] "12" "12" "12" "12" "12" "12" "12" "12"
matrix(educ, nrow = 24, ncol = 8, byrow = TRUE)
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] "1" "1" "1" "1" "2" "2" "2" "2"
[2,] "1" "1" "1" "1" "2" "2" "2" "2"
[3,] "1" "1" "1" "1" "2" "2" "2" "2"
[4,] "1" "1" "1" "1" "2" "2" "2" "2"
[5,] "1" "1" "1" "1" "2" "2" "2" "2"
[6,] "1" "1" "1" "1" "2" "2" "2" "2"
[7,] "1" "1" "1" "1" "2" "2" "2" "2"
[8,] "1" "1" "1" "1" "2" "2" "2" "2"
[9,] "1" "1" "1" "1" "2" "2" "2" "2"
[10,] "1" "1" "1" "1" "2" "2" "2" "2"
[11,] "1" "1" "1" "1" "2" "2" "2" "2"
[12,] "1" "1" "1" "1" "2" "2" "2" "2"
[13,] "3" "3" "3" "3" "4" "4" "4" "4"
[14,] "3" "3" "3" "3" "4" "4" "4" "4"
[15,] "3" "3" "3" "3" "4" "4" "4" "4"
[16,] "3" "3" "3" "3" "4" "4" "4" "4"
[17,] "3" "3" "3" "3" "4" "4" "4" "4"
[18,] "3" "3" "3" "3" "4" "4" "4" "4"
[19,] "3" "3" "3" "3" "4" "4" "4" "4"
[20,] "3" "3" "3" "3" "4" "4" "4" "4"
[21,] "3" "3" "3" "3" "4" "4" "4" "4"
[22,] "3" "3" "3" "3" "4" "4" "4" "4"
[23,] "3" "3" "3" "3" "4" "4" "4" "4"
[24,] "3" "3" "3" "3" "4" "4" "4" "4"
# 分析用データ
.4 <- data.frame(Freq, income, occ, educ)
tab5########################################################################################
# Table 5.5
# Model 1: Complete Independence
<- tab5.4 |>
m1 gnm(Freq ~ educ + occ + income,
data = _,
family = poisson,
tolerance = 1e-12)
model.summary(m1)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m1 174 586906. 584537. 33.8 0
# Model 2: Conditional Independence
<- tab5.4 |>
m2 gnm(Freq ~ educ * occ + income * occ,
data = _,
family = poisson,
tolerance = 1e-12)
model.summary(m2)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m2 108 27957. 26487. 6.00 0
# Model 3: All two-way interaction
<- tab5.4 |>
m3 gnm(Freq ~ educ * occ + income * occ + educ * income,
data = _,
family = poisson, tolerance = 1e-12)
model.summary(m3)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m3 99 6540. 5192. 2.64 0
# Model 4: RC(1)+RL(1) partial association
<- tab5.4 |>
m4 gnm(Freq ~ educ + occ + income + Mult(1, occ, educ) + Mult(1, occ, income),
data = _,
family = poisson,
tolerance = 1e-12)
Initialising
Running start-up iterations..
Running main iterations...................................................................
.....
Done
model.summary(m4)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m4 148 70861. 68846. 11.2 0
# Model 5: Model 4 with consistent row (occupation) scores
<- tab5.4 |>
m5 gnm(Freq ~ educ + occ + income + Mult(1, occ, educ + income),
data = _,
family = poisson,
tolerance = 1e-12)
Initialising
Running start-up iterations..
Running main iterations...................................................................
..........................................................................................
......................................
Done
model.summary(m5)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m5 158 185515. 183364. 18.3 0
<- getContrasts(model = m5,
mu set = pickCoef(m5, "[.]occ")[1:12],
ref = "mean",
scaleRef = "mean",
scaleWeights = "unit")
mu
Estimate Std. Error
Mult(1, ., educ + income).occ1 -0.54805987 0.001793134
Mult(1, ., educ + income).occ2 -0.38746682 0.001271727
Mult(1, ., educ + income).occ3 -0.21717857 0.001291161
Mult(1, ., educ + income).occ4 -0.14398575 0.001002368
Mult(1, ., educ + income).occ5 -0.08607017 0.001273939
Mult(1, ., educ + income).occ6 0.15776750 0.001820890
Mult(1, ., educ + income).occ7 0.05029005 0.002500252
Mult(1, ., educ + income).occ8 0.14092026 0.002598170
Mult(1, ., educ + income).occ9 0.02379483 0.003466324
Mult(1, ., educ + income).occ10 0.39930723 0.004697125
Mult(1, ., educ + income).occ11 0.10479535 0.001779509
Mult(1, ., educ + income).occ12 0.50588597 0.004258340
# Model 6: RC(1)+RL(1)+CL(1) partial association
<- tab5.4 |>
m6 gnm(Freq ~ educ + occ + income +
Mult(1, occ, educ) +
Mult(1, occ, income) +
Mult(1, educ, income),
data = _,
family = poisson,
tolerance = 1e-12)
Initialising
Running start-up iterations..
Running main iterations...................................................................
..
Done
model.summary(m6)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m6 143 42101. 40154. 8.27 0
# Model 7: Model 6 with consistent row (occupation) scores
<- tab5.4 |>
m7 gnm(Freq ~ educ + occ + income +
Mult(1, occ, educ + income) +
Mult(1, educ, income),
data = _,
family = poisson,
tolerance = 1e-12)
Initialising
Running start-up iterations..
Running main iterations...................................................................
..........................................................................................
..........................................................................................
........................
Done
model.summary(m7)
# A tibble: 1 × 6
`Model Description` df L2 BIC Delta p
<chr> <int> <dbl> <dbl> <dbl> <dbl>
1 m7 153 174073. 171990. 17.8 0
<- getContrasts(model = m7,
mu set = pickCoef(m7, "[.]occ"),
ref = "mean",
scaleRef = "mean",
scaleWeights = "unit")
mu
Estimate Std. Error
Mult(1, ., educ + income).occ1 0.56931429 0.001883457
Mult(1, ., educ + income).occ2 0.37928161 0.001275097
Mult(1, ., educ + income).occ3 0.22247516 0.001381547
Mult(1, ., educ + income).occ4 0.17045561 0.001046926
Mult(1, ., educ + income).occ5 0.05464251 0.001423421
Mult(1, ., educ + income).occ6 -0.16380722 0.001871288
Mult(1, ., educ + income).occ7 -0.07890623 0.002667870
Mult(1, ., educ + income).occ8 -0.14504188 0.002680434
Mult(1, ., educ + income).occ9 -0.04282708 0.003676179
Mult(1, ., educ + income).occ10 -0.39013284 0.004810546
Mult(1, ., educ + income).occ11 -0.09178943 0.001794307
Mult(1, ., educ + income).occ12 -0.48366450 0.004397647
# Model 8: model 6 with consistent row, column and layer scores
# currently, this might not be fitted with gnm!
- 表5.5のモデル1については原著および訳書ともに\(\Delta\)の値が間違っているので注意すること(印刷後に修正漏れに気づきました).実際は33.85である.
# 2つの引数についてのリストを作成
## 第1引数はモデル
<- list(m1, m2, m3, m4, m5, m6, m7)
models ## 第2引数はモデルの内容
<-
model_desctiption list("完全独立",
"条件付き独立",
"すべての2元交互作用",
"RC(1)+RL(1) 部分連関",
"一貫した行(職業)スコアのあるRC(1)+RL(1) 部分連関",
"RC(1)+RL(1)+CL(1) 部分連関",
"一貫した行(職業)スコアのあるRC(1)+RL(1)+CL(1)部分連関")
# 結果をまとめる
map2_dfr(models, model_desctiption, model.summary, .id = "Model") |>
::kable() knitr
Model | Model Description | df | L2 | BIC | Delta | p |
---|---|---|---|---|---|---|
1 | 完全独立 | 174 | 586906.225 | 584536.899 | 33.848968 | 0 |
2 | 条件付き独立 | 108 | 27957.399 | 26486.783 | 6.003195 | 0 |
3 | すべての2元交互作用 | 99 | 6540.396 | 5192.331 | 2.635334 | 0 |
4 | RC(1)+RL(1) 部分連関 | 148 | 70860.986 | 68845.698 | 11.169390 | 0 |
5 | 一貫した行(職業)スコアのあるRC(1)+RL(1) 部分連関 | 158 | 185515.252 | 183363.795 | 18.266858 | 0 |
6 | RC(1)+RL(1)+CL(1) 部分連関 | 143 | 42101.443 | 40154.238 | 8.274821 | 0 |
7 | 一貫した行(職業)スコアのあるRC(1)+RL(1)+CL(1)部分連関 | 153 | 174073.129 | 171989.756 | 17.803352 | 0 |