Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

step

Clase: GeneralizedLinearModel

Mejore el modelo de regresión lineal generalizada agregando o quitando términos

Sintaxis

mdl1 = step(mdl)
mdl1 = step(mdl,Name,Value)

Descripción

mdl1 = step(mdl) Devuelve un modelo lineal generalizado basado en el uso de regresión escalonada para agregar o quitar un predictor.mdl

mdl1 = step(mdl,Name,Value) especifica opciones adicionales mediante uno o varios argumentos de par nombre-valor. Por ejemplo, puede especificar el criterio que se debe usar para agregar o quitar términos y el número máximo de pasos que se debe realizar.

Argumentos de entrada

expandir todo

Modelo lineal generalizado que representa un ajuste de mínimos cuadrados del vínculo de la respuesta a los datos, devuelto como un objeto.GeneralizedLinearModel

Para las propiedades y los métodos del objeto de modelo lineal generalizado, vea la página de clase.mdlGeneralizedLinearModel

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Criterio para agregar o quitar términos, especificados como el par separado por comas que consta de uno de los siguientes:'Criterion'

  • —-valor para o prueba chi-cuadrada del cambio en la desviación añadiendo o quitando el término. -Test es para probar un solo modelo.'Deviance'pFF La prueba de Chi cuadrado es para comparar dos modelos diferentes.

  • —-valor para una prueba del cambio en la suma del error cuadrado añadiendo o quitando el término.'sse'pF

  • — Cambio en el valor del criterio de información de Akaike (AIC).'aic'

  • — Modificación del valor del criterio de información Bayesiano (BIC).'bic'

  • — Aumento del valor de'rsquared'R2.

  • — Aumento del valor del ajuste'adjrsquared'R2.

Ejemplo: 'Criterion','bic'

Especificación de modelo que describe los términos que no se pueden quitar del modelo, especificados como el par separado por comas que consta de y una de las opciones para nombrar el modelo.'Lower'modelspec

Ejemplo: 'Lower','linear'

Número máximo de pasos a tomar, especificados como el par separado por comas que consta de un entero positivo.'NSteps'

Ejemplo: 'NSteps',5

Tipos de datos: single | double

Umbral para el criterio para agregar un término, especificado como el par separado por comas que consta de y un valor escalar, como se describe en esta tabla.'PEnter'

CriterioValor predeterminadoDecisión
'Deviance'0,05Si la estadística-Value de-statistic o Chi-squared es menor que (-valor para Enter), agregue el término al modelo.pFPEnterp
'SSE'0,05Si el SSE del modelo es menor que, agregue el término al modelo.PEnter
'AIC'0Si el cambio en la AIC del modelo es menor que, agregue el término al modelo.PEnter
'BIC'0Si el cambio en el BIC del modelo es menor que, agregue el término al modelo.PEnter
'Rsquared'0,1Si el aumento en el valor R cuadrado del modelo es mayor que, agregue el término al modelo.PEnter
'AdjRsquared'0Si el aumento en el valor R cuadrado ajustado del modelo es mayor que, agregue el término al modelo.PEnter

Para obtener más información, vea el argumento de par nombre-valor.Criterion

Ejemplo: 'PEnter',0.075

Umbral para el criterio para quitar un término, especificado como el par separado por comas que consta de y un valor escalar, como se describe en esta tabla.'PRemove'

CriterioValor predeterminadoDecisión
'Deviance'0,10Si la estadística-Value de-statistic o Chi-squared es mayor que (-valor a eliminar), quite el término del modelo.pFPRemovep
'SSE'0,10Si el valor-Value de la estadística F es mayor que, quite el término del modelo.pPRemove
'AIC'0,01Si el cambio en la AIC del modelo es mayor que, quite el término del modelo.PRemove
'BIC'0,01Si el cambio en el BIC del modelo es mayor que, quite el término del modelo.PRemove
'Rsquared'0,05Si el aumento en el valor R cuadrado del modelo es menor que, quite el término del modelo.PRemove
'AdjRsquared'-0,05Si el aumento en el valor R cuadrado ajustado del modelo es menor que, quite el término del modelo.PRemove

En cada paso, el step función también comprueba si un término es redundante (dependiente linealmente) con otros términos del modelo actual. Cuando cualquier término es linealmente dependiente de otros términos en el modelo actual, el step función quita el término redundante, independientemente del valor del criterio.

Para obtener más información, vea el argumento de par nombre-valor.Criterion

Ejemplo: 'PRemove',0.05

