?> bartGauss - WeAreCAS
bart

bartGauss

Beschreibung

Die Aktion bartGauss im Aktionssatz Bayesian Additive Regression Trees (bart) passt Modelle für Bayes'sche additive Regressionsbäume (BART) an normalverteilte Antwortdaten an. BART ist eine nichtparametrische Regressionsmethode, die einen Ensemble-Ansatz verwendet, bei dem das Modell eine Summe vieler schwacher Lerner (Regressionsbäume) ist. Diese Methode ist besonders effektiv bei der Erfassung komplexer nichtlinearer Beziehungen zwischen Prädiktoren und der Antwortvariablen und bietet gleichzeitig eine Quantifizierung der Unsicherheit durch ihren Bayes'schen Rahmen.

bart.bartGauss / alpha=double, attributes={{...}}, class={{...}}, differences={{...}}, display={...}, distributeChains=integer, freq="variable-name", inputs={{...}}, leafSigmaK=double, margins={{...}}, maxTrainTime=double, minLeafSize=integer, missing="MACBIG" | "MACSMALL" | "NONE" | "SEPARATE", model={...}, nBI=integer, nBins=integer, nClassLevelsPrint=integer, nMC=integer, nMCDist=integer, nominals={{...}}, nThin=integer, nTree=integer, obsLeafMapInMem=TRUE | FALSE, orderSplit=integer, output={...}, outputMargins={...}, outputTables={...}, partByFrac={...}, partByVar={...}, quantileBin=TRUE | FALSE, sampleSummary={...}, seed=64-bit-integer, sigmaDF=double, sigmaLambda=double, sigmaQuantile=double, store={...}, table={...}, target="variable-name", trainInMem=TRUE | FALSE, treePrior={...}, varAutoCorr={...}, varEst=double;
Einstellungen
ParameterBeschreibung
alphaGibt das Signifikanzniveau an, das für die Erstellung von gleichwahrscheinlichen Kredibilitätsintervallen für prädiktive Margen verwendet wird.
attributesÄndert die Attribute der in der Aktion verwendeten Variablen.
classBenennt die Klassifikationsvariablen, die als erklärende Variablen in der Analyse verwendet werden sollen.
differencesSpezifiziert Differenzen von prädiktiven Margen.
displayGibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen.
distributeChainsSpezifiziert einen verteilten Modus, 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.
freqBenennt die numerische Variable, die die Häufigkeit des Vorkommens für jede Beobachtung enthält.
inputsSpezifiziert die Eingabevariablen, die in der Analyse verwendet werden sollen.
leafSigmaKGibt den Wert an, der zur Bestimmung der A-priori-Varianz für den Blattparameter verwendet wird.
marginsSpezifiziert eine prädiktive Marge.
maxTrainTimeGibt eine Obergrenze (in Sekunden) für die Zeit des MCMC-Samplings an.
minLeafSizeGibt die minimale Anzahl 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.
modelBenennt 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.
nClassLevelsPrintBegrenzt die Anzeige von Klassenstufen. Der Wert 0 unterdrückt alle Stufen.
nMCGibt die Anzahl der MCMC-Iterationen an, ausschließlich der Burn-in-Iterationen. Dies ist die MCMC-Stichprobengröße, wenn die Ausdünnungsrate 1 ist.
nMCDistGibt die Anzahl der MCMC-Iterationen für jede Kette an, ausschließlich der Burn-in-Iterationen, wenn mehrere Ketten verwendet werden.
nominalsSpezifiziert die nominalen Eingabevariablen, 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.
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 Modellanpassung 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.
partByVarBenennt 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 numerischer Eingaben anstelle von Bins gleicher Breite festgelegt werden.
sampleSummaryErstellt eine Tabelle auf dem Server, die eine Zusammenfassung der Sum-of-Trees-Ensemble-Stichproben enthält.
seedGibt einen Seed zum Starten des Pseudozufallszahlengenerators an.
sigmaDFGibt die Freiheitsgrade der skalierten inversen Chi-Quadrat-Prior-Verteilung für den Varianzparameter an.
sigmaLambdaGibt den Skalenparameter der skalierten inversen Chi-Quadrat-Prior-Verteilung für den Varianzparameter an.
sigmaQuantileGibt das Quantilniveau an, das zur Bestimmung des Skalenparameters der inversen Chi-Quadrat-Prior-Verteilung für den Varianzparameter verwendet wird.
storeSpeichert das Modell in einem binären Tabellenobjekt, das Sie zum Scoren verwenden können.
tableGibt die Eingabedatentabelle an.
targetSpezifiziert die Zielvariable.
trainInMemWenn auf True gesetzt, speichert Daten im Speicher, wenn das Modell trainiert wird.
treePriorSpezifiziert die Regularisierungs-Prior-Verteilung für das Sum-of-Trees-Ensemble.
varAutoCorrGibt die Autokorrelations-Lags für den Varianzparameter an.
varEstGibt den Anfangswert für die Varianz an. Standardmäßig wird der Anfangswert der Varianz durch eine Kleinstquadrateregression der Antwortvariablen auf die Prädiktorvariablen bestimmt.
Datenaufbereitung
Datenerstellung

