regression

logistic

Descripción

Ajusta modelos de regresión logística. Esta acción es fundamental para modelar resultados binarios, ordinales o nominales, permitiendo analizar la relación entre una o más variables predictoras (continuas o categóricas) y una variable de respuesta categórica. Es una de las herramientas estadísticas más utilizadas para problemas de clasificación.

regression.logistic <result=results> <status=rc> / alpha=double, applyRowOrder=TRUE | FALSE, association=TRUE | FALSE, attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}, binEps=double, class={{classStatement-1} <, {classStatement-2}, ...>}, classGlobalOpts={classopts}, classLevelsPrint=TRUE | FALSE, clb=TRUE | FALSE | "WALD" | "PL", code={aircodegen}, collection={{collection-1} <, {collection-2}, ...>}, corrB=TRUE | FALSE, covB=TRUE | FALSE, ctable={ctableOptions}, display={displayTables}, fitData=TRUE | FALSE, freq="variable-name", inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}, lackfit={lackfitOptions}, lsmeans={{lsmeansStatement-1} <, {lsmeansStatement-2}, ...>}, maxOptBatch=64-bit-integer | "AUTO", maxResponseLevels=integer, model={logisticModel}, multimember={{multimember-1} <, {multimember-2}, ...>}, multipass=TRUE | FALSE, nClassLevelsPrint=integer, noCheck=TRUE | FALSE, nominals={{casinvardesc-1} <, {casinvardesc-2}, ...>}, normalize=TRUE | FALSE, nostderr=TRUE | FALSE, noxpx=TRUE | FALSE, oddsratio={oddsratioOptions}, optimization={optimizationStatement}, output={logisticOutputStatement}, outputTables={outputTables}, parmEstLevDetails="NONE" | "RAW" | "RAW_AND_FORMATTED", partByFrac={partByFracStatement}, partByVar={partByVarStatement}, partFit=TRUE | FALSE, plConv=double, plMaxIter=integer, plSingular=double, polynomial={{polynomial-1} <, {polynomial-2}, ...>}, repeated={{logisticModelRepeated-1} <, {logisticModelRepeated-2}, ...>}, restore={castable}, seed=64-bit-integer, selection={selectionStatement}, spline={{spline-1} <, {spline-2}, ...>}, ss3=TRUE | FALSE, stb=TRUE | FALSE, store={casouttable}, storetext={"string-1" <, "string-2", ...>}, table={castable}, target="string", useLastIter=TRUE | FALSE, weight="variable-name", weightNorm=TRUE | FALSE ;
Parámetros
ParámetroDescripción
alphaEspecifica el nivel de significancia para la construcción de todos los intervalos de confianza.
classNombra las variables de clasificación para ser usadas como variables explicativas en el análisis.
modelDefine la variable dependiente, los efectos explicativos y las opciones del modelo.
selectionEspecifica el método y las opciones para realizar la selección del modelo (por ejemplo, FORWARD, BACKWARD, STEPWISE).
outputCrea una tabla en el servidor que contiene estadísticas a nivel de observación, calculadas después de ajustar el modelo.
storeGuarda el modelo ajustado en una tabla CAS como un objeto binario (BLOB) para su uso posterior en puntuación (scoring).
tableEspecifica la tabla de datos de entrada para el análisis.
freqNombra la variable numérica que contiene la frecuencia de ocurrencia para cada observación.
weightNombra la variable numérica a utilizar para realizar un análisis ponderado de los datos.
partByFracEspecifica las fracciones de los datos a utilizar para validación y prueba, permitiendo la partición aleatoria de los datos.
partByVarNombra la variable y sus valores utilizados para particionar los datos en roles de entrenamiento, validación y prueba.
ctableCrea la tabla de clasificación para evaluar el rendimiento del modelo.
oddsratioCrea una tabla que compara subpoblaciones utilizando odds ratios.
Creación de Datos de Ejemplo

Carga de la tabla `HMEQ` desde la librería `Sampsio` a una tabla en memoria `hmeq` en la caslib `casuser` para ser utilizada en los ejemplos. Esta tabla contiene datos sobre solicitudes de préstamos hipotecarios.

¡Copiado!
1DATA casuser.hmeq; SET sampsio.hmeq; RUN;

Ejemplos

Este ejemplo ajusta un modelo de regresión logística básico para predecir la variable binaria `BAD` (incumplimiento de pago) utilizando `LOAN` (monto del préstamo) y `REASON` (motivo del préstamo) como variables predictoras. La variable `REASON` se trata como una variable categórica.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2regression.logistic TABLE='hmeq',
3 class={'REASON'},
4 model={depvar='BAD', effects={'REASON', 'LOAN'}}
5;
6RUN;
Resultado :
La salida incluye tablas con información del modelo, resumen de ajuste, convergencia y las estimaciones de los parámetros del modelo, mostrando el efecto de `REASON` y `LOAN` en la probabilidad de incumplimiento.

Este ejemplo realiza una selección de variables por pasos (stepwise) para predecir `BAD`. Incluye múltiples variables categóricas (`JOB`, `REASON`) e interacciones. El modelo final se guarda en una tabla CAS llamada `myModel` para su uso posterior en tareas de puntuación (scoring).

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2regression.logistic TABLE='hmeq',
3 class={'JOB', 'REASON'},
4 model={depvar='BAD', effects={'JOB', 'REASON', 'LOAN', 'VALUE', 'MORTDUE', 'YOJ'}},
5 selection={method='STEPWISE', slentry=0.15, slstay=0.15},
6 store={name='myModel', replace=true}
7;
8RUN;
Resultado :
La salida muestra el proceso de selección de variables paso a paso, incluyendo las estadísticas utilizadas para añadir o eliminar variables. Se genera una tabla `myModel` en la caslib activa que contiene el modelo final seleccionado. Las tablas de resultados incluyen `SelectionSummary` y `ParameterEstimates` para el modelo final.

Este ejemplo ajusta un modelo de regresión logística multinomial (o logística de logits generalizados) para una variable de respuesta categórica `Job`. Se calculan los odds ratios para la variable `CLAGE` para entender cómo un cambio en esta variable afecta las probabilidades relativas de las diferentes categorías de `Job`.

Código SAS® / CAS Código en espera de validación por la comunidad
¡Copiado!
1PROC CAS;
2regression.logistic TABLE='hmeq',
3 class={'REASON'},
4 model={depvar='Job', dist='MULTINOMIAL', link='GLOGIT', effects={'REASON', 'CLAGE', 'NINQ'}},
5 oddsratio={vars={{var='CLAGE'}}}
6;
7RUN;
Resultado :
La salida incluirá las estimaciones de parámetros para cada logit (comparando cada categoría de `Job` con la categoría de referencia). Además, se generará una tabla `OddsRatios` que muestra cómo cambian las probabilidades relativas para cada categoría de `Job` por cada unidad de cambio en `CLAGE`.

FAQ

¿Cuál es el propósito de la acción 'logistic'?
¿Cómo se especifica la variable de respuesta y los efectos del modelo?
¿Qué tipos de distribuciones de respuesta son compatibles?
¿Cómo se puede realizar la selección de modelos?
¿Es posible guardar el modelo ajustado para usarlo más tarde?