Scénario de test & Cas d'usage
Création des données historiques (capteurs) et de leur corrélation.
| 1 | DATA casuser.capteurs_data; |
| 2 | call streaminit(111); |
| 3 | DO i = 1 to 500; |
| 4 | Capteur_A = rand('WEIBULL', 1.5); |
| 5 | Capteur_B = rand('LOGNORMAL'); |
| 6 | OUTPUT; |
| 7 | END; |
| 8 | RUN; |
| 9 | |
| 10 | DATA casuser.capteurs_corr; |
| 11 | _TYPE_ = 'CORR'; _NAME_ = 'Capteur_A'; Capteur_A=1.0; Capteur_B=0.75; OUTPUT; |
| 12 | _TYPE_ = 'CORR'; _NAME_ = 'Capteur_B'; Capteur_A=0.75; Capteur_B=1.0; OUTPUT; |
| 13 | RUN; |
| 1 | PROC CAS; |
| 2 | copula.copulaSimulate / |
| 3 | define={copulaType='T', df=2, corrTable={name='capteurs_corr', caslib='casuser'}}, |
| 4 | TABLE={name='capteurs_data', caslib='casuser'}, |
| 5 | ndraws=2000, |
| 6 | seed=42, |
| 7 | outEmpirical={name='sim_defauts_emp', caslib='casuser', replace=true}, |
| 8 | var={'Capteur_A', 'Capteur_B'}; |
| 9 | RUN; QUIT; |
La table 'sim_defauts_emp' contient 2000 observations. Les valeurs simulées ne sont PAS entre 0 et 1, mais suivent les distributions de valeurs observées dans la table 'capteurs_data' (Weibull/Lognormal) tout en respectant la dépendance de la copule Student définie.