
Data generating detailed process for multivariate plsR models
Source:R/simul_data_complete.R
simul_data_complete.Rd
This 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,] -1.712616 -2.708999 0.5089005 1.805394 -0.5960683 -2.198365 1.651388
#> [,8] [,9] [,10] [,11] [,12] [,13] [,14]
#> [1,] 2.335166 2.484493 -1.239708 0.119169 0.616752 -2.469253 -0.2062345
#> [,15] [,16] [,17] [,18] [,19] [,20]
#> [1,] 2.483004 -1.225264 0.1188616 0.5938215 -2.460134 -0.195174
#>
#> $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] -0.5181719 0.2851329 -6.7860253 2.5495065 -1.5436408 -0.6119904
#>
#> $epsilon
#> [1] 0.0190179819 0.0092237542 -0.0123040978 -0.0095696117 0.0044599032
#> [6] 0.0007421335 -0.0009226144 0.0010871323 0.0125932698 -0.0125990862
#> [11] 0.0012991337 0.0035771458 0.0045898592 -0.0090410580 0.0111044805
#> [16] 0.0018442834 0.0009917598 -0.0193532713 0.0137086949 0.0020194035
#>
#> $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 -4.902020e-18 0 -1.574365e-18 1.184091e-17 0
#> ksi2 -4.902020e-18 1.000000e+00 0 -2.036874e-18 -1.030127e-17 0
#> ksi3 0.000000e+00 0.000000e+00 1 0.000000e+00 0.000000e+00 0
#> ksi4 -1.574365e-18 -2.036874e-18 0 1.000000e+00 -4.902020e-18 0
#> ksi5 1.184091e-17 -1.030127e-17 0 -4.902020e-18 1.000000e+00 0
#> ksi6 0.000000e+00 0.000000e+00 0 0.000000e+00 0.000000e+00 1
#>
#> $f
#> [1] -0.3607455854 -0.1446953990 -0.0039547825 -0.0083423154 0.0001853034
#> [6] 0.0003924178
#>
#> $z
#> [1] -0.8789175 0.1404376 -6.7899801 2.5411641 -1.5434554 -0.6115980
#>
#> $Y
#> [,1] [,2] [,3] [,4]
#> [1,] -3.619587 -3.634135 -3.622975 -3.575727
#>
dimX <- 6
Astar <- 2
simul_data_complete(dimX,Astar)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] -4.423119 -4.431336 1.048331 -4.423496 -4.413834 1.045084
#>
#> $HH
#> [1] 3
#>
#> $eta
#> eta21 eta22
#> [1,] 0.4082483 0.0000000
#> [2,] 0.8164966 0.4472136
#> [3,] 0.4082483 -0.8944272
#>
#> $r
#> [1] -6.365877 6.310611
#>
#> $epsilon
#> [1] -0.0025442301 -0.0107615820 0.0037565033 -0.0029208804 0.0067408226
#> [6] 0.0005094681
#>
#> $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.109716e-17
#> ksi2 1.109716e-17 1.000000e+00
#>
#> $f
#> [1] 0.1493877 0.1110407
#>
#> $z
#> [1] -6.216489 6.421651
#>
#> $Y
#> [,1] [,2] [,3]
#> [1,] -2.52821 -2.18031 -8.268568
#>
dimX <- 6
Astar <- 3
simul_data_complete(dimX,Astar)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 5.786717 -3.365062 8.110312 5.793858 -3.356623 8.116651
#>
#> $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] 8.599434 7.975830 -9.162390
#>
#> $epsilon
#> [1] -0.002758572 0.007852146 -0.005239954 0.004382694 0.016291245
#> [6] 0.001099254
#>
#> $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.109716e-17 0
#> ksi2 1.109716e-17 1.000000e+00 0
#> ksi3 0.000000e+00 0.000000e+00 1
#>
#> $f
#> [1] -0.348428362 -0.264057480 0.006344453
#>
#> $z
#> [1] 8.251006 7.711772 -9.156045
#>
#> $Y
#> [,1] [,2] [,3]
#> [1,] 11.68288 6.844786 -5.222383
#>
dimX <- 6
Astar <- 4
simul_data_complete(dimX,Astar)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] -0.4552968 5.430575 3.174759 -0.3671978 5.549447 3.267214
#>
#> $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.7774988 0.7782884 5.9034128 -0.1237278
#>
#> $epsilon
#> [1] 0.004691429 -0.012849206 0.009023812 -0.008232835 0.004998913
#> [6] 0.000454679
#>
#> $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.109716e-17 0 2.293169e-19
#> ksi2 1.109716e-17 1.000000e+00 0 1.665841e-17
#> ksi3 0.000000e+00 0.000000e+00 1 0.000000e+00
#> ksi4 2.293169e-19 1.665841e-17 0 1.000000e+00
#>
#> $f
#> [1] 0.79068418 0.15805796 0.01084444 0.01590103
#>
#> $z
#> [1] 7.5681830 0.9363463 5.9142573 -0.1078268
#>
#> $Y
#> [,1] [,2] [,3] [,4]
#> [1,] 3.159941 7.615641 0.02105927 -4.997839
#>
rm(list=c("dimX","Astar"))