Erstellen wir einen Beispieldatensatz 'BeispielTabelle', um die Funktionalität der bartGauss-Aktion zu demonstrieren. Diese Tabelle enthält eine Zielvariable 'y' und mehrere Prädiktorvariablen (x1, x2, x3).

1DATA casuser.BeispielTabelle;
2 DO i = 1 to 100;
3 x1 = rand('UNIFORM');
4 x2 = rand('UNIFORM');
5 x3 = rand('INTEGER', 1, 5);
6 y = 10 + 5*x1 - 3*x2 + rand('NORMAL', 0, 2);
7 OUTPUT;
8 END;
9 RUN;

Beispiele

Dies ist ein grundlegendes Beispiel, das zeigt, wie die bartGauss-Aktion mit den minimal erforderlichen Parametern ausgeführt wird: der Zieltabelle und dem Modell (Ziel- und Prädiktorvariablen).

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 bart.bartGauss /
3 TABLE={name='BeispielTabelle'},
4 model={depVars={{name='y'}}, effects={{vars={'x1', 'x2', 'x3'}}}}
5 ;
6 RUN;
7 QUIT;
Ergebnis :
Die Aktion führt das BART-Modell aus und gibt die Standardausgabetabellen zurück, wie z.B. 'Modellinformationen', 'Anzahl der Beobachtungen' und 'Variableninformationen'.

Dieses Beispiel zeigt eine komplexere Verwendung der bartGauss-Aktion. Es umfasst die Angabe der Anzahl der Bäume (nTree), der Burn-in-Iterationen (nBI) und der MCMC-Iterationen (nMC). Außerdem wird ein Ausgabedatensatz für die Vorhersagen erstellt und das Modell für späteres Scoring gespeichert.

SAS® / CAS-Code
Kopiert!
1PROC CAS;
2 bart.bartGauss /
3 TABLE={name='BeispielTabelle'},
4 model={depVars={{name='y'}}, effects={{vars={'x1', 'x2', 'x3'}}}},
5 nTree=100,
6 nBI=500,
7 nMC=2000,
8 seed=12345,
9 OUTPUT={casout={name='bart_vorhersagen', replace=true}, pred='vorhergesagter_y'},
10 store={name='bart_modell', replace=true}
11 ;
12 RUN;
13 QUIT;
Ergebnis :
Die Aktion führt ein BART-Modell mit 100 Bäumen, 500 Burn-in- und 2000 MCMC-Iterationen aus. Sie erstellt eine Ausgabetabelle 'bart_vorhersagen' mit den Vorhersagewerten und speichert das trainierte Modell in einer Tabelle namens 'bart_modell'.

FAQ

Was ist der Hauptzweck der bart.bartGauss-Aktion?
Welche Art von Daten wird für die Zielvariable in der bart.bartGauss-Aktion erwartet?
Was ist ein BART-Modell im Kontext von SAS Viya?
Kann ich mit der bart.bartGauss-Aktion ein Modell speichern, um es später für das Scoring zu verwenden?