Como especificar os nós em R
A ns
função gera uma base de spline de regressão natural , dado um vetor de entrada. Os nós podem ser especificados por meio de um argumento de graus de liberdade df
que recebe um número inteiro ou por um argumento de nós knots
que aceita um vetor, fornecendo a colocação desejada dos nós. Observe que no código que você escreveu
library(splines)
lda.pred <- lda(y ~ ns(x, knots=5))
você não solicitou cinco nós, mas solicitou um único nó (interior) no local 5.
Se você usar o df
argumento, os nós internos serão selecionados com base nos quantis do vetor x
. Por exemplo, se você fizer a ligação
ns(x, df=5)
A base incluirá dois nós de limite e quatro nós internos, colocados nos quantis 20, 40, 60 e 80 de x
, respectivamente. Os nós de limite, por padrão, são colocados no mínimo e no máximo de x
.
Aqui está um exemplo para especificar os locais dos nós
x <- 0:100
ns(x, knots=c(20,35,50))
Se você telefonar ns(x, df=4)
, você terá três nós internos nos locais 25, 50 e 75, respectivamente.
Você também pode especificar se deseja um termo de interceptação. Normalmente, isso não é especificado, pois ns
é usado com mais frequência em conjunto com lm
, o que inclui uma interceptação implicitamente (a menos que seja forçado a não fazê-lo). Se você usar intercept=TRUE
sua chamada para ns
, verifique se sabe por que está fazendo isso, pois se você fizer isso e depois ligar de forma lm
ingênua, a matriz de design acabará sendo deficiente em classificação.
Estratégias para dar nós
Os nós geralmente são colocados em quantis, como o comportamento padrão de ns
. A intuição é que, se você tiver muitos dados agrupados juntos, poderá querer mais nós para modelar eventuais não linearidades nessa região. Mas isso não significa que essa seja (a) a única opção ou (b) a melhor escolha.
Obviamente, outras opções podem ser feitas e são específicas do domínio. Analisar histogramas e estimativas de densidade de seus preditores pode fornecer pistas sobre onde os nós são necessários, a menos que exista alguma opção "canônica" para seus dados.
Em termos de interpretação de regressões, eu observaria que, embora você possa "brincar" com a colocação de nós, você deve perceber que incorre em uma penalidade de seleção de modelo por isso, que deve ter o cuidado de avaliar e ajustar quaisquer inferências. resultado.