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
alphaGibt 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)
byLimitGibt an, dass die Analyse nicht durchgeführt wird, wenn die Anzahl der BY-Gruppen den angegebenen Wert überschreitet. Mindestwert: 1.
classBenennt die Klassifikationsvariablen, die als erklärende Variablen in der Analyse verwendet werden sollen. (Unterparameter: countMissing, descending, ignoreMissing, levelizeRaw, maxLev, order, param, ref, split, vars)
classGlobalOptsListet Optionen auf, die für alle Klassifikationsvariablen gelten. (Unterparameter: countMissing, descending, ignoreMissing, levelizeRaw, maxLev, order, param, ref, split)
classLevelsPrintUnterdrückt bei Festlegung auf „False“ die Anzeige der Klassenebenen. Standardwert: TRUE.
clbZeigt bei Festlegung auf „True“ die oberen und unteren Konfidenzgrenzen für die Parameterschätzungen an. Standardwert: FALSE.
codeSchreibt SAS DATA-Step-Code zur Berechnung vorhergesagter Werte des angepassten Modells. (Unterparameter: casOut, comment, fmtWdth, indentSize, intoCutPt, iProb, labelId, lineSize, noTrim, pCatAll, tabForm)
collectionDefiniert einen Satz von Variablen, die als einzelner Effekt mit mehreren Freiheitsgraden behandelt werden. (Unterparameter: details, name, vars)
displayGibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen. (Unterparameter: caseSensitive, exclude, excludeAll, keyIsPath, names, pathType, traceNames)
freqBenennt die numerische Variable, die die Häufigkeit des Auftretens jeder Beobachtung enthält.
inputsGibt Variablen an, die für die Analyse verwendet werden sollen. (Unterparameter: format, formattedLength, label, name, nfd, nfl)
maxParametersGibt an, dass Modelle nicht angepasst werden, wenn die Anzahl der Parameter den angegebenen Wert überschreitet. Mindestwert: 0.
modelBenennt 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)
multimemberVerwendet 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)
nClassLevelsPrintBegrenzt die Anzeige von Klassenebenen. Der Wert 0 unterdrückt alle Ebenen. Mindestwert: 0.
nominalsGibt nominale Variablen an, die für die Analyse verwendet werden sollen. (Unterparameter: format, formattedLength, label, name, nfd, nfl)
outputErstellt 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)
outputTablesListet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen. (Unterparameter: groupByVarsRaw, includeAll, names, repeated, replace)
parmEstLevDetailsGibt an, ob Roh- und formatierte Werte von Klassifikationsvariablen in der ParameterEstimates-Tabelle hinzugefügt werden sollen. Standardwert: RAW.
partByFracGibt die Anteile der Daten an, die zur Validierung und zum Testen verwendet werden sollen. (Unterparameter: seed, test, validate)
partByVarBenennt die Variable und ihre Werte, die zur Partitionierung der Daten in Trainings-, Validierungs- und Testrollen verwendet werden. (Unterparameter: name, test, train, validate)
polynomialGibt 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)
selectionGibt 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)
splineErweitert 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)
ss3Führt bei Festlegung auf „True“ eine Modellanalyse der Varianz basierend auf Typ-III-Quadratsummen durch. Standardwert: FALSE.
storeSpeichert Regressionsmodelle in einem Binary Large Object (BLOB). (Unterparameter: caslib, compress, indexVars, label, lifetime, maxMemSize, memoryFormat, name, promote, replace, replication, tableRedistUpPolicy, threadBlockSize, timeStamp, where)
tableGibt die Eingangsdatentabelle an. (Unterparameter: caslib, computedOnDemand, computedVars, computedVarsProgram, dataSourceOptions, groupBy, groupByMode, importOptions, name, orderBy, singlePass, vars, where, whereTable)
targetGibt die Zielvariable an, die für die Analyse verwendet werden soll.
weightBenennt 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?