bart

bartGauss

L'essentiel
Auf einen Blick
Für die präzise Analyse stetiger Zielvariablen, die einer Normalverteilung unterliegen, stellt die Aktion bartGauss ein mächtiges Instrument im Bereich des maschinellen Lernens dar. Sie basiert auf dem Verfahren der Bayesian Additive Regression Trees und generiert durch die Aggregation vieler Entscheidungsbäume ein hochgradig anpassungsfähiges, nicht-parametrisches Modell. Diese Methode ist ideal, um verborgene Muster und komplexe Wechselwirkungen in Datenbeständen aufzudecken, ohne explizite Annahmen über die funktionale Form zu treffen. In diesem FAQ-Bereich finden Sie fundierte Unterstützung und Lösungen für den praktischen Einsatz, von der Initialisierung der MCMC-Ketten bis hin zur Validierung der Modellgüte.

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
alpha Gibt 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.
class Benennt die Klassifikationsvariablen, die als erklärende Variablen in der Analyse verwendet werden sollen.
differences Spezifiziert Differenzen von prädiktiven Margen.
display Gibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen.
distributeChains Spezifiziert 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.
freq Benennt die numerische Variable, die die Häufigkeit des Vorkommens für jede Beobachtung enthält.
inputs Spezifiziert die Eingabevariablen, die in der Analyse verwendet werden sollen.
leafSigmaK Gibt den Wert an, der zur Bestimmung der A-priori-Varianz für den Blattparameter verwendet wird.
margins Spezifiziert eine prädiktive Marge.
maxTrainTime Gibt eine Obergrenze (in Sekunden) für die Zeit des MCMC-Samplings an.
minLeafSize Gibt die minimale Anzahl von Beobachtungen an, die jedes Kind eines Splits in den Trainingsdaten enthalten muss, damit der Split berücksichtigt wird.
missing Gibt an, wie fehlende Werte in Prädiktorvariablen behandelt werden sollen.
model Benennt die abhängige Variable und die erklärenden Effekte.
nBI Gibt die Anzahl der Burn-in-Iterationen an, die durchgeführt werden, bevor die Aktion beginnt, Stichproben für die Vorhersage zu speichern.
nBins Gibt die Anzahl der Bins an, die für das Binning kontinuierlicher Eingabevariablen verwendet werden.
nClassLevelsPrint Begrenzt die Anzeige von Klassenstufen. Der Wert 0 unterdrückt alle Stufen.
nMC Gibt die Anzahl der MCMC-Iterationen an, ausschließlich der Burn-in-Iterationen. Dies ist die MCMC-Stichprobengröße, wenn die Ausdünnungsrate 1 ist.
nMCDist Gibt die Anzahl der MCMC-Iterationen für jede Kette an, ausschließlich der Burn-in-Iterationen, wenn mehrere Ketten verwendet werden.
nominals Spezifiziert die nominalen Eingabevariablen, die in der Analyse verwendet werden sollen.
nThin Gibt die Ausdünnungsrate der Simulation an.
nTree Gibt die Anzahl der Bäume in einer Stichprobe des Sum-of-Trees-Ensembles an.
obsLeafMapInMem Wenn auf True gesetzt, speichert eine Zuordnung jeder Beobachtung zu Endknoten im Speicher, wenn das Modell trainiert wird.
orderSplit Gibt die minimale Kardinalität an, für die eine kategoriale Eingabe Aufteilungsregeln gemäß der Ebenenreihenfolge verwendet.
output Erstellt eine Tabelle auf dem Server, die beobachtungsweise Statistiken enthält, die nach der Modellanpassung berechnet werden.
outputMargins Gibt die Ausgabetabelle für die prädiktiven Margen an.
outputTables Listet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen.
partByFrac Gibt den Anteil der Daten an, der für das Testen verwendet werden soll.
partByVar Benennt die Variable und ihre Werte, die zur Partitionierung der Daten in Trainings- und Testrollen verwendet werden.
quantileBin Wenn auf True gesetzt, gibt an, dass Bin-Grenzen an Quantilen numerischer Eingaben anstelle von Bins gleicher Breite festgelegt werden.
sampleSummary Erstellt eine Tabelle auf dem Server, die eine Zusammenfassung der Sum-of-Trees-Ensemble-Stichproben enthält.
seed Gibt einen Seed zum Starten des Pseudozufallszahlengenerators an.
sigmaDF Gibt die Freiheitsgrade der skalierten inversen Chi-Quadrat-Prior-Verteilung für den Varianzparameter an.
sigmaLambda Gibt den Skalenparameter der skalierten inversen Chi-Quadrat-Prior-Verteilung für den Varianzparameter an.
sigmaQuantile Gibt das Quantilniveau an, das zur Bestimmung des Skalenparameters der inversen Chi-Quadrat-Prior-Verteilung für den Varianzparameter verwendet wird.
store Speichert das Modell in einem binären Tabellenobjekt, das Sie zum Scoren verwenden können.
table Gibt die Eingabedatentabelle an.
target Spezifiziert die Zielvariable.
trainInMem Wenn auf True gesetzt, speichert Daten im Speicher, wenn das Modell trainiert wird.
treePrior Spezifiziert die Regularisierungs-Prior-Verteilung für das Sum-of-Trees-Ensemble.
varAutoCorr Gibt die Autokorrelations-Lags für den Varianzparameter an.
varEst Gibt den Anfangswert für die Varianz an. Standardmäßig wird der Anfangswert der Varianz durch eine Kleinstquadrateregression der Antwortvariablen auf die Prädiktorvariablen bestimmt.
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).

Kopiert!
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 Code wartet auf Validierung durch die Community
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 Code wartet auf Validierung durch die Community
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?

Zugehörige Szenarien

Anwendungsfall
Vorhersage der verbleibenden Nutzungsdauer (RUL) für Maschinenkomponenten

Ein Fertigungsunternehmen möchte die verbleibende Nutzungsdauer (RUL) einer kritischen Komponente vorhersagen, um Wartungsarbeiten proaktiv zu planen und kostspielige Ausfälle z...

Anwendungsfall
Analyse von Kreditantragsdaten mit hoher Kardinalität und Volumen

Eine Bank muss die Kreditwürdigkeit von Antragstellern bewerten. Das Modell muss eine große Datenmenge (500.000 Anträge) mit einer Mischung aus kontinuierlichen und kategorialen...

Anwendungsfall
Analyse klinischer Studiendaten mit fehlenden Werten

Ein Pharmaunternehmen analysiert die Wirksamkeit eines neuen Medikaments. Die gesammelten Daten enthalten jedoch fehlende Werte für mehrere Biomarker, da einige Patienten die St...