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.
The saved examples below were generated with nlpsem 1.0.0.9006;
extdata/REGENERATED.txt records the versions and how the
fits compare with the previous ones. Rendering this guide does not refit
its disabled model-fitting chunks. Refit with the current version for a
new analysis, use getDiagnostics() to check admissibility
and uncertainty, and compare multiple starts for difficult nonlinear or
mixture models. These examples are not evidence of numerical
qualification.
# Load ECLS-K (2011) data
data("RMS_dat")
RMS_dat0 <- RMS_dat
# Re-baseline the data so that the estimated initial status is for the
# starting point of the study
baseT <- RMS_dat0$T1
RMS_dat0$T1 <- (RMS_dat0$T1 - baseT)/12
RMS_dat0$T2 <- (RMS_dat0$T2 - baseT)/12
RMS_dat0$T3 <- (RMS_dat0$T3 - baseT)/12
RMS_dat0$T4 <- (RMS_dat0$T4 - baseT)/12
RMS_dat0$T5 <- (RMS_dat0$T5 - baseT)/12
RMS_dat0$T6 <- (RMS_dat0$T6 - baseT)/12
RMS_dat0$T7 <- (RMS_dat0$T7 - baseT)/12
RMS_dat0$T8 <- (RMS_dat0$T8 - baseT)/12
RMS_dat0$T9 <- (RMS_dat0$T9 - baseT)/12
# Standardize time-invariant covariates (TICs)
## ex1 is standardized growth TIC in models
RMS_dat0$ex1 <- scale(RMS_dat0$Approach_to_Learning)
# Standardize time-varying covariate (TVC)
BL_mean <- mean(RMS_dat0[, "R1"])
BL_var <- var(RMS_dat0[, "R1"])
RMS_dat0$Rs1 <- (RMS_dat0$R1 - BL_mean)/sqrt(BL_var)
RMS_dat0$Rs2 <- (RMS_dat0$R2 - BL_mean)/sqrt(BL_var)
RMS_dat0$Rs3 <- (RMS_dat0$R3 - BL_mean)/sqrt(BL_var)
RMS_dat0$Rs4 <- (RMS_dat0$R4 - BL_mean)/sqrt(BL_var)
RMS_dat0$Rs5 <- (RMS_dat0$R5 - BL_mean)/sqrt(BL_var)
RMS_dat0$Rs6 <- (RMS_dat0$R6 - BL_mean)/sqrt(BL_var)
RMS_dat0$Rs7 <- (RMS_dat0$R7 - BL_mean)/sqrt(BL_var)
RMS_dat0$Rs8 <- (RMS_dat0$R8 - BL_mean)/sqrt(BL_var)
RMS_dat0$Rs9 <- (RMS_dat0$R9 - BL_mean)/sqrt(BL_var)
xstarts <- mean(baseT)set.seed(20191029)
Math_TVC_BLS_f <- getTVCmodel(
dat = RMS_dat0, t_var = "T", y_var = "M", curveFun = "BLS", intrinsic = TRUE,
records = 1:9, y_model = "LGCM", TVC = "Rs", decompose = 0, growth_TIC = "ex1",
tries = 10
)
set.seed(20191029)
Math_TVCslp_BLS_f <- getTVCmodel(
dat = RMS_dat0, t_var = "T", y_var = "M", curveFun = "BLS", intrinsic = TRUE,
records = 1:9, y_model = "LGCM", TVC = "Rs", decompose = 1, growth_TIC = "ex1",
tries = 10, paramOut = TRUE
)getEstimateStats(est_in = Math_TVCslp_BLS_f@Estimates, CI_type = "Wald")
#> An object of class "StatsOutput"
#> Slot "wald":
#> Estimate SE p.value wald_lbound wald_ubound
#> Y_alpha0 3.711576e+01 0.405734396 <0.0001 36.32053860 37.91098821
#> Y_alpha1 2.048744e+01 0.206082459 <0.0001 20.08352332 20.89135172
#> Y_alpha2 8.206438e+00 0.187798110 <0.0001 7.83836011 8.57451517
#> Y_alphag 3.159997e+00 0.041813848 <0.0001 3.07804299 3.24195026
#> Y_psi00 4.721345e+01 4.186383190 <0.0001 39.00829208 55.41861264
#> Y_psi01 -1.205055e+00 1.631979064 0.4603 -4.40367489 1.99356548
#> Y_psi02 -2.294568e+00 1.498461631 0.1257 -5.23149905 0.64236261
#> Y_psi0g -3.718480e-01 0.304193140 0.2216 -0.96805563 0.22435956
#> Y_psi11 1.216684e+01 1.192823576 <0.0001 9.82895176 14.50473426
#> Y_psi12 -2.186928e-01 0.794360759 0.7831 -1.77561130 1.33822565
#> Y_psi1g -7.959253e-01 0.187914599 <0.0001 -1.16423117 -0.42761948
#> Y_psi22 3.325021e+00 1.144545784 0.0037 1.08175268 5.56828971
#> Y_psi2g -3.249415e-01 0.178603121 0.0689 -0.67499723 0.02511414
#> Y_psigg 2.938684e-01 0.047995848 <0.0001 0.19979823 0.38793850
#> Y_residuals 2.839216e+01 0.804230430 <0.0001 26.81589599 29.96842135
#> X_mueta0 9.309360e-03 0.055610685 0.8671 -0.09968558 0.11830430
#> X_mueta1 2.503646e+00 0.070159205 <0.0001 2.36613620 2.64115523
#> X_psi00 1.212426e+00 0.085609223 <0.0001 1.04463496 1.38021695
#> X_psi01 -7.761133e-02 0.020249778 1e-04 -0.11730016 -0.03792249
#> X_psi11 9.802161e-02 0.010636629 <0.0001 0.07717420 0.11886902
#> X_rel_rate2 6.947270e-01 0.038405283 <0.0001 0.61945403 0.76999997
#> X_rel_rate3 1.247841e+00 0.043115852 <0.0001 1.16333573 1.33234676
#> X_rel_rate4 4.902895e-01 0.030289016 <0.0001 0.43092413 0.54965489
#> X_rel_rate5 7.110086e-01 0.033019516 <0.0001 0.64629151 0.77572563
#> X_rel_rate6 2.823416e-01 0.016859708 <0.0001 0.24929718 0.31538602
#> X_rel_rate7 3.019077e-01 0.016795010 <0.0001 0.26899009 0.33482532
#> X_rel_rate8 2.567693e-01 0.016476220 <0.0001 0.22447647 0.28906206
#> X_abs_rate2 2.503646e+00 0.070159205 <0.0001 2.36613620 2.64115523
#> X_abs_rate3 1.739350e+00 0.066353262 <0.0001 1.60930027 1.86940028
#> X_abs_rate4 3.124152e+00 0.066374286 <0.0001 2.99406118 3.25424360
#> X_abs_rate5 1.227511e+00 0.067973481 <0.0001 1.09428567 1.36073681
#> X_abs_rate6 1.780114e+00 0.065622020 <0.0001 1.65149677 1.90873036
#> X_abs_rate7 7.068833e-01 0.038030439 <0.0001 0.63234505 0.78142163
#> X_abs_rate8 7.558699e-01 0.036725756 <0.0001 0.68388877 0.82785109
#> X_abs_rate9 6.428593e-01 0.037530518 <0.0001 0.56930081 0.71641774
#> X_residuals 3.586983e-01 0.008794175 <0.0001 0.34146200 0.37593454
#> betaTIC0 9.664645e-01 0.388817293 0.0129 0.20439660 1.72853238
#> betaTIC1 1.190497e-01 0.208122507 0.5673 -0.28886288 0.52696236
#> betaTIC2 -2.104573e-01 0.193819237 0.2775 -0.59033600 0.16942145
#> betaTICg 4.942311e-03 0.039089345 0.8994 -0.07167140 0.08155602
#> betaTVC0 7.623010e+00 0.379391383 <0.0001 6.87941649 8.36660338
#> betaTVC1 8.497488e-01 0.201782976 <0.0001 0.45426145 1.24523618
#> betaTVC2 -3.466522e-01 0.189955874 0.068 -0.71895886 0.02565449
#> betaTVCg -1.271951e-01 0.039057191 0.0011 -0.20374575 -0.05064437
#> muTIC 5.570162e-07 0.044669625 >0.9999 -0.08755030 0.08755141
#> phiTIC 9.980007e-01 0.063132216 <0.0001 0.87426383 1.12173756
#> Y_mueta0 3.718673e+01 0.545018363 <0.0001 36.11851293 38.25494565
#> Y_mueta1 2.049535e+01 0.206120882 <0.0001 20.09135870 20.89933771
#> Y_mueta2 8.203210e+00 0.188906209 <0.0001 7.83296105 8.57345978
#> Y_mu_knot 3.158813e+00 0.041757326 <0.0001 3.07696967 3.24065538
#> covBL 4.000059e-01 0.052300670 <0.0001 0.29749847 0.50251333
#> kappa 1.778886e+00 0.105950460 <0.0001 1.57122660 1.98654477
#> Cov_XYres 5.509761e-01 0.061897925 <0.0001 0.42965842 0.67229382
#>
#> Slot "likelihood":
#> data frame with 0 columns and 0 rows
#>
#> Slot "bootstrap":
#> data frame with 0 columns and 0 rows
Figure1 <- getFigure(
model = Math_TVC_BLS_f@mxOutput, sub_Model = "TVC", y_var = "M", curveFun = "BLS",
y_model = "LGCM", t_var = "T", records = 1:9, xstarts = xstarts, xlab = "Year",
outcome = "Mathematics"
)
show(Figure1)
#> figOutput Object
#> --------------------
#> Trajectories: 1
#> Figure 1:
#> `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'Figure2 <- getFigure(
model = Math_TVCslp_BLS_f@mxOutput, sub_Model = "TVC", y_var = "M", curveFun = "BLS",
y_model = "LGCM", t_var = "T", records = 1:9, xstarts = xstarts, xlab = "Year",
outcome = "Mathematics"
)
show(Figure2)
#> figOutput Object
#> --------------------
#> Trajectories: 1
#> Figure 1:
#> `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'Figures 1 and 2 show each model’s growth component, which leaves out the TVC effect; the dashed line adds it back. With the TVC entered directly, the growth component leaves out the TVC’s full value at each occasion, while with interval-specific slopes it leaves out only the slope effect, so the two components describe different quantities.
The saved Model 1 is a local optimum of a likelihood with several: its -2LL is 47324.02, while the same model reaches 47225.92 when time is measured in months instead of years. Compare the solutions from several starts before interpreting a random-knot model.
set.seed(20191029)
Math_TVCslp_BLS_r <- getTVCmodel(
dat = RMS_dat0, t_var = "T", y_var = "M", curveFun = "BLS", intrinsic = FALSE,
records = 1:9, y_model = "LGCM", TVC = "R", decompose = 1, growth_TIC = "ex1",
tries = 10, paramOut = TRUE)
set.seed(20191029)
Math_TVCchg_BLS_r <- getTVCmodel(
dat = RMS_dat0, t_var = "T", y_var = "M", curveFun = "BLS", intrinsic = FALSE,
records = 1:9, y_model = "LGCM", TVC = "R", decompose = 2, growth_TIC = "ex1",
tries = 10, paramOut = TRUE)
set.seed(20191029)
Math_TVCchgBL_BLS_r <- getTVCmodel(
dat = RMS_dat0, t_var = "T", y_var = "M", curveFun = "BLS", intrinsic = FALSE,
records = 1:9, y_model = "LGCM", TVC = "R", decompose = 3, growth_TIC = "ex1",
tries = 10, paramOut = TRUE) Figure3 <- getFigure(
model = Math_TVCslp_BLS_r@mxOutput, sub_Model = "TVC", y_var = "M", curveFun = "BLS",
y_model = "LGCM", t_var = "T", records = 1:9, xstarts = xstarts, xlab = "Year",
outcome = "Mathematics"
)
show(Figure3)
#> figOutput Object
#> --------------------
#> Trajectories: 1
#> Figure 1:
#> `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'Figure4 <- getFigure(
model = Math_TVCchg_BLS_r@mxOutput, sub_Model = "TVC", y_var = "M", curveFun = "BLS",
y_model = "LGCM", t_var = "T", records = 1:9, xstarts = xstarts, xlab = "Year",
outcome = "Mathematics"
)
show(Figure4)
#> figOutput Object
#> --------------------
#> Trajectories: 1
#> Figure 1:
#> `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'Figure5 <- getFigure(
model = Math_TVCchgBL_BLS_r@mxOutput, sub_Model = "TVC", y_var = "M", curveFun = "BLS",
y_model = "LGCM", t_var = "T", records = 1:9, xstarts = xstarts, xlab = "Year",
outcome = "Mathematics"
)
show(Figure5)
#> figOutput Object
#> --------------------
#> Trajectories: 1
#> Figure 1:
#> `geom_smooth()` using method = 'gam' and formula = 'y ~ s(x, bs = "cs")'The saved Math_TVCchgBL_BLS_r example reaches optimizer
status 0, and getDiagnostics() reports no issues:
An earlier fit of the same call (nlpsem 1.0.0.9000) also reached
status 0, at a poorer optimum (-2LL 64317.60 against 64207.48) with a
negative latent residual variance (Y_psi22, about -1.40):
optimizer status alone does not distinguish such solutions.
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.