Cómo especificar los nudos en R
En ns
genera un spline de regresión natural dado un vector de entrada. Los nudos pueden especificarse mediante un argumento de grados de libertad df
que toma un número entero o mediante un argumento de nudos knots
que toma un vector dando la colocación deseada de los nudos. Tenga en cuenta que en el código que ha escrito
library(splines)
lda.pred <- lda(y ~ ns(x, knots=5))
usted no ha solicitado cinco nudos, sino que ha solicitado un solo (interior) nudo en ubicación 5.
Si utiliza el df
los nudos interiores se seleccionarán en función de los cuantiles del vector x
. Por ejemplo, si realiza la llamada
ns(x, df=5)
Entonces la base incluirá dos nudos límite y 4 nudos internos, situados en los cuantiles 20º, 40º, 60º y 80º de x
respectivamente. Los nudos límite, por defecto, se colocan en los valores mínimo y máximo de x
.
He aquí un ejemplo para especificar la ubicación de los nudos
x <- 0:100
ns(x, knots=c(20,35,50))
Si en su lugar llamara a ns(x, df=4)
se obtendrían 3 nudos internos en las posiciones 25, 50 y 75, respectivamente.
También puede especificar si desea un término de intercepción. Normalmente no es especificado desde ns
se suele utilizar junto con lm
que incluye una intercepción implícitamente (a menos que se fuerce a no hacerlo). Si utiliza intercept=TRUE
en su llamamiento a ns
Asegúrese de saber por qué ya que si haces esto y luego llamas a lm
ingenuamente, la matriz de diseño acabará teniendo un rango deficiente.
Estrategias para colocar los nudos
Los nodos se colocan normalmente en los cuantiles, como el comportamiento por defecto de ns
. La intuición nos dice que si tenemos muchos datos agrupados muy juntos, es posible que queramos más nodos para modelizar las posibles no linealidades de esa región. Pero eso no significa que sea (a) la única opción ni (b) la mejor.
Evidentemente, se pueden hacer otras elecciones, que son específicas de cada ámbito. Observar los histogramas y las estimaciones de densidad de sus predictores puede proporcionar pistas sobre dónde se necesitan los nodos, a menos que haya alguna opción "canónica" dados sus datos.
En cuanto a la interpretación de las regresiones, me gustaría señalar que, si bien es cierto que se puede "jugar" con la colocación de los nodos, hay que tener en cuenta que se incurre en una penalización por selección del modelo que hay que evaluar cuidadosamente y ajustar las inferencias resultantes.
3 votos
¿pregunta sobre cómo especificar los nudos en $R$ (es decir, mediante argumentos a ns ) o ¿preguntas por estrategias para decidir dónde colocar los nudos?
1 votos
Véase Harrell, Regression Strategies 2015, para una buena discusión sobre dónde colocar los nodos (no importa, por lo que los cuantiles son tan buenos como cualquier otra cosa - las excepciones son si tiene razones sólidas para creer que el comportamiento cambia en algún momento) y el número de nodos (3, 4 o 5 dependiendo de N).