?> bartProbit - WeAreCAS
bart

bartProbit

Beschreibung

Passt Probit-Modelle für Bayes'sche additive Regression Trees (BART) an binär verteilte Antwortdaten an.

bart.bartProbit <result=results> <status=rc> / alpha=double, applyRowOrder=TRUE | FALSE, attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}, class={{classStatement-1} <, {classStatement-2}, ...>}, differences={{bartScoreMargin_scoreDiff-1} <, {bartScoreMargin_scoreDiff-2}, ...>}, display={displayTables}, distributeChains=integer, freq="variable-name", inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}, leafSigmaK=double, margins={{bartScoreMargin_evaluate-1} <, {bartScoreMargin_evaluate-2}, ...>}, maxTrainTime=double, minLeafSize=integer, missing="MACBIG" | "MACSMALL" | "NONE" | "SEPARATE", model={bartProbitModel}, nBI=integer, nBins=integer, nClassLevelsPrint=integer, nMC=integer, nominals={{casinvardesc-1} <, {casinvardesc-2}, ...>}, nThin=integer, nTree=integer, obsLeafMapInMem=TRUE | FALSE, offset="variable-name", orderSplit=integer, output={bartBinOutputStatement}, outputMargins={casouttable}, outputTables={outputTables}, partByFrac={partByFracStatement}, partByVar={partByVarStatement}, quantileBin=TRUE | FALSE, sampleSummary={bartProbit_sampleSummary}, seed=64-bit-integer, store={casouttablebasic}, table={castable}, target="variable-name", trainInMem=TRUE | FALSE, treePrior={bart_treePrior};
Einstellungen
ParameterBeschreibung
alphaGibt das Signifikanzniveau an, das für die Erstellung von gleichschwänzigen Kredibilitätsgrenzen für prädiktive Margen verwendet wird.
applyRowOrderGibt an, ob die Zeilenreihenfolge angewendet werden soll.
attributesÄndert die Attribute der in der Aktion verwendeten Variablen. Derzeit werden auf den Eingaben und nominalen Parametern angegebene Attribute ignoriert.
classNennt die Klassifikationsvariablen, die als erklärende Variablen in der Analyse verwendet werden sollen.
differencesGibt Differenzen von prädiktiven Margen an.
displayGibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen.
distributeChainsGibt einen verteilten Modus an, der das MCMC-Sampling in einer Grid-Umgebung aufteilt. Dieser Modus verteilt die Trainingsdaten auf die Worker, sodass die angegebene Anzahl von Workern eine vollständige Kopie der Trainingsdaten hat und eine separate Kette ausführt. Dieser Parameter ist im Einzelmaschinenmodus nicht anwendbar. Wenn Sie einen Wert von 0 angeben, wird eine einzelne Kette ausgeführt, und jedem Worker-Knoten wird ein Teil der Trainingsdaten zugewiesen.
freqNennt die numerische Variable, die die Häufigkeit des Vorkommens für jede Beobachtung enthält.
inputsGibt die Eingabevariablen an, die in der Analyse verwendet werden sollen.
leafSigmaKGibt den Wert an, der zur Bestimmung der A-priori-Varianz für den Blattparameter verwendet wird.
marginsGibt eine prädiktive Marge an.
maxTrainTimeGibt eine Obergrenze (in Sekunden) für die Zeit des MCMC-Samplings an.
minLeafSizeGibt die Mindestanzahl von Beobachtungen an, die jedes Kind eines Splits in den Trainingsdaten enthalten muss, damit der Split berücksichtigt wird.
missingGibt an, wie fehlende Werte in Prädiktorvariablen behandelt werden sollen.
modelNennt die abhängige Variable und die erklärenden Effekte.
nBIGibt die Anzahl der Burn-In-Iterationen an, die durchgeführt werden, bevor die Aktion beginnt, Stichproben für die Vorhersage zu speichern.
nBinsGibt die Anzahl der Bins an, die für das Binning kontinuierlicher Eingabevariablen verwendet werden sollen.
nClassLevelsPrintBegrenzt die Anzeige von Klassenstufen. Der Wert 0 unterdrückt alle Stufen.
nMCGibt die Anzahl der MCMC-Iterationen an, ausgenommen die Burn-In-Iterationen. Dies ist die MCMC-Stichprobengröße, wenn die Ausdünnungsrate 1 ist. Diese Option wird ignoriert, wenn Sie den Parameter nMCDist angeben und verteilte Ketten ausführen.
nominalsGibt die nominalen Eingabevariablen an, die in der Analyse verwendet werden sollen.
nThinGibt die Ausdünnungsrate der Simulation an.
nTreeGibt die Anzahl der Bäume in einer Stichprobe des Sum-of-Trees-Ensembles an.
obsLeafMapInMemWenn auf True gesetzt, speichert eine Zuordnung jeder Beobachtung zu Endknoten im Speicher, wenn das Modell trainiert wird.
offsetGibt eine numerische Offset-Variable an. Diese Variable darf keine Klassifikationsvariable, keine Antwortvariable oder eine der erklärenden Variablen sein.
orderSplitGibt die minimale Kardinalität an, für die eine kategoriale Eingabe Aufteilungsregeln gemäß der Ebenenreihenfolge verwendet.
outputErstellt eine Tabelle auf dem Server, die beobachtungsweise Statistiken enthält, die nach der Anpassung des Modells berechnet werden.
outputMarginsGibt die Ausgabetabelle für die prädiktiven Margen an.
outputTablesListet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen.
partByFracGibt den Anteil der Daten an, der für das Testen verwendet werden soll.
partByVarNennt die Variable und ihre Werte, die zur Partitionierung der Daten in Trainings- und Testrollen verwendet werden.
quantileBinWenn auf True gesetzt, gibt an, dass Bin-Grenzen an Quantilen von numerischen Eingaben anstelle von Bins gleicher Breite gesetzt werden.
sampleSummaryErstellt eine Tabelle auf dem Server, die eine Zusammenfassung der Sum-of-Trees-Ensemble-Stichproben enthält.
seedGibt einen Startwert für den Pseudozufallszahlengenerator an.
storeSpeichert das Modell in einem binären Tabellenobjekt, das Sie zum Scoren verwenden können.
tableGibt die Eingabedatentabelle an.
targetGibt die Zielvariable an.
trainInMemWenn auf True gesetzt, speichert Daten im Speicher, wenn das Modell trainiert wird.
treePriorGibt den Regularisierungs-Prior für das Sum-of-Trees-Ensemble an.
Datenaufbereitung
Datenerstellung

