Scénario de test & Cas d'usage
Modèles d'arbres de régression additive bayésienne.
Découvrir toutes les actions de bartCréation d'une table de clients avec des informations démographiques, l'exposition à la publicité et la valeur d'achat. La valeur d'achat est influencée par l'âge et l'exposition à la pub.
| 1 | DATA casuser.marketing_data; |
| 2 | call streaminit(456); |
| 3 | DO client_id = 1 to 5000; |
| 4 | age = 20 + floor(rand('UNIFORM') * 50); |
| 5 | a_vu_pub = ifn(rand('UNIFORM') < 0.4, 1, 0); |
| 6 | valeur_achat = 50 + (age / 10) + (a_vu_pub * 25) + rand('NORMAL', 0, 15); |
| 7 | IF valeur_achat < 10 THEN valeur_achat = 10; |
| 8 | OUTPUT; |
| 9 | END; |
| 10 | RUN; |
| 1 | |
| 2 | PROC CAS; |
| 3 | TABLE.loadTable / caslib='CASUSER' path='marketing_data.sashdat' casout={name='marketing_data', replace=true}; |
| 4 | RUN; |
| 5 |
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'bart'; |
| 3 | bart.bartGauss TABLE='marketing_data', |
| 4 | model={depvar='valeur_achat', effects={'age', 'a_vu_pub'}}, |
| 5 | store={name='model_marketing', replace=true}; |
| 6 | RUN; |
| 1 | PROC CAS; |
| 2 | bart.bartScoreMargin TABLE='marketing_data', |
| 3 | model='model_marketing', |
| 4 | margins={ |
| 5 | {name='margin_pub', label='Exposé à la pub', at={{var='a_vu_pub', value=1}}}, |
| 6 | {name='margin_nopub', label='Non exposé à la pub', at={{var='a_vu_pub', value=0}}} |
| 7 | }, |
| 8 | differences={ |
| 9 | {name='uplift_pub', label='Uplift Pub vs Non-Pub', evtMargin='margin_pub', refMargin='margin_nopub'} |
| 10 | }, |
| 11 | casOut={name='marketing_margins_output', replace=true}, |
| 12 | marginInfo=true; |
| 13 | RUN; |
| 14 | QUIT; |
L'action doit produire trois tables de résultats : 'MarginInfo' décrivant les deux scénarios, 'PredMargins' avec les valeurs d'achat prédites pour chaque groupe, et 'Diffs' qui quantifie l'augmentation moyenne de la valeur d'achat due à la publicité. La table de sortie 'marketing_margins_output' doit contenir ces résultats pour une analyse ultérieure.