regression

glm

Beschreibung

Diese Aktion passt lineare Regressionsmodelle mithilfe der Methode der kleinsten Quadrate an. Sie ist Teil des Regressions-Aktion-Sets und ermöglicht die Analyse linearer Beziehungen zwischen einer abhängigen Variablen und mehreren unabhängigen Variablen. Die Methode der kleinsten Quadrate wird verwendet, um die Parameter des Modells so zu schätzen, dass die Summe der quadrierten Residuen minimiert wird. Die Aktion bietet verschiedene Optionen zur Modellbildung, Variablenselektion und zur Ausgabe von Diagnoseinformationen, um eine umfassende Analyse zu ermöglichen.

regression.glm <result=results> <status=rc> / alpha=double, attributes={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, byLimit=64-bit-integer, class={{countMissing=TRUE | FALSE, descending=TRUE | FALSE, ignoreMissing=TRUE | FALSE, levelizeRaw=TRUE | FALSE, maxLev=integer, order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL", param="BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE", ref="FIRST" | "LAST" | double | "string", split=TRUE | FALSE, vars={"variable-name-1" <, "variable-name-2">}}, {...}}, classGlobalOpts={countMissing=TRUE | FALSE, descending=TRUE | FALSE, ignoreMissing=TRUE | FALSE, levelizeRaw=TRUE | FALSE, maxLev=integer, order="FORMATTED" | "FREQ" | "FREQFORMATTED" | "FREQINTERNAL" | "INTERNAL", param="BTH" | "EFFECT" | "GLM" | "ORDINAL" | "ORTHBTH" | "ORTHEFFECT" | "ORTHORDINAL" | "ORTHPOLY" | "ORTHREF" | "POLYNOMIAL" | "REFERENCE", ref="FIRST" | "LAST" | double | "string", split=TRUE | FALSE}, classLevelsPrint=TRUE | FALSE, clb=TRUE | FALSE, code={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", onDemand=TRUE | FALSE, promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1" <, "string-2">}}, comment=TRUE | FALSE, fmtWdth=integer, indentSize=integer, intoCutPt=double, iProb=TRUE | FALSE, labelId=integer, lineSize=integer, noTrim=TRUE | FALSE, pCatAll=TRUE | FALSE, tabForm=TRUE | FALSE}, collection={{details=TRUE | FALSE, name="string", vars={"variable-name-1" <, "variable-name-2">}}, {...}}, display={caseSensitive=TRUE | FALSE, exclude=TRUE | FALSE, excludeAll=TRUE | FALSE, keyIsPath=TRUE | FALSE, names={"string-1" <, "string-2">}, pathType="LABEL" | "NAME", traceNames=TRUE | FALSE}, freq="variable-name", inputs={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, maxParameters=integer, model={addlaststopstep=TRUE | FALSE, clb=TRUE | FALSE, depVars={{name="variable-name"}, {...}}, effects={{interaction="BAR" | "CROSS" | "NONE", maxInteract=integer, nest={"string-1" <, "string-2">}, vars={"string-1" <, "string-2">}}, {...}}, entry="variable-name", include=integer | {{effect-1} <, {effect-2}>}, informative=TRUE | FALSE, noint=TRUE | FALSE, ridge={double-1 <, double-2>}, ss3=TRUE | FALSE, start=integer | {{effect-1} <, {effect-2}>}, stb=TRUE | FALSE, tol=TRUE | FALSE, vif=TRUE | FALSE, xpx=TRUE | FALSE, xpxScaled=TRUE | FALSE, xpxUnscaled=TRUE | FALSE}, multimember={{details=TRUE | FALSE, name="string", noEffect=TRUE | FALSE, stdize=TRUE | FALSE, vars={"variable-name-1" <, "variable-name-2">}, weight={"variable-name-1" <, "variable-name-2">}}, {...}}, nClassLevelsPrint=integer, nominals={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, {...}}, output={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">}}, cooksD="string", copyVars="ALL" | "ALL_MODEL" | "ALL_NUMERIC" | {"variable-name-1" <, "variable-name-2">}, covRatio="string", dffits="string", h="string", lcl="string", lclm="string", likeDist="string", pred="string", press="string", resid="string", role="string", rStudent="string", stdi="string", stdp="string", stdr="string", student="string", ucl="string", uclm="string"}, outputTables={groupByVarsRaw=TRUE | FALSE, includeAll=TRUE | FALSE, names={"string-1" <, "string-2">} | {key-1={casouttable-1} <, key-2={casouttable-2}>}, repeated=TRUE | FALSE, replace=TRUE | FALSE}, parmEstLevDetails="NONE" | "RAW" | "RAW_AND_FORMATTED", partByFrac={seed=integer, test=double, validate=double}, partByVar={name="variable-name", test="string", train="string", validate="string"}, polynomial={{degree=integer, details=TRUE | FALSE, labelStyle={expand=TRUE | FALSE, exponent="string", includeName=TRUE | FALSE, productSymbol="NONE" | "string"}, mDegree=integer, name="string", noSeparate=TRUE | FALSE, standardize={method="MOMENTS" | "MRANGE" | "WMOMENTS", options="CENTER" | "CENTERSCALE" | "NONE" | "SCALE", prefix="NONE" | "string"}, vars={"variable-name-1" <, "variable-name-2">}}, {...}}, selection={adaptive=TRUE | FALSE, bestSubsetOptions={best=integer, computeBeta=TRUE | FALSE, displayAIC=TRUE | FALSE, displayBIC=TRUE | FALSE, displayGMSEP=TRUE | FALSE, displayJP=TRUE | FALSE, displayMSE=TRUE | FALSE, displayPC=TRUE | FALSE, displayRMSE=TRUE | FALSE, displaySBC=TRUE | FALSE, displaySP=TRUE | FALSE, displaySSE=TRUE | FALSE, sigma=double}, candidates=integer | "ALL", choose="ADJRSQ" | "AIC" | "AICC" | "CP" | "CV" | "DEFAULT" | "NONE" | "PRESS" | "RSQUARE" | "SBC" | "VALIDATE", competitive=TRUE | FALSE, details="ALL" | "NONE" | "STEPS" | "SUMMARY", elasticNetOptions={absFConv=double, fConv=double, gConv=double, lambda={double-1 <, double-2>}, mixing={double-1 <, double-2>}, numLambda=integer, rho=double, solver="ADMM" | "BFGS" | "LBFGS" | "NLP"}, enscale=TRUE | FALSE, ensteps=integer, fcpSelectionOptions={alpha=double, bigM=double, coefTol=double, intTol=double, lambda=double, lambdaGrid="DEFAULT" | "LINSPACE" | "LOGSPACE", maxAlpha=double, maxIterAlpha=integer, maxIterLambda=integer, maxLambda=double, maxTime=double, minAlpha=double, minLambda=double, scale=TRUE | FALSE, solver="DEFAULT" | "MILP" | "NLP"}, gamma=double, hierarchy="DEFAULT" | "NONE" | "SINGLE" | "SINGLECLASS", kappa={double-1 <, double-2>}, L2=double, L2HIGH=double, L2LOW=double, lsCoeffs=TRUE | FALSE, maxEffects=integer, maxSteps=integer, method="BACKWARD" | "BESTSUBSET" | "ELASTICNET" | "FORWARD" | "FORWARDSWAP" | "LAR" | "LASSO" | "MCP" | "NONE" | "SCAD" | "STEPWISE", minEffects=integer, orderSelect=TRUE | FALSE, plots=TRUE | FALSE, relaxed=TRUE | FALSE, select="ADJRSQ" | "AIC" | "AICC" | "CP" | "DEFAULT" | "RSQUARE" | "SBC" | "SL", slEntry=double, slStay=double, stop="ADJRSQ" | "AIC" | "AICC" | "CP" | "CV" | "DEFAULT" | "NONE" | "PRESS" | "RSQUARE" | "SBC" | "SL" | "VALIDATE", stopHorizon=integer}, spline={{basis="BSPLINE" | "TPF_DEFAULT" | "TPF_NOINT" | "TPF_NOINTANDNOPOWERS" | "TPF_NOPOWERS", dataBoundary=TRUE | FALSE, degree=integer, details=TRUE | FALSE, knotMax=double, knotMethod={equal=integer, list={double-1 <, double-2>}, listWithBoundary={double-1 <, double-2>}, multiscale={endScale=integer, startScale=integer}, rangeFractions={double-1 <, double-2>}}, knotMin=double, name="string", naturalCubic=TRUE | FALSE, separate=TRUE | FALSE, split=TRUE | FALSE, vars={"variable-name-1" <, "variable-name-2">}}, {...}}, ss3=TRUE | FALSE, store={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">}}, 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"}}, target="string", weight="variable-name" ;
Einstellungen
ParameterBeschreibung
alpha Gibt das Signifikanzniveau an, das für die Konstruktion aller Konfidenzintervalle verwendet werden soll. Standardwert: 0,05. Wertebereich: (0, 1).
attributes Ändert die Attribute von Variablen, die in dieser Aktion verwendet werden. Derzeit werden Attribute, die in den Parametern 'inputs' und 'nominals' angegeben sind, ignoriert. (Unterparameter: format, formattedLength, label, name, nfd, nfl)
byLimit Gibt an, dass die Analyse nicht durchgeführt wird, wenn die Anzahl der BY-Gruppen den angegebenen Wert überschreitet. Mindestwert: 1.
class Benennt die Klassifikationsvariablen, die als erklärende Variablen in der Analyse verwendet werden sollen. (Unterparameter: countMissing, descending, ignoreMissing, levelizeRaw, maxLev, order, param, ref, split, vars)
classGlobalOpts Listet Optionen auf, die für alle Klassifikationsvariablen gelten. (Unterparameter: countMissing, descending, ignoreMissing, levelizeRaw, maxLev, order, param, ref, split)
classLevelsPrint Unterdrückt bei Festlegung auf „False“ die Anzeige der Klassenebenen. Standardwert: TRUE.
clb Zeigt bei Festlegung auf „True“ die oberen und unteren Konfidenzgrenzen für die Parameterschätzungen an. Standardwert: FALSE.
code Schreibt SAS DATA-Step-Code zur Berechnung vorhergesagter Werte des angepassten Modells. (Unterparameter: casOut, comment, fmtWdth, indentSize, intoCutPt, iProb, labelId, lineSize, noTrim, pCatAll, tabForm)
collection Definiert einen Satz von Variablen, die als einzelner Effekt mit mehreren Freiheitsgraden behandelt werden. (Unterparameter: details, name, vars)
display Gibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen. (Unterparameter: caseSensitive, exclude, excludeAll, keyIsPath, names, pathType, traceNames)
freq Benennt die numerische Variable, die die Häufigkeit des Auftretens jeder Beobachtung enthält.
inputs Gibt Variablen an, die für die Analyse verwendet werden sollen. (Unterparameter: format, formattedLength, label, name, nfd, nfl)
maxParameters Gibt an, dass Modelle nicht angepasst werden, wenn die Anzahl der Parameter den angegebenen Wert überschreitet. Mindestwert: 0.
model Benennt die abhängige Variable, die erklärenden Effekte und die Modelloptionen. (Unterparameter: addlaststopstep, clb, depVars, effects, entry, include, informative, noint, ridge, ss3, start, stb, tol, vif, xpx, xpxScaled, xpxUnscaled)
multimember Verwendet eine oder mehrere Klassifikationsvariablen, die im Parameter 'vars' angegeben sind, so dass jede Beobachtung einem oder mehreren Ebenen der Vereinigung der Ebenen der Klassifikationsvariablen zugeordnet werden kann. (Unterparameter: details, name, noEffect, stdize, vars, weight)
nClassLevelsPrint Begrenzt die Anzeige von Klassenebenen. Der Wert 0 unterdrückt alle Ebenen. Mindestwert: 0.
nominals Gibt nominale Variablen an, die für die Analyse verwendet werden sollen. (Unterparameter: format, formattedLength, label, name, nfd, nfl)
output Erstellt eine Tabelle auf dem Server, die beobachtungsweise Statistiken enthält, die nach dem Anpassen des Modells berechnet werden. (Unterparameter: casOut, cooksD, copyVars, covRatio, dffits, h, lcl, lclm, likeDist, pred, press, resid, role, rStudent, stdi, stdp, stdr, student, ucl, uclm)
outputTables Listet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen. (Unterparameter: groupByVarsRaw, includeAll, names, repeated, replace)
parmEstLevDetails Gibt an, ob Roh- und formatierte Werte von Klassifikationsvariablen in der ParameterEstimates-Tabelle hinzugefügt werden sollen. Standardwert: RAW.
partByFrac Gibt die Anteile der Daten an, die zur Validierung und zum Testen verwendet werden sollen. (Unterparameter: seed, test, validate)
partByVar Benennt die Variable und ihre Werte, die zur Partitionierung der Daten in Trainings-, Validierungs- und Testrollen verwendet werden. (Unterparameter: name, test, train, validate)
polynomial Gibt einen polynomialen Effekt an. Alle angegebenen Variablen müssen numerisch sein. Eine Designmatrixspalte wird für jeden Term des angegebenen Polynoms generiert. Standardmäßig wird jeder dieser Terme für den Zweck der Modellbildung als separater Effekt behandelt. (Unterparameter: degree, details, labelStyle, mDegree, name, noSeparate, standardize, vars)
selection Gibt die Methode und Optionen zur Durchführung der Modellauswahl an. (Unterparameter: adaptive, bestSubsetOptions, candidates, choose, competitive, details, elasticNetOptions, enscale, ensteps, fcpSelectionOptions, gamma, hierarchy, kappa, L2, L2HIGH, L2LOW, lsCoeffs, maxEffects, maxSteps, method, minEffects, orderSelect, plots, relaxed, select, slEntry, slStay, stop, stopHorizon)
spline Erweitert Variablen in Spline-Basen, deren Form von den angegebenen Parametern abhängt. (Unterparameter: basis, dataBoundary, degree, details, knotMax, knotMethod, knotMin, name, naturalCubic, separate, split, vars)
ss3 Führt bei Festlegung auf „True“ eine Modellanalyse der Varianz basierend auf Typ-III-Quadratsummen durch. Standardwert: FALSE.
store Speichert Regressionsmodelle in einem Binary Large Object (BLOB). (Unterparameter: caslib, compress, indexVars, label, lifetime, maxMemSize, memoryFormat, name, promote, replace, replication, tableRedistUpPolicy, threadBlockSize, timeStamp, where)
table Gibt die Eingangsdatentabelle an. (Unterparameter: caslib, computedOnDemand, computedVars, computedVarsProgram, dataSourceOptions, groupBy, groupByMode, importOptions, name, orderBy, singlePass, vars, where, whereTable)
target Gibt die Zielvariable an, die für die Analyse verwendet werden soll.
weight Benennt die numerische Variable, die zur Durchführung einer gewichteten Analyse der Daten verwendet werden soll.
Beispiel für die Datenerstellung

