Scénario de test & Cas d'usage
Erstellung einer simulierten Kundentabelle mit demografischen Daten, Kaufhistorie und einer binären Zielvariable 'hat_reagiert'.
| 1 | DATA kunden_reaktion; |
| 2 | call streaminit(456); |
| 3 | DO kunde_id = 1 to 2000; |
| 4 | alter = 20 + floor(rand('UNIFORM') * 50); |
| 5 | einkommen = 30000 + floor(rand('UNIFORM') * 70000); |
| 6 | letzter_kauf_monate = floor(rand('UNIFORM') * 24); |
| 7 | IF rand('UNIFORM') < 0.7 THEN geschlecht = 'M'; ELSE geschlecht = 'W'; |
| 8 | p = 1 / (1 + exp(-( -2 + 0.05*alter - 0.00001*einkommen - 0.1*letzter_kauf_monate ))); |
| 9 | hat_reagiert = rand('BERNOULLI', p); |
| 10 | OUTPUT; |
| 11 | END; |
| 12 | RUN; |
| 1 | |
| 2 | PROC CASUTIL; |
| 3 | load |
| 4 | DATA=kunden_reaktion casout='kunden_reaktion_cas' replace; |
| 5 | RUN; |
| 6 |
| 1 | PROC CAS; |
| 2 | bart.bartProbit / |
| 3 | TABLE='kunden_reaktion_cas', |
| 4 | class={'geschlecht'}, |
| 5 | model={depVars={{name='hat_reagiert'}}, effects={{vars={'alter', 'einkommen', 'letzter_kauf_monate', 'geschlecht'}}}}, |
| 6 | seed=123, |
| 7 | store={name='bart_marketing_modell', replace=true}, |
| 8 | OUTPUT={casOut={name='marketing_vorhersagen', replace=true}, copyVars={'kunde_id', 'hat_reagiert'}}; |
| 9 | RUN; |
Die Aktion schließt erfolgreich ab. Ein Item-Store mit dem Namen 'bart_marketing_modell' wird im aktiven Caslib erstellt. Eine Ausgabetabelle 'marketing_vorhersagen' wird ebenfalls erstellt, die die ursprünglichen IDs, die tatsächliche Reaktion und die vorhergesagten Wahrscheinlichkeiten für jeden Kunden enthält. Die Posterior-Zusammenfassungen in den Ergebnissen zeigen die Bedeutung der einzelnen Variablen.