Especificación del modelo que describe el conjunto más grande de términos en el ajuste, especificado como el par separado por comas que consta de y una de las opciones para nombrar el modelo.'Upper'modelspec

Ejemplo: 'Upper','quadratic'

Control para la visualización de la información, especificada como el par separado por comas que consta de uno de estos valores:'Verbose'

  • : Suprime todas las pantallas.0

  • : Muestra la acción tomada en cada paso.1

  • : Muestra el proceso de evaluación y la acción tomada en cada paso.2

Ejemplo: 'Verbose',2

Argumentos de salida

expandir todo

Modelo lineal generalizado, devuelto como un objeto.GeneralizedLinearModel Para sobrescribir, establecer igual a.mdlmdl1mdl

Ejemplos

expandir todo

Ajuste un modelo de regresión de Poisson utilizando datos aleatorios y un solo predictor, luego paso en otros predictores.

Genere datos artificiales con 20 predictores, utilizando tres de los predictores para las respuestas.

rng('default') % for reproducibility X = randn(100,20); mu = exp(X(:,[5 10 15])*[.4;.2;.3] + 1); y = poissrnd(mu);

Construya un modelo lineal generalizado usando como el único predictor.X(:,1)

mdl = fitglm(X,y,...     'y ~ x1','Distribution','poisson')
mdl =  Generalized linear regression model:     log(y) ~ 1 + x1     Distribution = Poisson  Estimated Coefficients:                    Estimate       SE       tStat       pValue                      ________    ________    ______    __________      (Intercept)      1.1278    0.057487    19.618    1.0904e-85     x1             0.061287     0.04848    1.2642       0.20617   100 observations, 98 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 1.59, p-value = 0.208 

Añada una variable al modelo utilizando.step

mdl1 = step(mdl)
1. Adding x5, Deviance = 134.2976, Chi2Stat = 50.80176, PValue = 1.021821e-12 
mdl1 =  Generalized linear regression model:     log(y) ~ 1 + x1 + x5     Distribution = Poisson  Estimated Coefficients:                    Estimate       SE        tStat       pValue                      ________    ________    _______    __________      (Intercept)      1.0418    0.062341     16.712      1.07e-62     x1             0.018803    0.049916    0.37671       0.70639     x5              0.47881    0.067875     7.0542    1.7357e-12   100 observations, 97 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 52.4, p-value = 4.21e-12 

Agregue otra variable al modelo usando.step

mdl1 = step(mdl1)
2. Adding x15, Deviance = 105.9973, Chi2Stat = 28.30027, PValue = 1.038814e-07 
mdl1 =  Generalized linear regression model:     log(y) ~ 1 + x1 + x5 + x15     Distribution = Poisson  Estimated Coefficients:                    Estimate       SE        tStat       pValue                      ________    ________    _______    __________      (Intercept)      1.0459      0.0627     16.681    1.7975e-62     x1             0.026907     0.05003    0.53782        0.5907     x5               0.3983    0.068376     5.8251    5.7073e-09     x15             0.28949    0.053992     5.3618    8.2375e-08   100 observations, 96 error degrees of freedom Dispersion: 1 Chi^2-statistic vs. constant model: 80.7, p-value = 2.18e-17 

Sugerencias

  • Uso addTerms O removeTerms para controlar exactamente qué términos entran o salen del modelo.