Dies ist ein Platzhalter für die Datenerstellung. Es zeigt, wie eine einfache Tabelle für die Verwendung mit der glm-Aktion erstellt werden könnte.

Kopiert!
1DATA mycas.example_data;
2 INPUT Y X1 X2 $;
3 DATALINES;
4 10 1 A
5 12 2 B
6 15 3 A
7 11 1 B
8 13 2 A
9 ;
10RUN;
11 

Beispiele

Dieses Beispiel zeigt, wie ein einfaches lineares Regressionsmodell mit der glm-Aktion angepasst wird, um die Beziehung zwischen einer numerischen abhängigen Variablen (Y) und einer numerischen unabhängigen Variablen (X1) zu analysieren.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 regression.glm /
3 TABLE='mycas.example_data',
4 model={depVars={{name='Y'}}, effects={{vars={'X1'}}}}
5 ;
6RUN;
7 

Dieses erweiterte Beispiel demonstriert die Verwendung von Klassifikationsvariablen und Interaktionseffekten in einem linearen Regressionsmodell. Die abhängige Variable (Y) wird durch eine numerische Variable (X1) und eine Klassifikationsvariable (X2) sowie deren Interaktionseffekt vorhergesagt. Es zeigt auch, wie die Konfidenzintervalle für die Parameterschätzungen angezeigt werden.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 regression.glm /
3 TABLE='mycas.example_data',
4 class={{vars={'X2'}}},
5 model={depVars={{name='Y'}}, effects={{vars={'X1'}}, {vars={'X2'}}, {vars={'X1', 'X2'}, interaction='CROSS'}}},
6 clb=TRUE
7 ;
8RUN;
9 

FAQ

Was ist die glm Aktion?
Was ist der Zweck des Regressionsaktionssatzes?
Wie wird die Eingabedatentabelle für die glm Aktion angegeben?
Wie können beobachtungsweise Statistiken und Ergebnistabellen aus der glm Aktion erhalten werden?