Regresión escalonada en R - Valor p crítico

12

¿Cuál es el valor p crítico utilizado por la step()función en R para la regresión por pasos? Supongo que es 0.15, pero ¿es correcta mi suposición? ¿Cómo puedo cambiar el valor p crítico?

Jason Samuels
fuente
77
La función 'paso' de R está basada en AIC.
Michael M
77
Es mejor no utilizar rutinas de selección de modelo por pasos. Para entender por qué, puede ayudarlo leer mi respuesta aquí: Algoritmos para la selección automática de modelos .
gung - Restablece a Monica
3
Además del comentario de @ MichaelMayer: la Descriptionparte de la página de ayuda ?stepdice, en su totalidad: Seleccione un modelo basado en fórmulas de AIC.
Stephan Kolassa

Respuestas:

27

Como expliqué en mi comentario sobre su otra pregunta, stepusa AIC en lugar de valores p.

Sin embargo, para una sola variable a la vez, AIC hace corresponden al uso de un valor de p de 0,15 (o para ser más precisos, 0,1573):

Considere comparar dos modelos, que difieren en una sola variable. Llame a los modelos (modelo más pequeño) y M 1 (modelo más grande), y deje que sus AIC sean AIC 0 y AIC 1 respectivamente.M0M1AIC0AIC1

Usando el criterio AIC, usaría el modelo más grande si . Este será el caso si - 2 log L 0 - ( - 2 log L 1 ) > 2 .AIC1<AIC02logL0(2logL1)>2

Pero esta es simplemente la estadística en una prueba de razón de probabilidad. Del teorema de Wilks, rechazaremos el nulo si el estadístico excede el cuantil superior de a χ 2 1 . Entonces, si usamos una prueba de hipótesis para elegir entre el modelo más pequeño y el más grande, elegimos el modelo más grande cuando - 2 log L 0 - ( - 2 log L 1 ) > C α .αχ122logL0(2logL1)>Cα

Ahora encuentra en el percentil 84.27 de un χ 2 1 . Por lo tanto, si elegimos el modelo más grande cuando tiene un AIC más pequeño, esto corresponde a rechazar la hipótesis nula para una prueba del término adicional con un valor p de 1 - 0.843 = 0.157 , o 15.7 %2χ1210.843=0.15715.7%


Entonces, ¿cómo lo modificas?

Fácil. Cambie el kparámetro stepde 2 a otra cosa. ¿Quieres un 10% en su lugar? Hazlo 2.7:

qchisq(0.10,1,lower.tail=FALSE)
[1] 2.705543

¿Quieres un 2,5%? Conjunto k=5:

qchisq(0.025,1,lower.tail=FALSE)
[1] 5.023886

y así.


Sin embargo, a pesar de que eso resuelve su pregunta, le aconsejo que preste mucha atención a la respuesta de Frank Harrell sobre su otra pregunta, y que busque respuestas de muchos estadísticos sobre otras preguntas relacionadas con la regresión gradual aquí, qué consejo tiende a ser muy consistentemente para evitar procedimientos escalonados en general.

Glen_b -Reinstate a Monica
fuente
Buena explicación ¿Sabe si esto sería aproximadamente cierto para los valores p de las pruebas t de regresión ordinarias?
Ben Ogorek
α=0.05
(ctd) ... una serie de problemas serios con stepwise. Otros incluyen estimaciones sesgadas y errores estándar que son demasiado pequeños.
Glen_b -Reinstate Monica
1
Dejando de lado momentáneamente los problemas con la selección de modelo por pasos, estoy interesado en generalizar la regla de valor p AIC => .1573 más pequeña. El valor p de la razón de probabilidad que describe está bien, pero en rutinas como R's lm, el estimado / std.err se compara con una distribución t. Esta es una prueba diferente, y me preguntaba si su resultado de .1573 podría mantenerse aproximadamente.
Ben Ogorek
2
tk
4

Como se dijo anteriormente, la stepfunción en R se basa en criterios AIC. Pero supongo que por valor p quieres decir alfa para entrar y alfa para salir. Lo que puede hacer es usar la función stepwiseescrita por Paul Rubin y disponible aquí . Como puede ver, tiene los argumentos de alpha.to.enter y alpha.to.leave que puede cambiar. Tenga en cuenta que esta función utiliza la prueba F o una prueba t equivalente para seleccionar los modelos. Además, puede manejar no solo la regresión por pasos, sino también la selección hacia adelante y la eliminación hacia atrás, si define correctamente los argumentos.

Stat
fuente