The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
library(hmcdm)
= dim(Design_array)[1]
N = nrow(Q_matrix)
J = ncol(Q_matrix)
K = dim(Design_array)[3] L
<- sample(1:2^K, N, replace = L)
class_0 <- matrix(0,N,K)
Alphas_0 for(i in 1:N){
<- inv_bijectionvector(K,(class_0[i]-1))
Alphas_0[i,]
}= rnorm(N)
thetas_true = c(-1, 1.8, .277, .055)
lambdas_true <- sim_alphas(model="HO_sep",
Alphas lambdas=lambdas_true,
thetas=thetas_true,
Q_matrix=Q_matrix,
Design_array=Design_array)
table(rowSums(Alphas[,,5]) - rowSums(Alphas[,,1])) # used to see how much transition has taken place
#>
#> 0 1 2 3 4
#> 36 28 91 161 34
<- matrix(runif(J*2,.1,.2), ncol=2)
itempars_true
<- sim_hmcdm(model="DINA",Alphas,Q_matrix,Design_array,
Y_sim itempars=itempars_true)
= hmcdm(Y_sim,Q_matrix,"DINA_HO",Test_order = Test_order, Test_versions = Test_versions,
output_HMDCM chain_length=100,burn_in=30,
theta_propose = 2,deltas_propose = c(.45,.35,.25,.06))
#> 0
= hmcdm(Y_sim,Q_matrix,"DINA_HO",Design_array,
output_HMDCM chain_length=100,burn_in=30,
theta_propose = 2,deltas_propose = c(.45,.35,.25,.06))
#> 0
output_HMDCM#>
#> Model: DINA_HO
#>
#> Sample Size: 350
#> Number of Items:
#> Number of Time Points:
#>
#> Chain Length: 100, burn-in: 30
summary(output_HMDCM)
#>
#> Model: DINA_HO
#>
#> Item Parameters:
#> ss_EAP gs_EAP
#> 0.1698 0.1651
#> 0.1680 0.1600
#> 0.1493 0.1269
#> 0.1329 0.1430
#> 0.1139 0.1124
#> ... 45 more items
#>
#> Transition Parameters:
#> lambdas_EAP
#> λ0 -1.4473
#> λ1 1.9931
#> λ2 0.1998
#> λ3 0.1391
#>
#> Class Probabilities:
#> pis_EAP
#> 0000 0.1429
#> 0001 0.1706
#> 0010 0.1868
#> 0011 0.2530
#> 0100 0.1556
#> ... 11 more classes
#>
#> Deviance Information Criterion (DIC): 19275.41
#>
#> Posterior Predictive P-value (PPP):
#> M1: 0.4937
#> M2: 0.49
#> total scores: 0.623
<- summary(output_HMDCM)
a $ss_EAP
a#> [,1]
#> [1,] 0.1697906
#> [2,] 0.1680309
#> [3,] 0.1492832
#> [4,] 0.1329068
#> [5,] 0.1138727
#> [6,] 0.1661326
#> [7,] 0.1705610
#> [8,] 0.1246988
#> [9,] 0.2354335
#> [10,] 0.1794307
#> [11,] 0.1431058
#> [12,] 0.1529385
#> [13,] 0.1331102
#> [14,] 0.1267657
#> [15,] 0.1497950
#> [16,] 0.1769501
#> [17,] 0.1744780
#> [18,] 0.1824385
#> [19,] 0.2135706
#> [20,] 0.1727740
#> [21,] 0.1837538
#> [22,] 0.1474389
#> [23,] 0.2108857
#> [24,] 0.1130164
#> [25,] 0.1082945
#> [26,] 0.1829056
#> [27,] 0.2060486
#> [28,] 0.1929764
#> [29,] 0.1876752
#> [30,] 0.1507918
#> [31,] 0.1301102
#> [32,] 0.1945162
#> [33,] 0.2057871
#> [34,] 0.1923413
#> [35,] 0.1234793
#> [36,] 0.2201181
#> [37,] 0.2065649
#> [38,] 0.1702183
#> [39,] 0.1853408
#> [40,] 0.1845450
#> [41,] 0.1679590
#> [42,] 0.1603618
#> [43,] 0.1931209
#> [44,] 0.1568479
#> [45,] 0.2033812
#> [46,] 0.1286860
#> [47,] 0.1235941
#> [48,] 0.2308971
#> [49,] 0.1723194
#> [50,] 0.1458139
$lambdas_EAP
a#> [,1]
#> λ0 -1.4473139
#> λ1 1.9930927
#> λ2 0.1997842
#> λ3 0.1390890
mean(a$PPP_total_scores)
#> [1] 0.6246612
mean(upper.tri(a$PPP_item_ORs))
#> [1] 0.49
mean(a$PPP_item_means)
#> [1] 0.506
<- numeric(L)
AAR_vec for(t in 1:L){
<- mean(Alphas[,,t]==a$Alphas_est[,,t])
AAR_vec[t]
}
AAR_vec#> [1] 0.9171429 0.9385714 0.9592857 0.9742857 0.9785714
<- numeric(L)
PAR_vec for(t in 1:L){
<- mean(rowSums((Alphas[,,t]-a$Alphas_est[,,t])^2)==0)
PAR_vec[t]
}
PAR_vec#> [1] 0.7200000 0.7800000 0.8514286 0.9142857 0.9200000
$DIC
a#> Transition Response_Time Response Joint Total
#> D_bar 2082.864 NA 15064.31 1289.583 18436.75
#> D(theta_bar) 1811.729 NA 14528.49 1257.873 17598.09
#> DIC 2353.999 NA 15600.12 1321.292 19275.41
head(a$PPP_total_scores)
#> [,1] [,2] [,3] [,4] [,5]
#> [1,] 0.2714286 0.8714286 1.0000000 0.5000000 1.0000000
#> [2,] 0.5428571 0.4000000 1.0000000 1.0000000 0.5285714
#> [3,] 0.2714286 0.5857143 0.4571429 0.5714286 0.8714286
#> [4,] 0.3285714 0.5285714 0.5571429 0.5857143 1.0000000
#> [5,] 0.5428571 0.5285714 0.9285714 0.4571429 0.7714286
#> [6,] 0.7571429 0.8142857 1.0000000 1.0000000 0.2428571
head(a$PPP_item_means)
#> [1] 0.5000000 0.4571429 0.5857143 0.5285714 0.5000000 0.4285714
head(a$PPP_item_ORs)
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
#> [1,] NA 0.7714286 0.7285714 0.5285714 0.5571429 0.7142857 0.6000000 0.6714286
#> [2,] NA NA 0.8714286 0.6571429 0.8571429 0.5428571 0.8857143 0.9571429
#> [3,] NA NA NA 0.9714286 0.4428571 0.8142857 0.3142857 0.9857143
#> [4,] NA NA NA NA 0.8285714 0.7714286 0.9142857 0.6428571
#> [5,] NA NA NA NA NA 0.7571429 0.8285714 0.5857143
#> [6,] NA NA NA NA NA NA 0.2857143 0.6285714
#> [,9] [,10] [,11] [,12] [,13] [,14] [,15]
#> [1,] 0.9142857 0.6142857 0.71428571 0.9428571 0.9857143 0.6857143 0.35714286
#> [2,] 0.5428571 0.2714286 0.05714286 0.7571429 0.8714286 0.4571429 0.54285714
#> [3,] 0.2285714 0.3857143 0.27142857 0.1714286 0.7857143 0.1857143 0.35714286
#> [4,] 0.6714286 0.6428571 0.91428571 0.7571429 0.5571429 0.5857143 0.48571429
#> [5,] 0.2571429 0.4000000 0.11428571 0.4714286 0.8142857 0.2857143 0.04285714
#> [6,] 0.8714286 0.4714286 0.42857143 0.1571429 0.4142857 0.2714286 0.17142857
#> [,16] [,17] [,18] [,19] [,20] [,21] [,22]
#> [1,] 0.9714286 0.37142857 0.2285714 0.41428571 0.7000000 0.70000000 0.57142857
#> [2,] 0.6142857 0.42857143 0.6857143 0.15714286 0.4571429 0.72857143 0.11428571
#> [3,] 0.1857143 0.58571429 0.9714286 0.02857143 0.4285714 0.05714286 0.10000000
#> [4,] 0.7857143 0.47142857 0.9285714 0.35714286 0.5714286 0.31428571 0.32857143
#> [5,] 0.3285714 0.04285714 0.0000000 0.12857143 0.2142857 0.50000000 0.55714286
#> [6,] 0.8285714 0.48571429 0.3571429 0.38571429 0.8428571 0.58571429 0.07142857
#> [,23] [,24] [,25] [,26] [,27] [,28] [,29]
#> [1,] 0.1000000 0.8714286 0.7571429 0.17142857 0.1285714 0.6142857 0.6714286
#> [2,] 0.6000000 0.6857143 0.5142857 0.48571429 0.1000000 0.6571429 0.6571429
#> [3,] 0.4571429 0.8000000 0.7142857 0.04285714 0.5000000 0.4714286 0.2571429
#> [4,] 0.3285714 0.9571429 0.9571429 0.30000000 0.9142857 0.6571429 0.1000000
#> [5,] 0.2000000 1.0000000 0.6000000 0.64285714 0.4000000 0.6285714 0.7714286
#> [6,] 0.2571429 0.9000000 0.4428571 0.65714286 0.1285714 0.3000000 0.4142857
#> [,30] [,31] [,32] [,33] [,34] [,35] [,36]
#> [1,] 0.6428571 0.3285714 0.6714286 0.8714286 0.6428571 0.81428571 0.80000000
#> [2,] 0.6428571 0.8714286 0.2857143 0.6142857 0.4428571 0.01428571 0.05714286
#> [3,] 0.2571429 0.9142857 0.3000000 0.4714286 0.8857143 0.91428571 0.91428571
#> [4,] 0.3285714 0.4571429 0.2571429 0.8571429 0.2571429 0.27142857 0.21428571
#> [5,] 1.0000000 0.4142857 0.3857143 0.4571429 0.7285714 0.42857143 0.42857143
#> [6,] 0.1000000 0.4571429 0.2285714 0.6714286 0.5571429 0.12857143 0.20000000
#> [,37] [,38] [,39] [,40] [,41] [,42] [,43]
#> [1,] 0.8857143 0.9428571 0.9857143 0.9285714 0.5571429 0.1714286 0.11428571
#> [2,] 0.6000000 0.3428571 0.1285714 0.7000000 0.1714286 0.7285714 0.38571429
#> [3,] 0.8285714 0.6285714 0.8142857 0.4428571 0.7571429 0.9142857 0.22857143
#> [4,] 0.7142857 0.2714286 0.9714286 0.1428571 0.8857143 0.9428571 0.07142857
#> [5,] 0.5428571 0.3857143 0.9714286 0.5857143 0.6000000 0.5857143 0.18571429
#> [6,] 0.8142857 0.3571429 0.7857143 0.9571429 0.1857143 0.9714286 0.10000000
#> [,44] [,45] [,46] [,47] [,48] [,49] [,50]
#> [1,] 0.01428571 0.00000000 0.2714286 0.04285714 0.44285714 0.1571429 0.1142857
#> [2,] 0.37142857 0.02857143 0.6000000 0.40000000 0.35714286 0.3285714 0.2857143
#> [3,] 0.82857143 0.51428571 0.9857143 0.91428571 0.52857143 0.2571429 0.9428571
#> [4,] 0.20000000 0.67142857 0.5714286 0.54285714 0.70000000 0.6285714 0.1000000
#> [5,] 0.32857143 0.01428571 0.9000000 0.65714286 0.04285714 0.6714286 0.2571429
#> [6,] 0.08571429 0.18571429 0.4571429 0.57142857 0.12857143 0.2571429 0.3000000
library(bayesplot)
pp_check(output_HMDCM)
pp_check(output_HMDCM, plotfun="dens_overlay", type="item_mean")
pp_check(output_HMDCM, plotfun="hist", type="item_OR")
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
pp_check(output_HMDCM, plotfun="stat_2d", type="item_mean")
pp_check(output_HMDCM, plotfun="scatter_avg", type="total_score")
pp_check(output_HMDCM, plotfun="error_scatter_avg", type="total_score")
Checking convergence of the two independent MCMC chains with
different initial values using coda
package.
# output_HMDCM1 = hmcdm(Y_sim, Q_matrix, "DINA_HO", Design_array,
# chain_length=100, burn_in=30,
# theta_propose = 2, deltas_propose = c(.45,.35,.25,.06))
# output_HMDCM2 = hmcdm(Y_sim, Q_matrix, "DINA_HO", Design_array,
# chain_length=100, burn_in=30,
# theta_propose = 2, deltas_propose = c(.45,.35,.25,.06))
#
# library(coda)
#
# x <- mcmc.list(mcmc(t(rbind(output_HMDCM1$ss, output_HMDCM1$gs, output_HMDCM1$lambdas))),
# mcmc(t(rbind(output_HMDCM2$ss, output_HMDCM2$gs, output_HMDCM2$lambdas))))
#
# gelman.diag(x, autoburnin=F)
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.