Wir erstellen die Tabelle 'getStarted', die eine binäre Zielvariable 'y' und mehrere erklärende Variablen enthält. Diese Tabelle wird verwendet, um das Probit-BART-Modell zu trainieren.

data getStarted; 
 call streaminit(123); 
 do i = 1 to 100; 
   x1 = rand('UNIFORM'); 
   x2 = rand('UNIFORM'); 
   x3 = rand('UNIFORM'); 
   p = 1 / (1 + exp(-(-2 + 6*x1 - 3*x2))); 
   y = rand('BERNOULLI', p); 
   output; 
 end; 
run;

Beispiele

Dieses Beispiel zeigt, wie man ein einfaches Probit-BART-Modell mit der Aktion 'bartProbit' trainiert. Wir geben die Zielvariable 'y' und die Eingabevariablen 'x1', 'x2' und 'x3' an.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 bart.bartProbit /
3 TABLE='getStarted',
4 model={depVars={{name='y'}}, effects={{vars={'x1', 'x2', 'x3'}}}}
5 ;
6RUN;
Ergebnis :
Die Aktion trainiert das Modell und gibt verschiedene Tabellen aus, die das Training zusammenfassen, wie z.B. 'Modellinformationen', 'Anzahl der Beobachtungen' und 'Posterior-Zusammenfassungen'.

Dieses Beispiel zeigt ein detaillierteres Training, bei dem die Anzahl der Bäume, die Burn-In-Iterationen und die MCMC-Iterationen angepasst werden. Es wird auch eine Ausgabetabelle für die Vorhersagen und ein Item-Store zum Speichern des Modells erstellt.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 bart.bartProbit /
3 TABLE='getStarted',
4 model={depVars={{name='y'}}, effects={{vars={'x1', 'x2', 'x3'}}}},
5 nTree=100,
6 nBI=500,
7 nMC=2000,
8 seed=1234,
9 OUTPUT={casOut={name='probit_pred', replace=true}, copyVars={'y', 'x1', 'x2', 'x3'}},
10 store={name='probit_model_store', replace=true}
11 ;
12RUN;
Ergebnis :
Die Aktion führt das MCMC-Sampling mit den angegebenen Parametern durch. Sie erstellt die Tabelle 'probit_pred' mit den Vorhersagen für jede Beobachtung und speichert das trainierte Modell im Item-Store 'probit_model_store' zur späteren Verwendung beim Scoring.

FAQ

Was ist der Hauptzweck der `bart.bartProbit`-Aktion?
Welche Daten werden für die `bart.bartProbit`-Aktion benötigt?
Was steuert der `nTree`-Parameter?
Wie funktionieren die MCMC-Iterationen in dieser Aktion?
Wie kann das trainierte Modell für zukünftiges Scoring gespeichert werden?
Wie wird mit fehlenden Werten in Prädiktorvariablen umgegangen?