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 de données de maintenance où un capteur ('sensor_B') a des valeurs manquantes pour 30% des observations.
| 1 | DATA casuser.maintenance_data; |
| 2 | call streaminit(789); |
| 3 | DO machine_id = 1 to 1000; |
| 4 | sensor_A = rand('UNIFORM') * 100; |
| 5 | sensor_B = rand('UNIFORM') * 50; |
| 6 | /* Introduire des valeurs manquantes */ |
| 7 | IF rand('UNIFORM') < 0.3 THEN call missing(sensor_B); |
| 8 | risk_score = (sensor_A * 0.5) + (coalesce(sensor_B, 25) * 0.8) + rand('NORMAL', 0, 5); |
| 9 | OUTPUT; |
| 10 | END; |
| 11 | RUN; |
| 1 | PROC CAS; |
| 2 | LOADACTIONSET 'bart'; |
| 3 | bart.bartGauss TABLE='maintenance_data', |
| 4 | model={depvar='risk_score', effects={'sensor_A', 'sensor_B'}}, |
| 5 | store={name='model_maintenance', replace=true}; |
| 6 | RUN; |
| 1 | PROC CAS; |
| 2 | bart.bartScoreMargin TABLE='maintenance_data', |
| 3 | model='model_maintenance', |
| 4 | alpha=0.10, /* Test d'un alpha non-défaut pour un intervalle de crédibilité de 90% */ |
| 5 | margins={{name='margin_sensorB_fixed', label='Scénario Sensor B = 15.5', at={{var='sensor_B', value=15.5}}}}, |
| 6 | marginInfo=true; |
| 7 | RUN; |
| 8 | QUIT; |
L'action doit s'exécuter avec succès sans générer d'erreur liée aux valeurs manquantes. La table 'PredMargins' doit afficher une marge prédictive calculée. La table 'MarginInfo' doit confirmer que 'sensor_B' a été fixé à 15.5. Le résultat doit démontrer que la valeur spécifiée dans le paramètre `at` supplante les valeurs originales (y compris manquantes) de la table d'entrée pour le calcul de la marge. Les intervalles de crédibilité doivent être à 90%.