Makes predictions from a multi-penalty ridge regression model.
Usage
# S3 method for class 'multiridge'
predict(object, newx, ...)Value
Returns an \(n_0\)-dimensional vector of fitted values or an \(n_1\)-dimensional vector of predicted values.
References
Mark A. van de Wiel, Mirrelijn M. van Nee and Armin Rauschenberger (2021). "Fast cross-validation for multi-penalty high-dimensional ridge regression" Journal of Computational and Graphical Statistics 30(4):835-847. doi: 10.1080/10618600.2021.1904962. # nolint: line_length_linter.
See also
Fit models with multiridge()
and extract coefficients with coef().
Examples
# minimal example
n <- 50; p <- 20; q <- 5
x <- matrix(rnorm(n * p), nrow = n , ncol = p)
y <- rnorm(n)
z <- rep(seq_len(q), length.out = p)
multiridge(x = x, y = y, z = z)
#> $etas
#> [,1]
#> [1,] -4.562770e-03
#> [2,] 1.464073e-02
#> [3,] 2.851572e-02
#> [4,] -2.168659e-02
#> [5,] 3.757508e-02
#> [6,] 1.684401e-02
#> [7,] 3.359097e-02
#> [8,] -5.692758e-03
#> [9,] 4.487052e-03
#> [10,] 1.520291e-02
#> [11,] -3.616822e-02
#> [12,] -4.145161e-02
#> [13,] 2.076140e-02
#> [14,] -1.702421e-02
#> [15,] -4.099961e-02
#> [16,] 6.740546e-04
#> [17,] -3.663194e-03
#> [18,] -4.290677e-02
#> [19,] -1.064479e-03
#> [20,] -3.903208e-03
#> [21,] -3.591424e-02
#> [22,] -5.811417e-02
#> [23,] 1.329048e-02
#> [24,] 2.442298e-02
#> [25,] -2.563383e-02
#> [26,] 1.622308e-02
#> [27,] -6.062274e-03
#> [28,] 1.332433e-02
#> [29,] 3.713173e-02
#> [30,] -2.834786e-02
#> [31,] -8.241935e-03
#> [32,] 1.680011e-02
#> [33,] 1.610819e-05
#> [34,] -2.568337e-02
#> [35,] 2.187027e-02
#> [36,] -6.790713e-03
#> [37,] -4.598570e-02
#> [38,] -2.041255e-02
#> [39,] 3.999844e-02
#> [40,] 3.759101e-02
#> [41,] 1.437824e-02
#> [42,] 1.038924e-02
#> [43,] -3.510918e-02
#> [44,] 2.791852e-02
#> [45,] 1.826909e-02
#> [46,] 1.823637e-02
#> [47,] 5.552410e-02
#> [48,] 2.769205e-02
#> [49,] -5.012456e-02
#> [50,] 1.757243e-04
#>
#> $Ypred
#> [,1]
#> [1,] -4.562770e-03
#> [2,] 1.464073e-02
#> [3,] 2.851572e-02
#> [4,] -2.168659e-02
#> [5,] 3.757508e-02
#> [6,] 1.684401e-02
#> [7,] 3.359097e-02
#> [8,] -5.692758e-03
#> [9,] 4.487052e-03
#> [10,] 1.520291e-02
#> [11,] -3.616822e-02
#> [12,] -4.145161e-02
#> [13,] 2.076140e-02
#> [14,] -1.702421e-02
#> [15,] -4.099961e-02
#> [16,] 6.740546e-04
#> [17,] -3.663194e-03
#> [18,] -4.290677e-02
#> [19,] -1.064479e-03
#> [20,] -3.903208e-03
#> [21,] -3.591424e-02
#> [22,] -5.811417e-02
#> [23,] 1.329048e-02
#> [24,] 2.442298e-02
#> [25,] -2.563383e-02
#> [26,] 1.622308e-02
#> [27,] -6.062274e-03
#> [28,] 1.332433e-02
#> [29,] 3.713173e-02
#> [30,] -2.834786e-02
#> [31,] -8.241935e-03
#> [32,] 1.680011e-02
#> [33,] 1.610819e-05
#> [34,] -2.568337e-02
#> [35,] 2.187027e-02
#> [36,] -6.790713e-03
#> [37,] -4.598570e-02
#> [38,] -2.041255e-02
#> [39,] 3.999844e-02
#> [40,] 3.759101e-02
#> [41,] 1.437824e-02
#> [42,] 1.038924e-02
#> [43,] -3.510918e-02
#> [44,] 2.791852e-02
#> [45,] 1.826909e-02
#> [46,] 1.823637e-02
#> [47,] 5.552410e-02
#> [48,] 2.769205e-02
#> [49,] -5.012456e-02
#> [50,] 1.757243e-04
#>
#> $convergence
#> [1] FALSE
#>
#> $nIt
#> [1] 1
#>
#> $Hresl
#> $Hresl$Hmatl
#> [,1]
#> [1,] -4.562770e-03
#> [2,] 1.464073e-02
#> [3,] 2.851572e-02
#> [4,] -2.168659e-02
#> [5,] 3.757508e-02
#> [6,] 1.684401e-02
#> [7,] 3.359097e-02
#> [8,] -5.692758e-03
#> [9,] 4.487052e-03
#> [10,] 1.520291e-02
#> [11,] -3.616822e-02
#> [12,] -4.145161e-02
#> [13,] 2.076140e-02
#> [14,] -1.702421e-02
#> [15,] -4.099961e-02
#> [16,] 6.740546e-04
#> [17,] -3.663194e-03
#> [18,] -4.290677e-02
#> [19,] -1.064479e-03
#> [20,] -3.903208e-03
#> [21,] -3.591424e-02
#> [22,] -5.811417e-02
#> [23,] 1.329048e-02
#> [24,] 2.442298e-02
#> [25,] -2.563383e-02
#> [26,] 1.622308e-02
#> [27,] -6.062274e-03
#> [28,] 1.332433e-02
#> [29,] 3.713173e-02
#> [30,] -2.834786e-02
#> [31,] -8.241935e-03
#> [32,] 1.680011e-02
#> [33,] 1.610819e-05
#> [34,] -2.568337e-02
#> [35,] 2.187027e-02
#> [36,] -6.790713e-03
#> [37,] -4.598570e-02
#> [38,] -2.041255e-02
#> [39,] 3.999844e-02
#> [40,] 3.759101e-02
#> [41,] 1.437824e-02
#> [42,] 1.038924e-02
#> [43,] -3.510918e-02
#> [44,] 2.791852e-02
#> [45,] 1.826909e-02
#> [46,] 1.823637e-02
#> [47,] 5.552410e-02
#> [48,] 2.769205e-02
#> [49,] -5.012456e-02
#> [50,] 1.757243e-04
#>
#> $Hresl$Mmatl
#> [,1]
#> [1,] 1.96975314
#> [2,] 0.73889033
#> [3,] 0.37678528
#> [4,] 1.09744090
#> [5,] 0.70490230
#> [6,] 0.70708862
#> [7,] 1.48425553
#> [8,] -0.53832016
#> [9,] 0.30484263
#> [10,] 1.84794339
#> [11,] -0.02870452
#> [12,] -1.30259352
#> [13,] -0.30052783
#> [14,] -1.04816502
#> [15,] -0.02009989
#> [16,] -1.56228522
#> [17,] -0.38794624
#> [18,] 0.14657514
#> [19,] -0.68244148
#> [20,] -0.41918369
#> [21,] -1.39381497
#> [22,] 0.24832194
#> [23,] 0.55292289
#> [24,] -1.41751548
#> [25,] -0.98599857
#> [26,] 1.42901623
#> [27,] 0.28038551
#> [28,] -0.14933669
#> [29,] 1.85134053
#> [30,] 0.41198012
#> [31,] -0.40401513
#> [32,] 1.06768105
#> [33,] -0.35196215
#> [34,] -1.07419260
#> [35,] 0.58502690
#> [36,] -0.31683344
#> [37,] -1.45715481
#> [38,] 0.40899612
#> [39,] -1.24136427
#> [40,] -1.86765370
#> [41,] -1.38684484
#> [42,] 0.65352947
#> [43,] 0.30255241
#> [44,] -0.26295407
#> [45,] -0.22554587
#> [46,] -1.28141987
#> [47,] 0.12655824
#> [48,] 1.07844530
#> [49,] 0.06839671
#> [50,] 1.66324336
#>
#>
#> $linearized
#> [,1]
#> [1,] 1.96519037
#> [2,] 0.75353106
#> [3,] 0.40530100
#> [4,] 1.07575431
#> [5,] 0.74247738
#> [6,] 0.72393263
#> [7,] 1.51784649
#> [8,] -0.54401292
#> [9,] 0.30932968
#> [10,] 1.86314629
#> [11,] -0.06487275
#> [12,] -1.34404513
#> [13,] -0.27976644
#> [14,] -1.06518923
#> [15,] -0.06109950
#> [16,] -1.56161116
#> [17,] -0.39160943
#> [18,] 0.10366837
#> [19,] -0.68350596
#> [20,] -0.42308690
#> [21,] -1.42972921
#> [22,] 0.19020777
#> [23,] 0.56621337
#> [24,] -1.39309250
#> [25,] -1.01163239
#> [26,] 1.44523931
#> [27,] 0.27432324
#> [28,] -0.13601236
#> [29,] 1.88847226
#> [30,] 0.38363225
#> [31,] -0.41225706
#> [32,] 1.08448116
#> [33,] -0.35194604
#> [34,] -1.09987598
#> [35,] 0.60689718
#> [36,] -0.32362415
#> [37,] -1.50314051
#> [38,] 0.38858356
#> [39,] -1.20136583
#> [40,] -1.83006269
#> [41,] -1.37246659
#> [42,] 0.66391871
#> [43,] 0.26744323
#> [44,] -0.23503554
#> [45,] -0.20727678
#> [46,] -1.26318350
#> [47,] 0.18208233
#> [48,] 1.10613735
#> [49,] 0.01827215
#> [50,] 1.66341909
#>
#> $unpen
#> [1] FALSE
#>
#> $intercept
#> [1] TRUE
#>
#> $eta0
#> [1] 0
#>
#> $X1
#> [,1]
#> [1,] 1
#> [2,] 1
#> [3,] 1
#> [4,] 1
#> [5,] 1
#> [6,] 1
#> [7,] 1
#> [8,] 1
#> [9,] 1
#> [10,] 1
#> [11,] 1
#> [12,] 1
#> [13,] 1
#> [14,] 1
#> [15,] 1
#> [16,] 1
#> [17,] 1
#> [18,] 1
#> [19,] 1
#> [20,] 1
#> [21,] 1
#> [22,] 1
#> [23,] 1
#> [24,] 1
#> [25,] 1
#> [26,] 1
#> [27,] 1
#> [28,] 1
#> [29,] 1
#> [30,] 1
#> [31,] 1
#> [32,] 1
#> [33,] 1
#> [34,] 1
#> [35,] 1
#> [36,] 1
#> [37,] 1
#> [38,] 1
#> [39,] 1
#> [40,] 1
#> [41,] 1
#> [42,] 1
#> [43,] 1
#> [44,] 1
#> [45,] 1
#> [46,] 1
#> [47,] 1
#> [48,] 1
#> [49,] 1
#> [50,] 1
#>
#> $family
#> [1] "gaussian"
#>
#> $penalties
#> [1] 1000000.000 1000000.000 382.322 1000000.000 1000000.000
#>
#> $datablocks
#> $datablocks[[1]]
#> [,1] [,2] [,3] [,4]
#> [1,] 1.77670543 -1.051363040 0.707757144 -0.77374058
#> [2,] -0.47043181 0.575707068 0.914378466 0.13939027
#> [3,] -1.67378043 0.685736740 0.282328275 -0.20981388
#> [4,] -0.79698389 0.071336779 -0.391494480 0.41987806
#> [5,] -0.39409694 -0.684314640 -0.236239765 1.16306537
#> [6,] 0.20314793 -0.398673597 -0.644890366 0.11788674
#> [7,] 0.53447496 0.205144390 -0.751434478 0.39912252
#> [8,] -0.65826956 -1.439625156 1.730228128 -0.41618430
#> [9,] 0.15448489 0.309416801 -0.281223759 1.37441613
#> [10,] 0.32490186 0.849328159 0.383227957 0.28266612
#> [11,] -0.43830085 2.033501910 0.317691216 -0.29909983
#> [12,] -1.67293697 -1.700734640 -0.885921495 0.08129047
#> [13,] 0.31437269 -0.221266680 0.766567516 0.69682149
#> [14,] -0.72151004 -1.000037140 0.254114311 -1.34272067
#> [15,] 0.71452762 0.409514131 -0.113712299 0.67153417
#> [16,] 1.51409926 0.763119093 -0.459431883 1.08803672
#> [17,] -0.72852708 0.281842408 -1.286079219 0.11660456
#> [18,] -0.72366249 -0.066336257 -0.533895806 1.15219725
#> [19,] 0.28957393 1.621127792 -0.970081157 0.46392053
#> [20,] 0.64151787 0.793970955 1.183297841 -1.37696585
#> [21,] -0.09664285 1.832797971 1.259069595 -2.27471961
#> [22,] -0.44256520 -1.781202349 -0.586193043 -0.06491672
#> [23,] 1.87238706 0.032006352 -0.723213918 1.61045566
#> [24,] -0.78419906 -0.650610760 -0.373778380 0.30276353
#> [25,] -1.16908495 -1.483788661 -0.272645871 -1.23396342
#> [26,] -1.81461100 0.256450634 -1.964934225 -0.09951741
#> [27,] 0.09685021 -0.599305971 -0.068242945 0.87436261
#> [28,] -1.14437056 -1.193215310 -0.273959155 -1.76794320
#> [29,] 1.38744492 -0.946098097 -1.495432781 0.39237852
#> [30,] 0.47851194 -0.765026645 1.301823481 -0.94389647
#> [31,] -0.50330549 -1.533692619 -0.196318112 0.86013426
#> [32,] -0.70754967 0.923824463 1.603972033 -1.45886265
#> [33,] 1.22075389 0.892439378 -0.957726877 -0.43820993
#> [34,] -0.11876288 -1.167710826 -0.536049539 -2.80892217
#> [35,] -0.21030884 -0.674954715 0.008967734 0.40484595
#> [36,] 1.78004621 -0.104703474 0.818328809 1.87412184
#> [37,] 1.08374586 1.704482854 1.066775668 0.29836632
#> [38,] 2.74861474 1.094181096 1.536106227 1.17724331
#> [39,] 0.52249317 -0.796554142 0.719551664 0.42943050
#> [40,] -1.00561906 0.065020734 -0.984105175 0.66742684
#> [41,] 0.67266501 -1.104404746 0.639294831 -1.00962339
#> [42,] 0.27214190 1.532428839 -0.159159626 1.04381808
#> [43,] -0.55618706 -0.096526617 2.304935788 -0.41174310
#> [44,] 0.44709840 0.374841514 -1.418330851 1.16002537
#> [45,] -0.99607212 0.007922727 -0.056390836 -0.17491971
#> [46,] 0.97268894 0.399368634 -1.101844599 -1.15260409
#> [47,] -0.42714791 0.709889687 1.697689259 -0.15703779
#> [48,] -1.37112303 1.278175249 -0.018869988 -0.95955457
#> [49,] 0.04485656 0.940114520 0.487898366 0.16650368
#> [50,] -0.44205552 -1.183544797 -2.242403681 -0.05374756
#>
#> $datablocks[[2]]
#> [,1] [,2] [,3] [,4]
#> [1,] -0.33215397 1.07352554 -0.89358614 2.778287459
#> [2,] 0.13251891 -0.80981529 -1.31862589 -0.940504943
#> [3,] -0.46071396 0.03327363 -2.44454297 -0.296989772
#> [4,] 1.57117932 -0.22325051 0.20596302 0.567303111
#> [5,] 0.10683656 -1.08684747 -1.01752287 -0.284014841
#> [6,] 0.05529520 0.30679179 0.39181142 1.145327192
#> [7,] -1.17935879 1.07333066 1.03179202 -0.144820506
#> [8,] -0.55690793 0.37202921 1.34247859 0.862172163
#> [9,] -0.34105751 0.07158619 -0.86293842 -0.343280781
#> [10,] 0.93612191 1.79422527 -1.42622034 0.044070124
#> [11,] 0.17770518 -0.39213785 -0.72999205 -1.506049081
#> [12,] -1.41052346 -0.90888603 -0.59257552 -1.743899911
#> [13,] 0.25932187 -1.40821875 -0.58205095 0.541193573
#> [14,] -0.84378053 0.84543315 -0.63291397 -0.155259811
#> [15,] 0.51879450 -0.28022559 0.34377887 0.028466759
#> [16,] 0.38222014 -0.98336205 0.99801724 -0.205986231
#> [17,] 0.47520000 2.32757488 0.60461137 1.278738205
#> [18,] 1.52206548 0.74431744 0.19711147 -0.669634620
#> [19,] 2.10156302 0.97982782 -2.30258732 0.427311496
#> [20,] 1.13786152 -0.32987977 0.49176770 0.373636149
#> [21,] -0.05382138 1.06410785 -1.02547998 0.583856183
#> [22,] -0.24115713 0.97856781 0.78534516 -0.481563869
#> [23,] -0.53107336 0.53845608 0.44958948 0.462690780
#> [24,] 0.49261405 -0.88531206 -0.34050982 0.576873161
#> [25,] 1.80751784 -0.52742625 0.41082339 2.010490086
#> [26,] -0.69977959 0.46767562 1.81440353 1.136377769
#> [27,] -2.08748439 -0.47671460 -0.66501060 1.120091918
#> [28,] 0.26627073 0.16526862 0.65412130 -0.004646519
#> [29,] -1.20109251 0.49656755 1.53745474 -1.433461035
#> [30,] 0.07229026 1.11042511 0.60202792 0.567131707
#> [31,] -0.05803344 0.08201154 -0.25638281 -0.048172671
#> [32,] -0.10357751 -1.57027477 1.57549700 -0.107059419
#> [33,] -0.14640241 -0.38610734 -0.89790440 -1.744381753
#> [34,] -3.03486365 1.05646070 0.31781552 0.680371081
#> [35,] 1.48379822 -1.68005681 1.62675217 0.041354387
#> [36,] 1.69441766 1.05323819 0.25524685 0.560705294
#> [37,] 1.19100219 1.59640586 0.75708069 -0.275983913
#> [38,] -0.17357513 0.23016766 -0.94551289 -0.541987709
#> [39,] 0.78638085 -2.42091043 1.24644734 -2.305464969
#> [40,] -0.45529145 -0.18222243 -0.78004094 -1.970851087
#> [41,] -0.56933364 -1.00263742 -0.33817692 -1.115652475
#> [42,] 0.34254373 -1.68077784 -1.19713024 -0.892687044
#> [43,] -0.01635625 0.42637948 0.23424626 -0.145943893
#> [44,] -0.19906602 -0.69498328 1.41122697 0.906908251
#> [45,] -0.72821837 0.49750443 -0.01626197 0.512810193
#> [46,] -0.30484512 0.16176855 -0.69571877 0.423211950
#> [47,] 0.76877555 0.40699441 -0.54242976 -0.128905146
#> [48,] -1.36995540 0.05712396 -0.43293629 -1.202133257
#> [49,] 0.08948712 -1.72026120 1.10948626 1.160265405
#> [50,] -1.27335894 -0.36073125 0.54215556 -0.100309141
#>
#> $datablocks[[3]]
#> [,1] [,2] [,3] [,4]
#> [1,] 0.70825393 0.60504842 0.67505999 -0.45356637
#> [2,] 0.38585930 2.02288375 -0.06805321 1.10279141
#> [3,] -1.63640326 -0.49700733 -0.46755283 -0.99605214
#> [4,] 0.79329708 -0.74759632 0.40752221 -0.40411192
#> [5,] -0.07028074 0.63858214 -0.52996207 -1.83627399
#> [6,] 1.60884252 0.98884775 -0.65264945 -0.96413873
#> [7,] -0.63220449 -0.53115835 -1.52396948 -1.03330093
#> [8,] 0.12351696 -1.62664381 -1.39812115 0.19198011
#> [9,] -0.44870522 -0.39413165 -0.57069999 0.32908395
#> [10,] 0.92423567 -0.51686092 -1.49883629 -0.94094726
#> [11,] 1.44508702 -0.98794721 -0.40243521 1.13222759
#> [12,] 1.05194849 -0.05193534 1.42635798 0.67651201
#> [13,] -0.53641576 -0.33850045 0.77063563 -2.99618745
#> [14,] 0.22285385 -0.73613836 -0.17061843 0.60994801
#> [15,] 0.11131881 -1.93200318 0.47471864 0.40498399
#> [16,] -0.56384837 0.36377360 1.03987745 -0.48532164
#> [17,] 0.84514632 -1.62431355 -2.50811632 0.86968895
#> [18,] 0.50088550 -0.51021309 1.61123039 0.49060717
#> [19,] 1.83182507 0.95572684 0.69540796 -1.50978412
#> [20,] -0.53822539 0.53042955 0.19781745 1.37498969
#> [21,] 0.35035595 -1.07277640 0.27334005 1.15434419
#> [22,] 0.12585169 -1.51031212 2.50401046 -0.35836906
#> [23,] -0.84076855 -0.30414328 -1.40399012 1.25058778
#> [24,] 0.38993585 0.57337354 -1.01394390 -0.45747727
#> [25,] 0.91819612 -1.74096529 -0.43288225 -0.31052209
#> [26,] -0.23987902 1.74113792 1.02280102 -0.36319209
#> [27,] 0.36667690 0.46784972 0.52891860 0.06973779
#> [28,] 0.86868737 1.77380401 0.86944758 -0.98698714
#> [29,] -1.84922609 0.03564780 -0.28005499 -1.12379665
#> [30,] -0.01326736 -0.49490224 0.97084486 0.60249076
#> [31,] -0.44568600 -0.25769488 0.34223069 0.39286813
#> [32,] -0.68678579 0.39088341 0.13900552 -0.53368069
#> [33,] 0.34296539 1.34722318 -0.22970787 1.83438353
#> [34,] 1.46915706 -0.61329392 0.27363206 -0.34954758
#> [35,] 0.09078392 0.30439487 -1.72894165 0.77209004
#> [36,] -1.14784376 0.66746163 0.87578242 1.49858360
#> [37,] -0.25875561 -1.36324962 1.14098502 1.08314777
#> [38,] 0.41747915 0.19678416 1.27457243 -0.08519325
#> [39,] -3.28142166 0.55421581 -0.20254366 0.70319243
#> [40,] -0.60432151 1.07814509 -0.15978378 -1.20904291
#> [41,] 0.66097483 -0.09230153 -1.15610625 -0.50068121
#> [42,] -0.67780627 -0.37651073 -0.28445961 -0.38023069
#> [43,] 1.47722039 -0.84195177 -0.28317891 1.02837284
#> [44,] -0.85574648 0.61968305 -0.74767427 0.19838123
#> [45,] -0.03476676 -0.02280379 -0.47027652 -1.04325127
#> [46,] -0.09540783 1.82046581 1.50158712 -1.29628885
#> [47,] -1.65182219 1.31327262 -1.41586767 0.34744120
#> [48,] -1.17436288 0.57124845 -0.50280888 0.12650654
#> [49,] 1.28636687 -1.38868372 0.41281407 0.88483811
#> [50,] -1.03377107 1.01315571 0.67463521 1.48816647
#>
#> $datablocks[[4]]
#> [,1] [,2] [,3] [,4]
#> [1,] -1.51730742 -1.936330069 0.621651133 -0.73537506
#> [2,] -1.17381954 -1.046974259 0.018454634 1.96226463
#> [3,] 0.35158749 -0.804394388 -1.314195053 0.30935349
#> [4,] 0.62168643 0.006209334 -0.378176064 0.14443930
#> [5,] -1.64868692 -1.068434842 -0.156883209 0.08314255
#> [6,] -1.40800848 -0.143710380 -0.491847798 -2.76816873
#> [7,] -0.29116268 0.494777672 0.578568642 -0.35238762
#> [8,] -1.01010966 0.997735029 -1.306141564 -1.05088852
#> [9,] 0.16454992 1.000341034 -0.485152262 0.84452964
#> [10,] 0.96283929 0.079580756 -0.018619321 -0.43426169
#> [11,] -0.24880577 1.293820336 -0.980355579 -0.62116460
#> [12,] 0.59737465 0.034160433 0.619457754 0.09488420
#> [13,] 0.88469471 1.183930105 -1.249590005 1.25969962
#> [14,] -0.05096882 0.018211983 -0.000400355 0.21695306
#> [15,] -0.83399621 1.341137693 -0.749697870 0.27101279
#> [16,] -0.83663728 0.487093799 1.428077921 1.18675983
#> [17,] 0.23776293 -1.156774845 -0.821816024 -0.01769091
#> [18,] 0.65222144 -0.284696920 1.165649721 1.25528390
#> [19,] -0.65688301 1.361451226 0.075697315 -1.30140292
#> [20,] 0.04590925 3.040917430 -0.683381086 0.69931484
#> [21,] -0.34613437 -0.129094250 0.894692531 -0.69813717
#> [22,] 0.03275473 0.148059625 -0.115087356 0.82160406
#> [23,] 2.53777283 0.370317066 -1.188348025 -0.18191493
#> [24,] -0.14978574 0.274157527 -1.775141568 0.17249786
#> [25,] -0.34257673 -1.523434646 2.803670942 -1.77279953
#> [26,] -0.06431485 -0.877101742 0.073566739 -0.04581463
#> [27,] 0.59082855 -0.339775590 -1.277752305 -0.63241178
#> [28,] 1.24452183 0.978535085 -0.047914908 -0.72793107
#> [29,] 0.44402426 -0.394339770 0.318300481 -0.10455641
#> [30,] -1.40464770 0.886987424 -0.083705740 0.88606692
#> [31,] -1.48910273 0.545419675 -0.351762884 0.56217873
#> [32,] -0.04767751 -0.218625285 1.102506207 1.40829541
#> [33,] -1.91367946 1.273563450 -0.659549408 0.39170541
#> [34,] -0.15606522 1.457276129 1.746336240 0.94711110
#> [35,] 0.59860628 -1.045601476 1.080970097 0.86518493
#> [36,] 0.64697957 -0.152765014 1.440726499 -2.06862687
#> [37,] 0.32552022 -0.253287128 0.668099002 -0.01069368
#> [38,] -0.70402872 -0.935637614 0.022653218 0.87662371
#> [39,] 0.96382767 -1.428794022 -2.541044892 -0.13946650
#> [40,] -1.13047321 -0.185539740 0.111996627 -2.78109998
#> [41,] 1.27390506 -0.658630822 -0.341624837 0.81143340
#> [42,] 1.58161118 0.340534634 0.369343454 -0.23587937
#> [43,] 1.22314998 -1.218023254 -0.069033458 -0.21340970
#> [44,] 0.44899082 -2.199045284 -0.204836865 -0.19329432
#> [45,] -0.93655897 0.634183363 -0.428860817 -0.18896016
#> [46,] -0.95064082 -0.433146447 0.084494129 0.31818056
#> [47,] 0.96831800 -0.526736548 -0.058005499 1.40497959
#> [48,] 0.02288374 0.294296468 0.330491613 0.40120200
#> [49,] -0.45928366 -0.489189265 -0.141081974 0.22495298
#> [50,] 2.34903465 0.907386323 2.364601827 -1.14331837
#>
#> $datablocks[[5]]
#> [,1] [,2] [,3] [,4]
#> [1,] 0.21568309 0.92433198 0.038224688 9.014541e-02
#> [2,] -0.62995230 1.16594067 -1.130356199 -3.414805e-02
#> [3,] 0.94852802 -1.11296533 0.727906888 2.647048e-01
#> [4,] 0.70862855 -0.29368561 -0.881394844 -1.124358e+00
#> [5,] -0.42862452 0.02718454 -1.125033390 -4.715966e-01
#> [6,] 1.06928202 0.75383115 -0.371203101 5.343100e-01
#> [7,] 0.79432493 -0.34064541 1.717305899 1.361303e+00
#> [8,] 0.09160832 0.89795009 -1.318753819 -9.225429e-01
#> [9,] -0.22044009 0.97598920 -1.033919484 -1.041033e+00
#> [10,] -0.01434870 -0.41630972 -0.055688305 1.276946e+00
#> [11,] 1.62276679 -0.81273978 0.272522786 6.806026e-01
#> [12,] -0.82086547 -0.19625765 -1.138733306 1.638897e-01
#> [13,] 0.51116787 -0.58291570 2.181668075 -1.324300e+00
#> [14,] 1.48265885 1.25278586 0.036269294 5.163305e-01
#> [15,] 0.11815008 -0.69444029 -0.114032900 7.418816e-01
#> [16,] -0.66113007 0.69070503 -1.345455945 2.011940e-01
#> [17,] 1.68041716 -0.64837526 -1.057434999 -6.891185e-01
#> [18,] -0.90659708 0.22248506 -1.426921794 1.365862e+00
#> [19,] -0.02813469 -0.05140842 -0.090860795 2.184089e+00
#> [20,] -0.33036373 -1.47856459 -1.525537162 -5.211348e-01
#> [21,] 1.05392464 -0.08065181 -0.725259449 2.314528e+00
#> [22,] -0.29010698 0.56808147 0.261526791 1.076101e-01
#> [23,] 0.14989659 1.89934151 1.581795585 6.213172e-01
#> [24,] -1.75925484 -0.27463343 -1.526887257 -3.583386e-01
#> [25,] 0.83234132 1.19905417 -0.086433231 -1.573480e+00
#> [26,] -0.01077951 -0.44560982 1.006745197 -1.343289e+00
#> [27,] -0.99788156 0.87258073 0.581712465 -2.273313e-01
#> [28,] -0.07093597 1.14642862 -0.476010148 1.623161e+00
#> [29,] 0.34567777 -0.36903355 -0.039088629 3.009369e-01
#> [30,] 1.44474152 -1.00408955 0.107538345 4.974263e-01
#> [31,] -1.32408011 -1.30000753 0.249872577 2.925559e-01
#> [32,] 1.62100320 -1.48545073 1.032332322 1.403873e+00
#> [33,] -0.84629893 1.21399423 0.385134717 -1.537848e+00
#> [34,] -0.66107671 -1.43992253 0.853996055 -3.234783e-01
#> [35,] -1.89205718 1.23025718 0.607054568 1.142041e+00
#> [36,] 0.47380324 0.24093815 1.289630390 7.920170e-02
#> [37,] 2.12908152 0.02867680 -1.294603388 1.415525e-01
#> [38,] 0.59926914 -1.29107953 0.090202174 -9.690230e-01
#> [39,] 0.01899141 -0.23883941 -1.450785782 -1.548849e-01
#> [40,] -1.03168177 0.07478152 0.562482197 -2.276259e+00
#> [41,] 0.32525277 -0.16567725 -0.104835862 -1.745531e-02
#> [42,] 1.39174252 -1.39484422 0.869034864 -4.280299e-02
#> [43,] -1.29059046 0.57431313 0.002744472 -2.501932e-01
#> [44,] -0.79574531 0.13196820 -1.459995440 9.725853e-01
#> [45,] -1.31011634 -0.11904302 0.109149345 -4.215925e-01
#> [46,] -1.04146936 1.51510356 1.592567446 -7.934557e-01
#> [47,] -0.21140275 1.23006704 1.603828562 2.817148e-01
#> [48,] -0.45446727 -1.60143873 -0.037023808 -9.234832e-01
#> [49,] 0.42104516 -2.47362714 1.529719478 6.375277e-05
#> [50,] -2.02158478 1.47546615 0.525283860 -1.818681e+00
#>
#>
#> $z
#> [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5
#>
#> $pars
#> $pars$family
#> [1] "gaussian"
#>
#> $pars$mu.x
#> [1] -0.1606045798 -0.0598055444 -0.0710696424 0.0331454330 0.0665013570
#> [6] 0.1194469289 -0.1147093838 -0.0987185074 -0.0866573327 0.0200202533
#> [11] -0.0861923337 -0.2207075336 0.2752302399 -0.1107781368 -0.0830906871
#> [16] 0.0530637109 -0.0235477314 0.0002076096 -0.0496632155 -0.1540801996
#>
#> $pars$sd.x
#> [1] 0.7729841 0.9200858 0.9097767 1.0606297 0.9976714 0.9331263 0.9269264
#> [8] 1.0781032 1.0368733 0.8551507 1.0587907 0.9145668 0.9271206 1.0420105
#> [15] 1.1353825 0.9535468 0.9860534 1.0751145 0.8892223 1.0398593
#>
#> $pars$mu.y
#> [1] 0.1170719
#>
#> $pars$sd.y
#> [1] 1.108702
#>
#>
#> attr(,"class")
#> [1] "multiridge"
# \donttest{
# simulation
set.seed(1)
n0 <- 100
n1 <- 10000
n <- n0 + n1
p <- c(100, 50)
z <- rep(x = seq_along(p), times = p)
x <- sapply(X = z, FUN = function(x) stats::rnorm(n = n, sd = x))
beta <- stats::rnorm(n = sum(p), mean = 1, sd = 0) *
stats::rbinom(n = sum(p), size = 1, prob = 0.2)
eta <- x %*% beta
family <- "gaussian"
if (identical(family, "gaussian")) {
y <- eta + 0.5 * stats::rnorm(n = n, sd = stats::sd(eta))
} else if (identical(family, "binomial")) {
y <- stats::rbinom(n = n, size = 1, prob = 1 / (1 + exp(-eta)))
} else if (identical(family, "cox")) {
time <- stats::rexp(n = n, rate = exp(eta))
status <- stats::rbinom(n = n, prob = 0.5, size = 1)
y <- survival::Surv(time = time, event = status)
}
cond <- rep(x = c(TRUE, FALSE), times = c(n0, n1))
y_hat <- coef <- list()
# standard ridge regression
object <- glmnet::cv.glmnet(x = x[cond, ], y = y[cond],
family = family, alpha = 0)
coef$glmnet <- stats::coef(object = object, s = "lambda.min")
y_hat$glmnet <- stats::predict(object = object, newx = x[!cond, ],
type = "response", s = "lambda.min")
# multi-penalty ridge regression
object <- multiridge(x = x[cond, ], y = y[cond], z = z, family = family)
coef$multiridge <- stats::coef(object = object)
y_hat$multiridge <- stats::predict(object = object, newx = x[!cond, ])
# estimation performance
sapply(coef, function(x) stats::cor(beta, x[-1]))
#> glmnet multiridge
#> 0.4692074 0.5982584
sapply(coef, function(x) mean((beta-x[-1])^2))
#> glmnet multiridge
#> 0.1718059 0.1262343
# predictive performance
if (identical(family, "gaussian")) {
metric <- sapply(X = y_hat, FUN = function(x)
mean((x-y[!cond])^2))
} else if (identical(family, "binomial")) {
metric <- sapply(X = y_hat, FUN = function(x)
pROC::auc(response = y[!cond],
predictor = as.vector(x),
levels = c(0, 1),
direction = "<"))
} else if (identical(family, "cox")) {
metric <- sapply(X = y_hat, FUN = function(x)
survival::concordance(y[!cond]~I(-x))$concordance)
}
metric
#> glmnet multiridge
#> 73.65774 50.10826
# }