bart

bartScore

L'essentiel
Auf einen Blick
Die Überführung statistischer Modelle in den produktiven Einsatz erfordert zuverlässige Werkzeuge für die Prognoseberechnung. Mit der Funktion bartScore wenden Sie bereits trainierte Bayesian Additive Regression Trees auf neue Datensätze an, um präzise Vorhersagen zu generieren. Dieser Schritt ist für Administratoren und Analysten essenziell, da er nicht nur die reinen Prognosewerte liefert, sondern auch wichtige Qualitätskennzahlen wie Residuen und Kredibilitätsintervalle berechnet, die für die Beurteilung der Modellunsicherheit notwendig sind. In diesem Bereich finden Sie detaillierte Antworten auf häufige Anwenderfragen zur korrekten Handhabung von Modell-Dateien und zur Interpretation der statistischen Ausgabeparameter.

Beschreibung

Erstellt eine Tabelle auf dem Server, die Ergebnisse aus der Bewertung von Beobachtungen unter Verwendung eines angepassten Bayes'schen additiven Regressionsbaum-Modells enthält.

bart.bartScore { alpha=double, avgOnly=TRUE | FALSE, casOut={caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1" <, "string-2", ...>}}, copyVars={"variable-name-1" <, "variable-name-2", ...>}, into="string", intoCutpt=double, lcl="string", pred="string", resid="string", restore={caslib="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, name="table-name", whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, where="where-expression"}}, seed=64-bit-integer, table={caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, groupBy={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, groupByMode="NOSORT" | "REDISTRIBUTE", importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", orderBy={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, singlePass=TRUE | FALSE, vars={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, where="where-expression", whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{ format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, where="where-expression"}}, ucl="string" };
Einstellungen
ParameterBeschreibung
alpha Gibt das Signifikanzniveau an, das für die Erstellung aller gleichseitigen Kredibilitätsgrenzen verwendet werden soll.
avgOnly Wenn auf FALSE gesetzt, werden Vorhersagen aus jeder MCMC-Stichprobe zusätzlich zu den durchschnittlichen Stichprobenvorhersagen in die Ausgabetabelle aufgenommen.
casOut Erstellt eine Tabelle auf dem Server, die beobachtungsweise Statistiken enthält, die aus der Bewertung einer Datentabelle berechnet werden.
copyVars Gibt eine Liste von einer oder mehreren Variablen an, die von der Bewertungstabelle in die Ausgabetabelle kopiert werden sollen.
into Gibt den Namen der kategorialen Antwortvariablen an, die erstellt werden soll, wenn das Modell ein nominales Ziel hat.
intoCutpt Gibt den Cutoff-Wert an, der verwendet wird, um die vorhergesagte Wahrscheinlichkeit in eine Klassenzuordnung für die INTO=-Variable umzuwandeln.
lcl Benennt die untere gleichseitige Kredibilitätsgrenze.
pred Benennt den vorhergesagten Wert. Wenn Sie keine Ausgabestatistiken angeben, wird der vorhergesagte Wert standardmäßig Pred genannt.
resid Benennt das Residuum.
restore Gibt ein binäres Tabellenobjekt aus einer vorherigen Modellanpassung an.
seed Gibt einen Startwert für den Pseudozufallszahlengenerator an.
table Gibt die Eingabedatentabelle an.
ucl Benennt die obere gleichseitige Kredibilitätsgrenze.
Erstellung der Beispieldaten

Dieser SAS-Code erstellt eine CAS-Tabelle namens 'mycas.score_data'. Diese Tabelle enthält Beispieldaten, die zum Bewerten mit einem zuvor trainierten BART-Modell verwendet werden können. Sie enthält die unabhängigen Variablen (x1, x2, x3) und eine Zielvariable (y), obwohl die Zielvariable für die reine Bewertung nicht erforderlich ist.

Kopiert!
1DATA mycas.score_data;
2 call streaminit(4321);
3 DO i = 1 to 100;
4 x1 = rand('UNIFORM');
5 x2 = rand('UNIFORM');
6 x3 = rand('UNIFORM');
7 y = 10 * sin(3.14 * x1 * x2) + 20 * (x3 - 0.5)**2 + 10 * rand('NORMAL');
8 OUTPUT;
9 END;
10RUN;

Beispiele

Dieses Beispiel zeigt, wie die Aktion `bartScore` verwendet wird, um eine Datentabelle ('mycas.score_data') mit einem gespeicherten BART-Modell ('mycas.my_model') zu bewerten. Die Ergebnisse werden in einer neuen CAS-Tabelle namens 'mycas.scored_output' gespeichert.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 bart.bartScore /
3 restore={name='my_model', caslib='mycas'},
4 TABLE={name='score_data', caslib='mycas'},
5 casOut={name='scored_output', caslib='mycas', replace=true};
6RUN;
Ergebnis :
Eine neue CAS-Tabelle 'mycas.scored_output' wird erstellt. Sie enthält die ursprünglichen Daten sowie eine neue Spalte 'Pred', die die durchschnittlichen vorhergesagten Werte für jede Beobachtung enthält.

Dieses Beispiel zeigt eine erweiterte Verwendung der Aktion `bartScore`. Es bewertet die Tabelle 'mycas.score_data' mit dem Modell 'mycas.my_model'. Zusätzlich zur durchschnittlichen Vorhersage werden auch die 95%-Kredibilitätsintervalle (untere und obere Grenzen) und die Residuen berechnet. Die Variablen 'i' und 'x1' werden ebenfalls aus der Eingabetabelle in die Ausgabetabelle 'mycas.scored_output_detailed' kopiert.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 bart.bartScore /
3 restore='my_model',
4 TABLE='score_data',
5 pred='PredictedValue',
6 lcl='LowerLimit',
7 ucl='UpperLimit',
8 resid='ResidualValue',
9 alpha=0.05,
10 copyVars={'i', 'x1'},
11 casOut={name='scored_output_detailed', replace=true};
12RUN;
Ergebnis :
Eine neue CAS-Tabelle 'mycas.scored_output_detailed' wird erstellt. Sie enthält die Spalten 'i' und 'x1' aus der Originaltabelle sowie die neuen Spalten 'PredictedValue' (vorhergesagter Mittelwert), 'LowerLimit' (untere Kredibilitätsgrenze), 'UpperLimit' (obere Kredibilitätsgrenze) und 'ResidualValue' (Residuum).

FAQ

Was ist der Zweck der `bartScore`-Aktion?
Wie gebe ich die Ausgabetabelle für die Bewertungsergebnisse an?
Wie verwende ich ein zuvor angepasstes Modell zum Bewerten neuer Daten?
Kann ich Vorhersagen von jeder einzelnen MCMC-Stichprobe erhalten, anstatt nur des Durchschnitts?
Wie kann ich Kredibilitätsintervalle für die Vorhersagen anpassen?
Ist es möglich, Variablen von der Eingabedatentabelle in die Ausgabetabelle zu übernehmen?

Zugehörige Szenarien

Anwendungsfall
Standard-Kreditrisikobewertung für neue Antragsteller

Eine Bank möchte die Kreditwürdigkeit neuer Kreditantragsteller bewerten. Ein zuvor trainiertes BART-Modell soll verwendet werden, um eine Ausfallwahrscheinlichkeit für jeden An...

Anwendungsfall
Analyse der Vorhersageunsicherheit bei einer großen Kundendatenbank

Ein Telekommunikationsunternehmen möchte die Abwanderungswahrscheinlichkeit für seine gesamte Kundenbasis (mehrere Millionen Kunden) vorhersagen. Für Kunden mit hohem Wert ist d...

Anwendungsfall
Fehlertolerante Bewertung von Maschinenausfällen mit unvollständigen Sensordaten

Ein Fertigungsunternehmen verwendet ein vorausschauendes Wartungsmodell, um die Wahrscheinlichkeit eines Maschinenausfalls basierend auf Echtzeit-Sensordaten zu bewerten. Aufgru...