Scénario de test & Cas d'usage
Simulation volumétrique (100 000 lignes) avec 20 variables prédictives (x1-x20) et une variable cible 'ventes' contenant 60% de zéros structurels.
| 1 | |
| 2 | DATA mycas.ventes_retail; |
| 3 | call streaminit(999); |
| 4 | array x[20] x1-x20; |
| 5 | DO i = 1 to 100000; |
| 6 | DO j=1 to 20; |
| 7 | x[j] = rand('Normal'); |
| 8 | END; |
| 9 | IF rand('Uniform') < 0.6 THEN ventes = 0; |
| 10 | ELSE ventes = rand('Poisson', exp(0.5 + 0.2*x1 - 0.1*x5)); |
| 11 | OUTPUT; |
| 12 | END; |
| 13 | |
| 14 | RUN; |
| 15 |
| 1 | |
| 2 | PROC CAS; |
| 3 | countreg.countregFitModel / TABLE={name='ventes_retail'}, model={depVars={{name='ventes'}}, effects={{vars={'x1','x2','x3','x4','x5','x6','x10','x15','x20'}}}}, zeromodel={effects={{vars={'x1', 'x2'}}}}, modelOptions={modelType='ZINB'}, selection={method='STEPWISE', criterion='SBC'}; |
| 4 | |
| 5 | RUN; |
| 6 |
L'action doit gérer la volumétrie sans erreur mémoire. L'algorithme de sélection doit retenir uniquement les variables significatives (ex: x1, x5) et exclure le bruit (x10, x20), tout en ajustant correctement la partie inflation de zéros.