concoef.Rdconcoef is a generic function which extracts the constrained
(canonical) coefficients from objects returned by certain modelling
functions.
concoef(object, ...)For constrained quadratic and ordination models, canonical coefficients are the elements of the C matrix used to form the latent variables. They are highly interpretable in ecology, and are looked at as weights or loadings.
They are also applicable for reduced-rank VGLMs.
The value returned depends specifically on the methods function invoked.
Yee, T. W. and Hastie, T. J. (2003). Reduced-rank vector generalized linear models. Statistical Modelling, 3, 15–41.
Yee, T. W. (2004). A new technique for maximum-likelihood canonical Gaussian ordination. Ecological Monographs, 74, 685–701.
Yee, T. W. (2006). Constrained additive ordination. Ecology, 87, 203–213.
concoef replaces ccoef;
the latter is deprecated.
For QO models, there is a direct inverse relationship between the
scaling of the latent variables (site scores) and the tolerances.
One normalization is for the latent variables to have unit variance.
Another normalization is for all the species' tolerances to be
unit (provided eq.tolerances is TRUE). These two
normalizations cannot simultaneously hold in general. For rank
\(R\) models with \(R>1\) it becomes more complicated because
the latent variables are also uncorrelated. An important argument when
fitting quadratic ordination models is whether eq.tolerances
is TRUE or FALSE. See Yee (2004) for details.
concoef-method,
concoef.qrrvglm,
concoef.cao,
coef.
if (FALSE) set.seed(111) # This leads to the global solution
hspider[,1:6] <- scale(hspider[,1:6]) # Standardized environmental vars
p1 <- cqo(cbind(Alopacce, Alopcune, Alopfabr, Arctlute, Arctperi,
Auloalbi, Pardlugu, Pardmont, Pardnigr, Pardpull,
Trocterr, Zoraspin) ~
WaterCon + BareSand + FallTwig + CoveMoss + CoveHerb + ReflLux,
family = poissonff, data = hspider, Crow1positive = FALSE)
#>
#> ========================= Fitting model 1 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -0.0297
#> BareSand 0.7742
#> FallTwig -0.6245
#> CoveMoss 0.6629
#> CoveHerb -0.4422
#> ReflLux 0.3680
#>
#> Using BFGS algorithm
#> initial value 2300.447392
#> iter 10 value 1585.128235
#> iter 10 value 1585.128235
#> iter 10 value 1585.128235
#> final value 1585.128235
#> converged
#>
#> BFGS using optim():
#> Objective = 1585.128
#> Parameters (= c(C)) =
#> -0.1505218 0.2330007 -0.3887361 0.1331961 -0.129322 0.2966513
#>
#> Number of function evaluations = 79
#>
#>
#> ========================= Fitting model 2 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -0.3673
#> BareSand 0.0468
#> FallTwig -0.2167
#> CoveMoss 0.2295
#> CoveHerb -0.3976
#> ReflLux 1.3875
#>
#> Using BFGS algorithm
#> initial value 2462.855086
#> iter 10 value 1585.128648
#> final value 1585.126916
#> converged
#>
#> BFGS using optim():
#> Objective = 1585.127
#> Parameters (= c(C)) =
#> -0.1505048 0.2328998 -0.3885472 0.1332807 -0.1292261 0.296841
#>
#> Number of function evaluations = 77
#>
#>
#> ========================= Fitting model 3 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -0.3477
#> BareSand 1.0130
#> FallTwig -0.5058
#> CoveMoss 0.2880
#> CoveHerb 0.0734
#> ReflLux 0.2509
#>
#> Using BFGS algorithm
#> initial value 2179.637749
#> final value 1731.470460
#> converged
#>
#> BFGS using optim():
#> Objective = 1731.47
#> Parameters (= c(C)) =
#> -0.04780479 -0.2946576 0.5093722 -0.1511481 0.152073 -0.3029592
#>
#> Number of function evaluations = 45
#>
#>
#> ========================= Fitting model 4 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -0.0935
#> BareSand 0.4406
#> FallTwig -0.6946
#> CoveMoss 0.5252
#> CoveHerb -0.2026
#> ReflLux 0.6471
#>
#> Using BFGS algorithm
#> initial value 1728.763565
#> iter 10 value 1585.131405
#> final value 1585.128845
#> converged
#>
#> BFGS using optim():
#> Objective = 1585.129
#> Parameters (= c(C)) =
#> -0.1504963 0.2329387 -0.3886767 0.1332134 -0.1293894 0.2967733
#>
#> Number of function evaluations = 109
#>
#>
#> ========================= Fitting model 5 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -0.863
#> BareSand 0.732
#> FallTwig -0.050
#> CoveMoss -0.294
#> CoveHerb -0.393
#> ReflLux 0.830
#>
#> Using BFGS algorithm
#> initial value 3723.304277
#> iter 10 value 1596.586076
#> final value 1585.128597
#> converged
#>
#> BFGS using optim():
#> Objective = 1585.129
#> Parameters (= c(C)) =
#> -0.1504381 0.2330689 -0.3886571 0.1331212 -0.1294373 0.2968269
#>
#> Number of function evaluations = 62
#>
#>
#> ========================= Fitting model 6 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -1.269
#> BareSand 0.329
#> FallTwig 0.620
#> CoveMoss -1.138
#> CoveHerb -0.932
#> ReflLux -0.385
#>
#> Using BFGS algorithm
#> initial value 4137.696987
#> iter 10 value 1601.737516
#> iter 20 value 1585.217168
#> final value 1585.129235
#> converged
#>
#> BFGS using optim():
#> Objective = 1585.129
#> Parameters (= c(C)) =
#> -0.1512383 0.232793 -0.386172 0.1328166 -0.1288943 0.2988026
#>
#> Number of function evaluations = 72
#>
#>
#> ========================= Fitting model 7 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -0.324
#> BareSand -0.711
#> FallTwig 1.005
#> CoveMoss -0.756
#> CoveHerb 0.237
#> ReflLux -0.310
#>
#> Using BFGS algorithm
#> initial value 1803.127452
#> final value 1627.976306
#> converged
#>
#> BFGS using optim():
#> Objective = 1627.976
#> Parameters (= c(C)) =
#> -0.1459704 0.1991088 -0.4921493 0.1871094 -0.146426 0.1849096
#>
#> Number of function evaluations = 73
#>
#>
#> ========================= Fitting model 8 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -1.514
#> BareSand 0.421
#> FallTwig 0.983
#> CoveMoss -0.283
#> CoveHerb -0.449
#> ReflLux 0.981
#>
#> Using BFGS algorithm
#> initial value 2994.392491
#> iter 10 value 2481.968009
#> iter 20 value 2472.058303
#> final value 2472.056299
#> converged
#>
#> BFGS using optim():
#> Objective = 2472.056
#> Parameters (= c(C)) =
#> -0.8102564 0.07482702 0.4950542 0.11016 -0.3468515 0.1362525
#>
#> Number of function evaluations = 124
#>
#>
#> ========================= Fitting model 9 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -0.0754
#> BareSand 0.6524
#> FallTwig -1.0008
#> CoveMoss 0.3485
#> CoveHerb -0.3177
#> ReflLux 0.3782
#>
#> Using BFGS algorithm
#> initial value 1661.645504
#> iter 10 value 1585.189705
#> final value 1585.128409
#> converged
#>
#> BFGS using optim():
#> Objective = 1585.128
#> Parameters (= c(C)) =
#> -0.1505422 0.2329779 -0.3885834 0.1331688 -0.1293828 0.2968226
#>
#> Number of function evaluations = 62
#>
#>
#> ========================= Fitting model 10 =========================
#>
#> Obtaining initial values
#>
#> Using initial values
#> latvar
#> WaterCon -1.142
#> BareSand -0.157
#> FallTwig 0.526
#> CoveMoss 0.115
#> CoveHerb -1.283
#> ReflLux 0.805
#>
#> Using BFGS algorithm
#> initial value 2724.023318
#> iter 10 value 2472.079496
#> final value 2472.056586
#> converged
#>
#> BFGS using optim():
#> Objective = 2472.057
#> Parameters (= c(C)) =
#> -0.8103999 0.07440154 0.4956676 0.1098731 -0.346912 0.1372482
#>
#> Number of function evaluations = 125
#>
concoef(p1)
#> latvar
#> WaterCon -0.3568095
#> BareSand 0.5521474
#> FallTwig -0.9211487
#> CoveMoss 0.3159754
#> CoveHerb -0.3063630
#> ReflLux 0.7037362
# \dontrun{}