
Data generating detailed process for multivariate plsR models
Source:R/simul_data_complete.R
simul_data_complete.RdThis function generates a single multivariate response value \(\boldsymbol{Y}\) and a vector of explinatory variables \((X_1,\ldots,X_{totdim})\) drawn from a model with a given number of latent components.
Value
- simX
Vector of explanatory variables
- HH
Dimension of the response \(\boldsymbol{Y}\)
- eta
See Li et al.
- r
See Li et al.
- epsilon
See Li et al.
- ksi
See Li et al.
- f
See Li et al.
- z
See Li et al.
- Y
See Li et al.
Details
This function should be combined with the replicate function to give rise to a larger dataset. The algorithm used is a port of the one described in the article of Li which is a multivariate generalization of the algorithm of Naes and Martens.
References
T. Naes, H. Martens, Comparison of prediction methods for
multicollinear data, Commun. Stat., Simul. 14 (1985) 545-576.
Morris, Elaine B. Martin, Model selection for partial least squares
regression, Chemometrics and Intelligent Laboratory
Systems 64 (2002) 79-89, doi:10.1016/S0169-7439(02)00051-5
.
See also
simul_data_YX for data simulation purpose
Author
Frédéric Bertrand
frederic.bertrand@lecnam.net
https://fbertran.github.io/homepage/
Examples
simul_data_complete(20,6)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6] [,7]
#> [1,] 0.3249479 -1.302068 3.521977 1.286913 0.09277795 -1.698084 3.301232
#> [,8] [,9] [,10] [,11] [,12] [,13] [,14]
#> [1,] 0.8790774 1.540645 -1.397721 1.816054 1.929831 -0.8677635 1.803039
#> [,15] [,16] [,17] [,18] [,19] [,20]
#> [1,] 1.551342 -1.428901 1.821296 1.928866 -0.9087361 1.81602
#>
#> $HH
#> [1] 4
#>
#> $eta
#> eta61 eta62 eta63 eta64 eta65 eta66
#> [1,] 0.5 0.5 0.5 0.5 0.5 0.5
#> [2,] 0.5 0.5 0.5 0.5 0.5 0.5
#> [3,] 0.5 0.5 0.5 0.5 0.5 0.5
#> [4,] 0.5 0.5 0.5 0.5 0.5 0.5
#>
#> $r
#> [1] 3.5832333 3.7769876 -5.7734951 -0.6660961 0.5808390 -0.1603459
#>
#> $epsilon
#> [1] -0.0085617466 0.0052469322 0.0038326312 0.0053674943 -0.0104330966
#> [6] -0.0001248337 0.0133863839 -0.0118234602 -0.0127681172 0.0157861392
#> [11] -0.0009161949 0.0034679718 0.0124481917 -0.0013463205 -0.0020712461
#> [16] -0.0153937623 0.0043261318 0.0025029332 -0.0285243903 0.0116344297
#>
#> $ksi
#> ksi1 ksi2 ksi3 ksi4 ksi5 ksi6
#> [1,] 0.2236068 0.2672612 0.25 0.2236068 0.2672612 0.25
#> [2,] 0.2236068 -0.2672612 0.25 -0.2236068 0.2672612 -0.25
#> [3,] 0.2236068 0.2672612 -0.25 -0.2236068 0.2672612 0.25
#> [4,] 0.2236068 -0.2672612 -0.25 0.2236068 0.2672612 -0.25
#> [5,] 0.2236068 0.2672612 0.25 0.2236068 -0.2672612 -0.25
#> [6,] 0.2236068 -0.2672612 0.25 -0.2236068 -0.2672612 0.25
#> [7,] 0.2236068 0.2672612 -0.25 -0.2236068 -0.2672612 -0.25
#> [8,] 0.2236068 -0.2672612 -0.25 0.2236068 -0.2672612 0.25
#> [9,] 0.2236068 -0.1336306 -0.25 0.2236068 -0.1336306 -0.25
#> [10,] 0.2236068 -0.1336306 0.25 0.2236068 -0.1336306 0.25
#> [11,] 0.2236068 0.2672612 0.00 0.2236068 0.2672612 0.00
#> [12,] 0.2236068 -0.1336306 -0.25 -0.2236068 0.1336306 0.25
#> [13,] 0.2236068 -0.1336306 0.25 -0.2236068 0.1336306 -0.25
#> [14,] 0.2236068 0.2672612 0.00 -0.2236068 -0.2672612 0.00
#> [15,] 0.2236068 -0.1336306 -0.25 0.2236068 -0.1336306 -0.25
#> [16,] 0.2236068 -0.1336306 0.25 0.2236068 -0.1336306 0.25
#> [17,] 0.2236068 0.2672612 0.00 0.2236068 0.2672612 0.00
#> [18,] 0.2236068 -0.1336306 -0.25 -0.2236068 0.1336306 0.25
#> [19,] 0.2236068 -0.1336306 0.25 -0.2236068 0.1336306 -0.25
#> [20,] 0.2236068 0.2672612 0.00 -0.2236068 -0.2672612 0.00
#>
#> $crossksi
#> ksi1 ksi2 ksi3 ksi4 ksi5 ksi6
#> ksi1 1.000000e+00 2.775558e-17 0 0.00000e+00 0.00000e+00 0
#> ksi2 2.775558e-17 1.000000e+00 0 0.00000e+00 0.00000e+00 0
#> ksi3 0.000000e+00 0.000000e+00 1 0.00000e+00 0.00000e+00 0
#> ksi4 0.000000e+00 0.000000e+00 0 1.00000e+00 -2.45101e-18 0
#> ksi5 0.000000e+00 0.000000e+00 0 -2.45101e-18 1.00000e+00 0
#> ksi6 0.000000e+00 0.000000e+00 0 0.00000e+00 0.00000e+00 1
#>
#> $f
#> [1] -0.5481464154 -0.1296797340 -0.0413287955 0.0013237678 -0.0001064198
#> [6] -0.0005108544
#>
#> $z
#> [1] 3.0350869 3.6473079 -5.8148239 -0.6647723 0.5807326 -0.1608567
#>
#> $Y
#> [,1] [,2] [,3] [,4]
#> [1,] 0.3086506 0.328639 0.306521 0.3387533
#>
dimX <- 6
Astar <- 2
simul_data_complete(dimX,Astar)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] -11.92382 -11.93983 -12.24377 -11.93565 -11.93258 -12.24643
#>
#> $HH
#> [1] 3
#>
#> $eta
#> eta21 eta22
#> [1,] 0.4082483 0.0000000
#> [2,] 0.8164966 0.4472136
#> [3,] 0.4082483 -0.8944272
#>
#> $r
#> [1] -29.4884597 -0.3327661
#>
#> $epsilon
#> [1] 0.018729106 0.002720558 -0.013029374 0.006899366 0.009973634
#> [6] -0.015698764
#>
#> $ksi
#> ksi1 ksi2
#> [1,] 0.4082483 -0.2886751
#> [2,] 0.4082483 -0.2886751
#> [3,] 0.4082483 0.5773503
#> [4,] 0.4082483 -0.2886751
#> [5,] 0.4082483 -0.2886751
#> [6,] 0.4082483 0.5773503
#>
#> $crossksi
#> ksi1 ksi2
#> ksi1 1.000000e+00 1.942637e-17
#> ksi2 1.942637e-17 1.000000e+00
#>
#> $f
#> [1] -0.24499429 0.02645113
#>
#> $z
#> [1] -29.7334540 -0.3063149
#>
#> $Y
#> [,1] [,2] [,3]
#> [1,] -12.11383 -24.43199 -11.83788
#>
dimX <- 6
Astar <- 3
simul_data_complete(dimX,Astar)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 3.705658 -3.714216 -5.083066 3.689309 -3.706379 -5.081213
#>
#> $HH
#> [1] 3
#>
#> $eta
#> eta31 eta32 eta33
#> [1,] 0.4082483 0.0000000 -0.9128709
#> [2,] 0.8164966 0.4472136 0.3651484
#> [3,] 0.4082483 -0.8944272 0.1825742
#>
#> $r
#> [1] -4.157965 -5.856378 -7.411954
#>
#> $epsilon
#> [1] 0.006571784 -0.001347999 -0.004402565 -0.009776634 0.006489552
#> [6] -0.002549603
#>
#> $ksi
#> ksi1 ksi2 ksi3
#> [1,] 0.4082483 -0.2886751 -0.5
#> [2,] 0.4082483 -0.2886751 0.5
#> [3,] 0.4082483 0.5773503 0.0
#> [4,] 0.4082483 -0.2886751 -0.5
#> [5,] 0.4082483 -0.2886751 0.5
#> [6,] 0.4082483 0.5773503 0.0
#>
#> $crossksi
#> ksi1 ksi2 ksi3
#> ksi1 1.000000e+00 1.942637e-17 0
#> ksi2 1.942637e-17 1.000000e+00 0
#> ksi3 0.000000e+00 0.000000e+00 1
#>
#> $f
#> [1] 0.002308828 -0.033314083 0.065541470
#>
#> $z
#> [1] -4.155656 -5.889693 -7.346413
#>
#> $Y
#> [,1] [,2] [,3]
#> [1,] 5.033656 -8.66688 2.25251
#>
dimX <- 6
Astar <- 4
simul_data_complete(dimX,Astar)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] -7.615509 2.714557 4.993652 -2.73239 7.556177 9.864435
#>
#> $HH
#> [1] 4
#>
#> $eta
#> eta41 eta42 eta43 eta44
#> [1,] 0.4082483 0.0000000 0.0000000 -0.9128709
#> [2,] 0.8164966 0.4472136 0.1825742 0.3651484
#> [3,] 0.4082483 -0.8944272 -0.3651484 0.1825742
#> [4,] 0.0000000 0.4472136 -0.9128709 0.0000000
#>
#> $r
#> [1] 6.020839 8.600495 10.301002 -5.952019
#>
#> $epsilon
#> [1] -1.035508e-02 1.870966e-02 5.797451e-05 1.296144e-02 5.262091e-04
#> [6] 1.103775e-02
#>
#> $ksi
#> ksi1 ksi2 ksi3 ksi4
#> [1,] 0.4082483 -0.2886751 -0.5 0.4082483
#> [2,] 0.4082483 -0.2886751 0.5 0.4082483
#> [3,] 0.4082483 0.5773503 0.0 0.4082483
#> [4,] 0.4082483 -0.2886751 -0.5 -0.4082483
#> [5,] 0.4082483 -0.2886751 0.5 -0.4082483
#> [6,] 0.4082483 0.5773503 0.0 -0.4082483
#>
#> $crossksi
#> ksi1 ksi2 ksi3 ksi4
#> ksi1 1.000000e+00 1.942637e-17 0 0.000000e+00
#> ksi2 1.942637e-17 1.000000e+00 0 2.775558e-17
#> ksi3 0.000000e+00 0.000000e+00 1 0.000000e+00
#> ksi4 0.000000e+00 2.775558e-17 0 1.000000e+00
#>
#> $f
#> [1] -0.072417358 0.022668719 0.025597331 0.008497631
#>
#> $z
#> [1] 5.948422 8.623164 10.326599 -5.943521
#>
#> $Y
#> [,1] [,2] [,3] [,4]
#> [1,] 7.865419 8.415744 -10.13458 -5.559469
#>
rm(list=c("dimX","Astar"))