Scénario de test & Cas d'usage
Données bancaires avec échelles hétérogènes et une variable de poids.
| 1 | |
| 2 | DATA casuser.risk_data; |
| 3 | call streaminit(42); |
| 4 | DO loan_id = 1 to 2000; |
| 5 | income = rand('LogNormal', 10, 0.5); |
| 6 | debt_ratio = rand('Uniform'); |
| 7 | open_lines = rand('Integer', 0, 20); |
| 8 | wgt_transaction = rand('Uniform', 0.5, 1.5); |
| 9 | OUTPUT; |
| 10 | END; |
| 11 | |
| 12 | RUN; |
| 13 |
| 1 | |
| 2 | PROC CAS; |
| 3 | pca.eig / TABLE={name="risk_data"} inputs={"income", "debt_ratio", "open_lines"} weight="wgt_transaction" std=true code={casOut={name="scoring_code", replace=true}}; |
| 4 | |
| 5 | RUN; |
| 6 |
| 1 | PROC CAS; TABLE.fetch / TABLE="scoring_code"; RUN; |
L'analyse tient compte de la variable de poids 'wgt_transaction'. Les variables sont centrées-réduites avant l'analyse (std=True). Une table 'scoring_code' est produite contenant le code SAS (texte) permettant de reproduire le calcul des scores PCA hors de CAS.