
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,] -2.306685 -2.14373 -3.348304 -2.130038 -1.549489 -0.8264116 -2.625356
#> [,8] [,9] [,10] [,11] [,12] [,13] [,14]
#> [1,] -0.8254187 -1.598486 -0.7695298 -2.702558 -2.353086 -2.141245 -2.214223
#> [,15] [,16] [,17] [,18] [,19] [,20]
#> [1,] -1.593623 -0.8068237 -2.701092 -2.373383 -2.148641 -2.239003
#>
#> $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] -8.8191973 -1.8115850 1.0466093 1.2270912 -1.9172318 0.5717738
#>
#> $epsilon
#> [1] -0.0170665226 0.0122152868 0.0133918870 0.0004393659 0.0012136771
#> [6] 0.0188427849 -0.0025772374 -0.0056315108 0.0054725144 0.0252369012
#> [11] -0.0083436789 0.0261593570 0.0005817083 0.0039600267 0.0103350805
#> [16] -0.0120570244 -0.0068768931 0.0058614814 -0.0068140191 -0.0208200538
#>
#> $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.061934576 -0.177532878 0.040214321 0.006030781 0.006116911
#> [6] -0.001756045
#>
#> $z
#> [1] -8.8811318 -1.9891179 1.0868237 1.2331219 -1.9111148 0.5700178
#>
#> $Y
#> [,1] [,2] [,3] [,4]
#> [1,] -4.954835 -4.926723 -4.961451 -5.011309
#>
dimX <- 6
Astar <- 2
simul_data_complete(dimX,Astar)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 2.115537 2.104685 6.774481 2.106884 2.114472 6.76871
#>
#> $HH
#> [1] 3
#>
#> $eta
#> eta21 eta22
#> [1,] 0.4082483 0.0000000
#> [2,] 0.8164966 0.4472136
#> [3,] 0.4082483 -0.8944272
#>
#> $r
#> [1] 8.991172 5.383611
#>
#> $epsilon
#> [1] -0.0009790579 -0.0118313058 -0.0043782094 -0.0096317506 -0.0020437642
#> [6] -0.0101495646
#>
#> $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.1485999 -0.1842899
#>
#> $z
#> [1] 9.139772 5.199321
#>
#> $Y
#> [,1] [,2] [,3]
#> [1,] 3.738075 9.824263 -0.8844636
#>
dimX <- 6
Astar <- 3
simul_data_complete(dimX,Astar)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 0.7476861 -3.0036 -12.43988 0.7230864 -3.008962 -12.45602
#>
#> $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] -12.011840 -13.055323 -3.754353
#>
#> $epsilon
#> [1] 0.005575675 0.008642815 0.001424047 -0.019024046 0.003281305
#> [6] -0.014708548
#>
#> $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.39136991 0.03542457 0.02723037
#>
#> $z
#> [1] -11.620470 -13.019898 -3.727123
#>
#> $Y
#> [,1] [,2] [,3]
#> [1,] -1.325714 -16.62291 6.198576
#>
dimX <- 6
Astar <- 4
simul_data_complete(dimX,Astar)
#> $simX
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] -7.648636 -8.665154 -2.398943 -4.913243 -5.965114 0.3012907
#>
#> $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] -11.967303 6.651990 -1.027613 -3.333239
#>
#> $epsilon
#> [1] 0.004241273 0.015336435 0.006948330 0.018056800 -0.006201699
#> [6] -0.014395664
#>
#> $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.285430026 -0.063746263 -0.050368159 -0.008726327
#>
#> $z
#> [1] -12.252733 6.588244 -1.077981 -3.341965
#>
#> $Y
#> [,1] [,2] [,3] [,4]
#> [1,] -1.887161 -8.435736 -11.07922 3.989194
#>
rm(list=c("dimX","Astar"))