Algoritmos

  • es un método sistemático para agregar y eliminar términos de un modelo lineal lineal o generalizado basado en su significancia estadística al explicar la variable de respuesta.Regresión stepwise El método comienza con un modelo inicial, especificado utilizando y, a continuación, compara la potencia explicativa de los modelos incrementalmente más grandes y más pequeños.modelspec

    el step función utiliza la regresión escalonada hacia delante y hacia atrás para determinar un modelo final. En cada paso, la función busca términos para agregar al modelo o quitar del modelo en función del valor del argumento de par nombre-valor.'Criterion'

    El valor predeterminado de un modelo de regresión lineal es.'Criterion''sse' En este caso, y de usar el-valor de una estadística para probar modelos con y sin un término potencial en cada paso.stepwiselmstepLinearModelpF Si un término no está actualmente en el modelo, la hipótesis nula es que el término tendría un coeficiente cero si se agrega al modelo. Si hay pruebas suficientes para rechazar la hipótesis nula, la función agrega el término al modelo. Por el contrario, si un término está actualmente en el modelo, la hipótesis nula es que el término tiene un coeficiente cero. Si no hay pruebas suficientes para rechazar la hipótesis nula, la función elimina el término del modelo.

    La regresión stepwise toma estos pasos cuando es:'Criterion''sse'

    1. Ajuste el modelo inicial.

    2. Examine un conjunto de términos disponibles que no estén en el modelo. Si alguno de los términos tiene-valores menores que una tolerancia de entrada (es decir, si es improbable que un término tenga un coeficiente cero si se agrega al modelo), agregue el término con el valor más pequeño y repita este paso; de lo contrario, vaya al paso 3.pp

    3. Si cualquiera de los términos disponibles en el modelo tiene valores mayores que una tolerancia de salida (es decir, la hipótesis de un coeficiente cero no puede rechazarse), quite el término con el valor más grande y regrese al paso 2; de lo contrario, finalice el proceso.pp

    En cualquier momento, la función no agregará un término de orden superior si el modelo no incluye también todos los términos de orden inferior que son subconjuntos del término de orden superior. Por ejemplo, la función no intentará agregar el término a menos que ambos y ya estén en el modelo.X1:X2^2X1X2^2 De forma similar, la función no eliminará los términos de orden inferior que son subconjuntos de términos de orden superior que permanecen en el modelo. Por ejemplo, la función no intentará quitar o si permanece en el modelo.X1X2^2X1:X2^2

    El valor predeterminado de para un modelo lineal generalizado es. y de seguir un procedimiento similar para añadir o eliminar términos.'Criterion''Deviance'stepwiseglmstepGeneralizedLinearModel

    Puede especificar otros criterios mediante el argumento de par nombre-valor.'Criterion' Por ejemplo, puede especificar el cambio en el valor del criterio de información de Akaike, el criterio de información Bayesiana, el R cuadrado o el R cuadrado ajustado como criterio para añadir o eliminar términos.

    Según los términos incluidos en el modelo inicial y el orden en que la función agrega y quita términos, la función podría crear diferentes modelos del mismo conjunto de términos potenciales. La función finaliza cuando ningún único paso mejora el modelo. Sin embargo, un modelo inicial diferente o una secuencia diferente de pasos no garantiza un mejor ajuste. En este sentido, los modelos escalonado son localmente óptimos, pero podrían no ser globalmente óptimos.

  • step trata un predictor categórico de la siguiente manera:

    • Un modelo con un predictor categórico que tiene niveles (categorías) incluyeL L – 1 variables indicadoras. El modelo utiliza la primera categoría como nivel de referencia, por lo que no incluye la variable indicadora para el nivel de referencia. Si el tipo de datos del predictor categórico es, a continuación, puede comprobar el orden de las categorías mediante el uso y reordenar las categorías mediante el uso para personalizar el nivel de referencia.Categóricocategoriesreordercats

    • step trata al grupo de L – 1 variables indicadoras como una sola variable. Si desea tratar las variables indicadoras como variables predictoras distintas, cree las variables indicadoras manualmente utilizando.dummyvar A continuación, utilice las variables indicadoras, excepto la correspondiente al nivel de referencia de la variable categórica, al ajustar un modelo. Para el predictor categórico, si especifica todas las columnas y un término de intercepción como predictores, la matriz de diseño se convierte en deficiente de rango.Xdummyvar(X)

    • Los términos de interacción entre un predictor continuo y un predictor categórico con niveles consisten en el producto elemento-sabio delL L – 1 variables indicadoras con el predictor continuo.

    • Los términos de interacción entre dos predictores categóricos y los niveles consisten en laLM (L – 1)*(M – 1) variables indicadoras para incluir todas las combinaciones posibles de los dos niveles predictores categóricos.

    • No puede especificar términos de orden superior para un predictor categórico porque el cuadrado de un indicador es igual a sí mismo.

    Por lo tanto, si step agrega o elimina un predictor categórico, la función realmente agrega o elimina el grupo de variables indicadoras en un paso. Del mismo modo, si step agrega o quita un término de interacción con un predictor categórico, la función realmente agrega o quita el grupo de términos de interacción, incluido el predictor categórico.

  • step considera, (vector de carácter vacío), (cadena vacía), y valores en,, y que faltan valores.NaN''""<missing><undefined>tblXY step no utiliza observaciones con valores faltantes en el ajuste. La propiedad de un modelo ajustado indica siObservationInfo step utiliza cada observación en el ajuste.

Alternativas

Se utiliza para seleccionar un modelo de un modelo inicial, continuando hasta que ningún paso único sea beneficioso.stepwiseglm

Uso addTerms O removeTerms para añadir o eliminar términos particulares.