conformalize.Rd
This function implements conformal prediction for regression models using a split conformal approach.
conformalize(
formula = NULL,
x = NULL,
y = NULL,
data = NULL,
fit_func,
predict_func = predict,
split_ratio = 0.5,
seed = NULL,
...
)
A formula specifying the model to be fitted.
A numeric matrix of predictors.
A numeric vector of responses.
A data frame containing the variables in the formula.
A function to fit the model. It should take a formula and data as arguments.
A function to make predictions. It should take a fitted model and new data as arguments.
The proportion of data to use for training. Default is 0.5.
An optional seed for reproducibility.
A list containing the fitted model, residuals, and other relevant information.
# Example usage with a linear model
library(MASS)
data(Boston)
set.seed(123)
fit_func <- function(formula, data) {
lm(formula, data = data)
}
predict_func <- function(fit, newdata) {
predict(fit, newdata)
}
conformalize(formula = medv ~ ., data = Boston, fit_func = fit_func,
predict_func = predict_func, split_ratio = 0.5, seed = 123)
#>
#> [1] "cal_pred's value:"
#> 1 2 3 6 8 9 12
#> 29.9318978 24.6093573 30.4750561 25.4657850 17.7567556 8.5716408 20.6460225
#> 15 17 18 19 21 24 28
#> 19.9822286 21.7275708 17.0698867 16.8142400 12.0217207 13.3772498 14.4763556
#> 29 30 31 35 36 37 38
#> 19.7639227 21.1030328 10.6966433 12.9972255 23.8710147 22.1936496 23.3251021
#> 44 46 47 49 50 53 56
#> 24.3455705 21.6872117 19.4551125 6.2418635 16.1400922 27.4138143 31.1401155
#> 58 59 60 62 65 68 70
#> 32.8599289 22.2654598 21.3273033 18.0889504 22.9533396 21.1403436 20.7330943
#> 71 73 75 79 80 82 87
#> 25.0996763 24.7662717 25.4954652 20.6370139 22.3333613 26.9210555 21.3856023
#> 88 92 93 95 96 97 99
#> 25.6136044 27.1169454 28.7864672 26.6729898 28.2360090 23.9541227 34.6228100
#> 100 101 103 104 108 111 112
#> 31.6171426 24.9508078 19.9466178 20.4109750 20.7250525 20.7472560 26.2542842
#> 114 119 120 122 123 124 126
#> 19.8113018 19.6833865 20.4692728 22.3686383 19.9985972 14.8672723 22.3147370
#> 128 130 131 132 133 138 139
#> 15.7311522 14.5053856 20.8914963 20.3901443 21.1580077 19.9423291 13.7537032
#> 140 142 144 146 147 149 150
#> 16.6450742 2.5857021 11.3847736 10.6487200 16.1011218 8.7709280 14.5859562
#> 156 157 162 167 169 170 171
#> 21.6376675 14.0813284 36.9036625 36.9067544 25.7821918 26.0009558 21.6832099
#> 172 173 175 176 180 181 182
#> 23.7836151 21.9625602 26.0281755 30.4874587 32.6511369 33.8148740 27.2606663
#> 183 187 188 189 190 191 192
#> 33.5998971 35.3472573 32.5843871 31.9721551 33.7205229 30.1892105 29.8773553
#> 193 201 202 203 204 206 207
#> 32.5558720 30.6942826 28.7383460 36.4529443 41.0688667 22.4544176 23.3092401
#> 208 213 216 219 220 221 227
#> 16.8028495 23.1706802 24.3560217 24.8506385 30.4388256 33.6706344 37.1825174
#> 228 230 231 233 234 237 239
#> 31.9274935 31.3099027 23.8401054 37.6479903 36.5848162 30.8097212 27.9514766
#> 241 242 246 247 248 251 258
#> 26.0431991 22.7103135 12.4549889 20.0458066 19.7499882 24.4378773 42.1488620
#> 259 260 261 264 266 268 269
#> 35.5758025 34.4172294 33.7208791 33.1032923 27.7090496 39.1755094 38.5755767
#> 271 274 275 276 281 283 284
#> 21.7706944 36.3087606 37.4767407 33.9298743 37.6175082 40.6325163 44.7673557
#> 285 293 295 296 297 298 300
#> 30.7140466 32.2430175 23.4642742 27.7662442 26.5974221 18.0236747 31.2050087
#> 301 304 305 311 313 314 317
#> 30.0164214 32.2156901 32.7958849 18.6820548 23.1624689 25.8397212 16.7403329
#> 320 321 322 323 324 327 329
#> 21.0769062 25.1947086 25.2438458 23.2857856 19.5022513 24.2039048 20.6879567
#> 333 336 337 338 340 341 343
#> 23.1695688 21.2323556 20.5783629 19.6288161 21.5998230 21.8599783 21.6941401
#> 344 345 346 349 351 354 357
#> 27.8192235 28.9298004 16.4217974 27.6120685 21.1488588 25.6607399 21.6425237
#> 360 361 364 365 367 370 372
#> 20.5377042 24.5182664 22.6764108 39.6056819 16.8127209 35.4013005 25.8958759
#> 375 376 381 382 384 385 386
#> -0.7316503 25.7084270 15.6181379 18.1531425 12.7389227 2.7745809 7.1666954
#> 387 388 390 391 392 394 397
#> 5.9636250 4.7834675 14.4374949 17.7825892 17.4718127 20.8221517 19.2077269
#> 399 400 402 403 404 410 412
#> 5.9515438 9.6543130 17.7680616 18.1047333 13.6115719 19.0092328 15.9214623
#> 413 414 418 419 421 422 423
#> -0.1039418 11.9091330 6.4195928 6.9571279 20.2718202 18.8043421 19.0619722
#> 424 428 429 433 435 437 438
#> 12.0650433 14.9420460 13.7431051 21.6356161 16.6053281 14.7786815 8.1147701
#> 442 443 445 446 447 448 449
#> 17.5279026 19.3695786 11.3761906 11.4038686 18.0684980 18.8392364 17.8919600
#> 451 453 454 456 457 461 466
#> 16.4620924 18.9397490 22.5169873 15.7612848 12.7284592 19.2760828 18.4962333
#> 467 468 469 471 472 473 474
#> 14.3596134 16.1687355 16.8436217 20.0111385 22.9858917 22.4043144 25.8124725
#> 476 482 484 487 488 489 490
#> 14.9019271 27.5824139 21.5925332 19.7568409 21.9046237 12.3730804 7.9580707
#> 495 496 497 498 499 504 505
#> 20.6588048 16.5222363 13.3580994 19.2055845 21.4185994 28.6816869 27.1595787
#> 506
#> 23.5134516
#>
#>
#> [1] "cal_y's value:"
#> [1] 24.0 21.6 34.7 28.7 27.1 16.5 18.9 18.2 23.1 17.5 20.2 13.6 14.5 14.8 18.4
#> [16] 21.0 12.7 13.5 18.9 20.0 21.0 24.7 19.3 20.0 14.4 19.4 25.0 35.4 31.6 23.3
#> [31] 19.6 16.0 33.0 22.0 20.9 24.2 22.8 24.1 21.2 20.3 23.9 22.5 22.2 22.0 22.9
#> [46] 20.6 28.4 21.4 43.8 33.2 27.5 18.6 19.3 20.4 21.7 22.8 18.7 20.4 19.3 20.3
#> [61] 20.5 17.3 21.4 16.2 14.3 19.2 19.6 23.0 17.1 13.3 17.8 14.4 15.6 13.8 15.6
#> [76] 17.8 15.4 15.6 13.1 50.0 50.0 23.8 22.3 17.4 19.1 23.1 22.6 29.4 37.2 39.8
#> [91] 36.2 37.9 50.0 32.0 29.8 34.9 37.0 30.5 36.4 32.9 24.1 42.3 48.5 22.6 24.4
#> [106] 22.5 22.4 25.0 21.5 23.0 26.7 37.6 31.6 31.5 24.3 41.7 48.3 25.1 23.7 22.0
#> [121] 20.1 18.5 24.3 20.5 24.4 50.0 36.0 30.1 33.8 31.0 22.8 50.0 43.5 21.1 35.2
#> [136] 32.4 32.0 45.4 46.0 50.0 32.2 27.9 21.7 28.6 27.1 20.3 29.0 24.8 33.1 36.1
#> [151] 16.1 19.4 21.6 17.8 21.0 23.8 23.1 20.4 18.5 23.0 19.3 19.4 21.1 19.5 18.5
#> [166] 19.0 18.7 16.5 23.9 31.2 17.5 24.5 22.9 30.1 17.8 22.6 25.0 16.8 21.9 21.9
#> [181] 50.0 50.0 13.8 15.0 10.4 10.9 12.3 8.8 7.2 10.5 7.4 11.5 15.1 23.2 13.8
#> [196] 12.5 5.0 6.3 7.2 12.1 8.3 27.5 17.2 17.9 16.3 10.4 8.8 16.7 14.2 20.8
#> [211] 13.4 10.9 11.0 16.1 11.7 9.6 8.7 17.1 18.4 10.8 11.8 14.9 12.6 14.1 13.4
#> [226] 16.1 17.8 14.1 12.7 16.4 19.9 19.0 19.1 19.1 19.9 19.6 23.2 29.8 13.3 23.7
#> [241] 21.8 19.1 20.6 15.2 7.0 24.5 23.1 19.7 18.3 21.2 23.9 22.0 11.9
#>
#> $fit
#>
#> Call:
#> lm(formula = formula, data = data)
#>
#> Coefficients:
#> (Intercept) crim zn indus chas nox
#> 32.345703 -0.090792 0.051840 0.027244 3.978434 -12.332055
#> rm age dis rad tax ptratio
#> 3.388799 0.001790 -1.414487 0.281171 -0.011314 -0.718374
#> black lstat
#> 0.009914 -0.655356
#>
#>
#> $residuals
#> 1 2 3 6 8 9
#> -5.93189785 -3.00935726 4.22494386 3.23421500 9.34324443 7.92835920
#> 12 15 17 18 19 21
#> -1.74602250 -1.78222860 1.37242919 0.43011329 3.38575997 1.57827926
#> 24 28 29 30 31 35
#> 1.12275023 0.32364441 -1.36392273 -0.10303276 2.00335673 0.50277448
#> 36 37 38 44 46 47
#> -4.97101469 -2.19364956 -2.32510207 0.35442952 -2.38721172 0.54488750
#> 49 50 53 56 58 59
#> 8.15813653 3.25990784 -2.41381427 4.25988450 -1.25992887 1.03454021
#> 60 62 65 68 70 71
#> -1.72730334 -2.08895036 10.04666043 0.85965644 0.16690569 -0.89967625
#> 73 75 79 80 82 87
#> -1.96627172 -1.39546520 0.56298611 -2.03336132 -3.02105546 1.11439774
#> 88 92 93 95 96 97
#> -3.41360439 -5.11694542 -5.88646719 -6.07298982 0.16399099 -2.55412274
#> 99 100 101 103 104 108
#> 9.17719004 1.58285735 2.54919223 -1.34661782 -1.11097500 -0.32505252
#> 111 112 114 119 120 122
#> 0.95274396 -3.45428418 -1.11130179 0.71661351 -1.16927281 -2.06863831
#> 123 124 126 128 130 131
#> 0.50140276 2.43272774 -0.91473705 0.46884781 -0.20538562 -1.69149626
#> 132 133 138 139 140 142
#> -0.79014435 1.84199231 -2.84232908 -0.45370321 1.15492584 11.81429793
#> 144 146 147 149 150 156
#> 4.21522637 3.15127996 -0.50112182 9.02907198 0.81404382 -6.03766746
#> 157 162 167 169 170 171
#> -0.98132841 13.09633745 13.09324559 -1.98219176 -3.70095576 -4.28320989
#> 172 173 175 176 180 181
#> -4.68361512 1.13743984 -3.42817552 -1.08745868 4.54886314 5.98512598
#> 182 183 187 188 189 190
#> 8.93933375 4.30010288 14.65274272 -0.58438710 -2.17215513 1.17947708
#> 191 192 193 201 202 203
#> 6.81078951 0.62264470 3.84412795 2.20571744 -4.63834603 5.84705568
#> 204 206 207 208 213 216
#> 7.43113330 0.14558243 1.09075989 5.69715052 -0.77068021 0.64397826
#> 219 220 221 227 228 230
#> -3.35063851 -7.43882560 -6.97063444 0.41748260 -0.32749353 0.19009727
#> 231 233 234 237 239 241
#> 0.45989459 4.05200968 11.71518384 -5.70972121 -4.25147663 -4.04319913
#> 242 246 247 248 251 258
#> -2.61031353 6.04501106 4.25419343 0.75001177 -0.03787734 7.85113795
#> 259 260 261 264 266 268
#> 0.42419748 -4.31722945 0.07912086 -2.10329230 -4.90904963 10.82449060
#> 269 271 274 275 276 281
#> 4.92442332 -0.67069443 -1.10876056 -5.07674065 -1.92987430 7.78249180
#> 283 284 285 293 295 296
#> 5.36748370 5.23264428 1.48595341 -4.34301754 -1.76427420 0.83375579
#> 297 298 300 301 304 305
#> 0.50257791 2.27632527 -2.20500867 -5.21642142 0.88430990 3.30411506
#> 311 313 314 317 320 321
#> -2.58205478 -3.76246891 -4.23972121 1.05966711 -0.07690617 -1.39470863
#> 322 323 324 327 329 333
#> -2.14384581 -2.88578557 -1.00225134 -1.20390481 -1.38795675 -3.76956876
#> 336 337 338 340 341 343
#> -0.13235556 -1.07836293 -1.12881613 -2.59982299 -3.15997827 -5.19414013
#> 344 345 346 349 351 354
#> -3.91922353 2.27019961 1.07820257 -3.11206850 1.75114118 4.43926014
#> 357 360 361 364 365 367
#> -3.84252368 2.06229578 0.48173358 -5.87641082 -17.70568186 5.08727909
#> 370 372 375 376 381 382
#> 14.59869952 24.10412405 14.53165030 -10.70842703 -5.21813791 -7.25314247
#> 384 385 386 387 388 390
#> -0.43892271 6.02541908 0.03330461 4.53637500 2.61653252 -2.93749494
#> 391 392 394 397 399 400
#> -2.68258921 5.72818733 -7.02215173 -6.70772692 -0.95154379 -3.35431296
#> 402 403 404 410 412 413
#> -10.56806161 -6.00473330 -5.31157186 8.49076723 1.27853768 18.00394179
#> 414 418 419 421 422 423
#> 4.39086699 3.98040719 1.84287210 -3.57182021 -4.60434214 1.73802777
#> 424 428 429 433 435 437
#> 1.33495669 -4.04204600 -2.74310512 -5.53561611 -4.90532812 -5.17868149
#> 438 442 443 445 446 447
#> 0.58522991 -0.42790262 -0.96957856 -0.57619059 0.39613138 -3.16849803
#> 448 449 451 453 454 456
#> -6.23923636 -3.79196000 -3.06209235 -2.83974904 -4.71698730 -1.66128477
#> 457 461 466 467 468 469
#> -0.02845920 -2.87608278 1.40376674 4.64038658 2.93126454 2.25637829
#> 471 472 473 474 476 482
#> -0.11113848 -3.38589175 0.79568555 3.98752747 -1.60192710 -3.88241389
#> 484 487 488 489 490 495
#> 0.20746680 -0.65684094 -1.30462369 2.82691957 -0.95807072 3.84119515
#> 496 497 498 499 504 505
#> 6.57776371 6.34190063 -0.90558448 -0.21859935 -4.78168690 -5.15957869
#> 506
#> -11.61345162
#>
#> $sd_residuals
#> [1] 4.949644
#>
#> $scaled_residuals
#> [1] 0.03378207
#>
#> attr(,"class")
#> [1] "conformalize"