La situación
Tengo un conjunto de datos con un dependiente, yy y una de las variables independientes xx. Quiero para adaptarse a una continua por tramos de regresión lineal con kk conocido/fija los breakpoints que ocurren en (a1,a2,…,ak)(a1,a2,…,ak). El breakpoins son conocidos, sin incertidumbre, por lo que no quiero para la estimación de ellos. Entonces me ajuste de una regresión (OLS) de la forma
yi=β0+β1xi+β2max(xi−a1,0)+β3max(xi−a2,0)+…+βk+1max(xi−ak,0)+ϵiyi=β0+β1xi+β2max(xi−a1,0)+β3max(xi−a2,0)+…+βk+1max(xi−ak,0)+ϵi
Aquí hay un ejemplo R
set.seed(123)
x <- c(1:10, 13:22)
y <- numeric(20)
y[1:10] <- 20:11 + rnorm(10, 0, 1.5)
y[11:20] <- seq(11, 15, len=10) + rnorm(10, 0, 2)
Vamos a suponer que el breakpoint k1k1 se produce en 9.69.6:
mod <- lm(y~x+I(pmax(x-9.6, 0)))
summary(mod)
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 21.7057 1.1726 18.511 1.06e-12 ***
x -1.1003 0.1788 -6.155 1.06e-05 ***
I(pmax(x - 9.6, 0)) 1.3760 0.2688 5.120 8.54e-05 ***
---
Signif. codes: 0 ‘***' 0.001 ‘**' 0.01 ‘*' 0.05 ‘.' 0.1 ‘ ' 1
El intercepto y la pendiente de los dos segmentos son: 21.721.7 −1.1−1.1 para el primero y 8.58.5 0.270.27 para el segundo, respectivamente.
Preguntas
- Cómo calcular fácilmente el intercepto y la pendiente de cada segmento? Puede el modelo reparemetrized hacer esto en este cálculo?
- Cómo calcular el error estándar de cada una pendiente de cada segmento?
- Cómo probar si dos laderas adyacentes tienen las mismas pendientes (es decir, si el breakpoint puede ser omitido)?