mar a durb an universidad carlos iii de madrid

92
etodos de suavizado eficientes con P-splines Mar´ ıa Durb´ an Universidad Carlos III de Madrid

Upload: others

Post on 08-Jul-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Mar a Durb an Universidad Carlos III de Madrid

Metodos de suavizado eficientes con P-splines

Marıa Durban

Universidad Carlos III de Madrid

Page 2: Mar a Durb an Universidad Carlos III de Madrid

Indice general

1. Introduccion 31. Modelos lineales generalizados . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.1. La familia exponencial . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2. Estimacion de Modelos Lineales Generalizados . . . . . . . . . . . . 10

2. Metodos de suavizado 131. Regresion polinomial local: Lowess/Loess . . . . . . . . . . . . . . . . . . . 152. Suavizado con kernels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173. Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.1. Numero y posicion de los nodos . . . . . . . . . . . . . . . . . . . . . 183.2. Splines de suavizado (smoothing splines) . . . . . . . . . . . . . . . . 19

3. Splines con penalizaciones (P-splines) 231. Bases y Penalizaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.1. Bases y nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251.2. Penalizaciones y coeficientes . . . . . . . . . . . . . . . . . . . . . . . 281.3. Estimacion de parametros y grados de libertad . . . . . . . . . . . . . 311.4. Seleccion del parametro de suavizado . . . . . . . . . . . . . . . . . . 32

2. P-splines como modelos mixtos . . . . . . . . . . . . . . . . . . . . . . . . . 333. P-splines para datos multidimensionales . . . . . . . . . . . . . . . . . . . . 35

3.1. P-splines multidimensionales como modelos mixtos . . . . . . . . . . 374. Modelos additivos generalizados . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1. Modelos aditivos generalizados con P-splines . . . . . . . . . . . . . . 404.2. Inferencia sobre las funciones suaves . . . . . . . . . . . . . . . . . . . 40

4. Software 42

5. Aplicaciones 491. Modelos Aditivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

1.1. Ejemplo: Calidad del aire . . . . . . . . . . . . . . . . . . . . . . . . 492. Modelos Semiparametricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603. P-splines para datos longitudinales . . . . . . . . . . . . . . . . . . . . . . . 64

3.1. Modelo con ordenada en el origen aleatoria . . . . . . . . . . . . . . . 643.2. Modelo aditivo mixto . . . . . . . . . . . . . . . . . . . . . . . . . . . 663.3. Modelo con diferencias individuales lineales . . . . . . . . . . . . . . . 67

1

Page 3: Mar a Durb an Universidad Carlos III de Madrid

3.4. Interaccion de curva por factor . . . . . . . . . . . . . . . . . . . . . 693.5. Curvas especıficas para cada individuo . . . . . . . . . . . . . . . . . 71

4. Datos correlados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755. Datos multidimensionales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

5.1. Ejemplo 1: Tendencias espaciales en experimentos de campo . . . . . 775.2. Ejemplo 2: Analisis de datos de mortalidad . . . . . . . . . . . . . . . 795.3. Ejercicio: Infeccion post-operatoria . . . . . . . . . . . . . . . . . . . 825.4. Ejercicio: Kiphosis data . . . . . . . . . . . . . . . . . . . . . . . . . 845.5. Ejemplo 3: Aplicaciones en disease mapping . . . . . . . . . . . . . . 85

2

Page 4: Mar a Durb an Universidad Carlos III de Madrid

Capıtulo 1

Introduccion

Un modelo lineal es deseable porque es simple de ajustar, se entiende facilmente, y exis-ten muchas tecnicas disponibles para contrastar las hipotesis del modelo. Sin embargo, enmuchos casos, los datos no estan relacionados de forma lineal, por lo que no tiene sentidoutilizar los modelos de regresion lineal.

Un modelo de regresion no-lineal clasico tendrıa la siguiente forma:

y = f(Xβ) + ε

donde β = (β1, . . . βp)′ es un vector de parametros, que han de ser estimados, y X es la

matriz que contiene las variables predictoras. La funcion f(.), relaciona el valor medio de lavariable respuesta y con las variables predictoras, y su forma esta especificada a priori . Porejemplo, en muchos modelos biologicos, existe una dependencia de tipo exponencial:

f(Xβ) = eβ0+β1x.

Pero en algunas situaciones, la estructura de los datos es tan complicada que es muy difıcilencontrar una funcion que estime la relacion existente de forma correcta (ver por ejemplo lasiguiente figura):

Una posible solucion es: regression no-parametrica. El modelo general de regresionno-parametrica ise escribe de forma similar al anterior, pero f no tiene una forma explıcita:

y = f(X) + ε = f(x1, . . .xp) + ε

La mayorıa de los metodos de regresion no-parametrica asumen que f(.) es una funcioncontinua y suave, y que εi ∼ NID(0, σ2) (aunque esto ultimo puede relajarse de formasencilla).Un caso importante de el modelo general, es la regresion no-parametrica simple, donde solohay una variable predictora

y = f(x) + ε

A la regresion no-parametrica simple tambien se le llama Nonparametric simple regressionis often called scatterplot smoothing, porque una aplicacion importante es dibujar una curvaan un diagrama de y sobre x.

3

Page 5: Mar a Durb an Universidad Carlos III de Madrid

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1

−0.5

0

0.5

1Fixed weights of differences

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−1

−0.5

0

0.5

1Exponentially varying weights of differences

Figure 13: Smoothing of simulated data (dots) with and without exponentiallyvarying weights on the differences in the penalty. Upper: uniform weights; lower:varying weights. Parameters optimized with grid search and leave-one-out cross-validation. Full line: fitted curve (100 cubic B-splines, second order penalty); brokenline: true curve.

position k. It follows, for large λ, α will be a smooth series, except for a kink atposition k. If both vk and vk−1 are zero, α will be smooth, except for a jump atαk. Depending on the number of knots, the kink or jump will show up in a moreor less smoothed way in the fitted curve. Of course, combinations of multiple kinksand jumps can be introduced this way.

In some application a gradually changing smoothness may be sufficient. This canbe accomplished by taking vk = eγk. Both λ and γ are optimized by cross-validationor AIC. Of course, this applies equally well to TPF. An example of smoothing withan exponential change of the weights in the penalty is shown in Figure 13, usingsimulated data: a sine function with changing frequency and amplitude. If we useuniform weights and optimize λ with leave-one-out cross-validation (which givesoptimal λ? = 0.1), we get a result that gives rather strong fluctuations of the fittedcurve in the low-frequency part and misses the data in the high-frequency part. If weintroduce weights eγk and optimize both γ and λ, we get a more reasonable result.A grid search gave (approximate) optimal values γ? = 0.2 and λ? = 3× 10−4. Thismeans that, with the 100 knots used here, the largest weight is about 5× 108 timeslarger than the smallest.

Sometimes it is fruitful to have multiple difference penalties, of different orders,or to add an extra ridge penalty. Marx and Eilers (2002) found, in the contextof multivariate calibration by penalized signal regression, markedly improved cross-validation behavior. Aldrin (2006) investigated the use of both first and second orderpenalties in additive models based on P-splines, and found improved prediction.

21

Figura 1: Figura cortesıa de Paul Eilers (Splines, knots and penalties, 2011)

Ejemplo: Calidad del aire

Los datos curresponden a medias de la calidad del aire en Nueva York de Mayo a Sep-tiembre de 1979, Las variables son:

Ozone: Cantidad de ozono media en partes por billon entre las 13:00 y las 15:00 horasen la Isla de Roosvelt

Solar.R: Radiacion solar (en Langleys) entre las 08:00 y las 12:00 en Central Park

wind: Velocidad media del viento (en millas por hora) entre las 07:00 y las 10:00 en elaeropuerto de la Guardia

Temp: Temperatura maxima (en grados Fahrenheit) en el aeropuerto de la Guardia

Empezamos por ajustar el siguiente modelo:

Ozone = β0 + β1 × Temp+ β2 ×Wind+ β3 × Solar.R + ε

aire.lm=lm(Ozone~Temp+Wind+Solar.R,data=airquality)

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) -64.34208 23.05472 -2.791 0.00623

Temp 1.65209 0.25353 6.516 2.42e-09

Wind -3.33359 0.65441 -5.094 1.52e-06

Solar.R 0.05982 0.02319 2.580 0.01124

---

Residual standard error: 21.18 on 107 degrees of freedom

(42 observations deleted due to missingness)

Multiple R-squared: 0.6059, Adjusted R-squared: 0.5948

F-statistic: 54.83 on 3 and 107 DF, p-value: < 2.2e-16

4

Page 6: Mar a Durb an Universidad Carlos III de Madrid

En principio todas las variables son significativas, aunque el R2 es bajo. Hacemos un graficode los efectos lineales parciales: Los resultados sin, aparentemente coherentes: a mas tem-

60 70 80 90

−40

−20

020

40

Temp

Partia

l for T

emp

5 10 15 20

−40

−20

020

40

Wind

Partia

l for W

ind

0 100 250

−40

−20

020

40

Solar.R

Partia

l for S

olar.R

Figura 2: Grafico de efectos lineales parciales

peratura y mas radiacion solar mas ozono, y al contrario cuando aumenta la velocidad delviento. Pero algo no funciona ya que el R2 = 0,59. Si hacemos graficos de residuos:

par(mfrow=c(1,2))

plot(aire.lm,which=1:2)

−20 0 20 40 60 80 100

−50

050

100

Fitted values

Res

idua

ls

Residuals vs Fitted

117

6230

−2 −1 0 1 2

−2−1

01

23

45

Theoretical Quantiles

Sta

ndar

dize

d re

sidu

als

Normal Q−Q

117

6230

Figura 3: Graficos de residuos

¿Que nos dicen estos graficos?.

Podemos ver de otra forma si los datos siguen una distribucion Normal:

5

Page 7: Mar a Durb an Universidad Carlos III de Madrid

hist(airquality$Ozone)

hist(log(airquality$Ozone))

Histogram of airquality$Ozone

airquality$Ozone

Freq

uenc

y

0 50 100 150

010

2030

Histogram of log(airquality$Ozone)

log(airquality$Ozone)

Freq

uenc

y

0 1 2 3 4 5

05

1015

20Figura 4: Histograma de datos originales y transformados

Podemos repetir el modelo con la variable transformada y analizar de nuevo los residuos:

aire2.lm=lm(log(Ozone)~Temp+Wind+Solar.R,data=airquality)

summary(aire2.lm)

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) -0.2621323 0.5535669 -0.474 0.636798

Temp 0.0491711 0.0060875 8.077 1.07e-12

Wind -0.0615625 0.0157130 -3.918 0.000158

Solar.R 0.0025152 0.0005567 4.518 1.62e-05

---

Residual standard error: 0.5086 on 107 degrees of freedom

Multiple R-squared: 0.6644, Adjusted R-squared: 0.655

F-statistic: 70.62 on 3 and 107 DF, p-value: < 2.2e-16

plot(aire2.lm,which=1:2)

Aun hay algo que no funciona.... ¿Que pasa si hacemos un grafico entre el Ozono y el viento?.

1. Modelos lineales generalizados

Los modelos lineales generalizados (GLMs) extienden el modelo lineal para acomodar lasvariables respuestas que no siguen una distribucion Normal, bajo un enfoque unificado. Es

6

Page 8: Mar a Durb an Universidad Carlos III de Madrid

1.5 2.0 2.5 3.0 3.5 4.0 4.5

−2−1

01

Fitted values

Res

idua

ls

Residuals vs Fitted

21

24

117

−2 −1 0 1 2

−4−3

−2−1

01

23

Theoretical Quantiles

Sta

ndar

dize

d re

sidu

als

Normal Q−Q

21

24

117

Figura 5: Grafico de residuos con los valores transformados

bastante comun encontrarse en siatuaciones en las que la variable resuesta no cumple lashipotesis estandar del modelo lineal (datos Normales, varianza constante, etc.), por ejemplo:datos de conteo, datos dicotomicos, datos truncados, etc. Los GLMs se basan en la teorıade Nelder and Wedderburn (1972) y McCullagh and Nelder (1989), desde entonces, con losavances del software estadıstico, estos modelos se han convertido en una herramienta basicapara muchos investigadores.Hay dos temas fundamentales en la nocion de los modelos lineales generalizados: la distri-bucion de la variable respuesta, y como el modelo establece la relacion entre la media de lavariable respuesta y las variables explicativas. variables.

Ejemplo de motivacion: Experimento de toxicidad

El experimento intenta establecer la relacion entre la concentracion de un agente toxico(nicotina) y el numero de insectos (mosca de la fruta) que mueren: Los datos siguen una

xConcentracion n y

(g/100cc) Numero de insectos Numero de muertos Porcentaje de muertos0.1 47 8 17.00.15 53 14 26.40.20 55 24 43.60.30 52 32 61.50.50 46 38 82.60.70 54 50 92.60.95 52 50 96.2

Cuadro 1: Datos del experimento de toxicidad

7

Page 9: Mar a Durb an Universidad Carlos III de Madrid

distribucion Binomial

yi ∼ B(ni, pi) E[yi] = nipi(xi) V ar[yi] = nipi(1− pi)

Claramente, la varianza y la media estan relacionadas entre sı, y tambien con las variablespredictoras. Usando regresion lineal ordinaria para predecir el procentaje de moscas quemueren, estarıamos asumiendo que los datos vienen de una distribucion Normal, lo que esfalso, y ademas, con este tipo de datos tenemos la siguiente restriccion: 0 ≤ pi ≤ 1, la cualno es tenida en cuenta en el modelo de regresion. Ajustando el modelo pi = β0 + β1xi + εiobtenemos

(lm(perc~Concentration))$fitted

1 2 3 4 5 6

0.3066231 0.3532890 0.3999550 0.4932869 0.6799507 0.8666145

7

1.0999442

El valor ajustado del ultimo punto es mayor que 1!!!. Ademas, como se ve en la Figura 6, elmodelo es claramente no-lineal

0.2 0.4 0.6 0.8

0.20.4

0.60.8

x

perc

Figura 6: Grafico de la concentracion de nicotina frente al procentaje de animales muertosy la recta ajustada.

Aquı hemos usado un modelo de regresion ordinario:

y(= π) = Xβ + ε E[y|x] = Xβ

8

Page 10: Mar a Durb an Universidad Carlos III de Madrid

Dado que la probabilidad solo toma valores en el intervalo (0, 1). Podemos buscar una nuevaforma de representar E[y—x], de modo que la probabilidad este en (0, 1). Una forma deconseguirlo es utilizar la funcion logıstica:

π =eXβ

1 + eXβ=

1

1 + e−Xβ

y

Xβ = log

1− π

)Es decir, Xβ = g(E[y|x]) 6= E[y|x]. La idea es relacionar una transformacion de la media delos datos, µ = E[y|x] con las variables explicatibas X.

1.1. La familia exponencial

Un concepto importante que unifica todos los GLms es la familia exponencial dedistribuciones . Todas las distribuciones pertenecientes a la familia exponencial tiene unafuncion de densidad (o de probabilidad) que se puede expresar de la siguiente forma:

f(y;θ, φ) = exp

yθ − b(θ)

a(φ)+ c(y, φ)

(1.1)

donde, en cada caso, a(.), b(.) y c(.) seran funciones especıficas. El parametro θ es lo que sellama parametro canonico de localizacion y φ es un parametro de dispersion. La distribucionBinomial, Poisson y Normal (entre otras) son miembros de la familia exponencial.

Componentes de un modelo lineal generalizado

En un modelo de regresion estandar:

y = Xβ + ε ε ∼ N(0, σ2I) E(y) = µ = Xβ

donde Xβ es una combinacion lineal de las variables predictoras llamada predictor lineal(el cual se representa como η), en este caso la media µ esta directamente relacionada con elpredictor lineal, ya que en este caso µ = η. Usando este modelo sencillo, podemos ver quehay dos componentes en el modelo: la funcion de probabilidad de la variable respuesta y laestructura lineal del modelo. En general, un modelo lineal generalizado tendra los siguientescomponentes:

1. Componente aleatorio: y es un vector aleatorio procedente de una distribucion quepertenece a la familia exponencial y cuya media es µ.

2. Componente sistematico: es el predictor lineal η = Xβ.

3. La funcion link : es una funcion monotona, derivable que establece la relacion entrela media y el predictor lineal

η = g(µ) E(y) = µ = g−1(η) (1.2)

9

Page 11: Mar a Durb an Universidad Carlos III de Madrid

En el caso del modelo de regresion ordinaria, µ = η, por lo tanto la funcion link es laidentidad. Hay muchas opciones par la funcion link. La funcion link canonica es unafuncion que transforma la media en el parametro canonico θ

η = g(µ) = θ ⇒ g es una funcion link canonica

Hay muchas opciones par la funcion link.

Distribucion LinkNormal η = µ (identidad)Binomial η = ln

(P

1−P)

(logistıstica)

Poisson η = ln(µ) (logarıtmica)Exponential η = 1

µ (recıproca)

Gamma η = 1µ (recıproca)

Cuadro 2: Funciones link mas usadas en los GLMs

DISTRIBUCIÓN RESPUESTA EJEMPLOS

• La respuesta es continua• Longitudes y pesos ( de peces, crustáceos,

moluscos )Gaussiana • La distribución de los datos es

simétrica

moluscos...)• Diámetros (árboles, erizo de mar)• Temperatura, salinidad, altura de las olas,…

• La respuesta es continua (no negativa)

• Abundancias expresadas como porcentaje.Gamma

negativa)• la distribución de los datos es

asimétrica

• Porcentaje de percebe por unidad de muestreo, cobertura algal,…

• La respuesta es categórica (binaria)• Presencia de una especie

Binomial• La respuesta es categórica (binaria) • Presenta 2 niveles de respuesta

(0/1)

(0=ausencia,1=presencia)• Sexo (0=macho, 1=hembra),…

• La respuesta es discreta (0,1,2,…)• Recuento de un suceso en el tiempo

• Nº de capturas por mes.Poisson

• Recuento de un suceso en el tiempo, espacio, volumen.

• Varianza=Media.

• Nº de individuos por unidad de muestreo.• Nº de individuos por hectárea,..

• La respuesta es discreta (0 1 2 )Binomial Negativa

• La respuesta es discreta (0,1,2,…)• Presencia de sobredispersión:

Varianza>Media

• Similares a Poisson, presentado sobredispersión.

ZIP • La respuesta es discreta (0 1 2 )• Frecuencia de especies escasas, raras o difíciles

de muestrearZIP(Zero‐Inflated Poisson)

• La respuesta es discreta (0,1,2,…)• Exceso de ceros.

de muestrear• Abundancia de especies en estudios

multiespecíficos• La respuesta es categórica

(multinomial) • índices de abundancia “cualitativos”Multinomial

(multinomial)• Presenta K≥2 niveles de respuesta

(0,..,K)

• índices de abundancia cualitativos0=bajo, 1=medio, 2=alto, 3=muy alto.

Figura 7: Distribuciones mas comunes

10

Page 12: Mar a Durb an Universidad Carlos III de Madrid

1.2. Estimacion de Modelos Lineales Generalizados

En el caso de la familia exponencial, dado un vector de observaciones y = (yi, y2, . . . , yn)′.El logaritmo de la verosimilitud es

l(θ|y) =n∑i=1

((yiθi − b(θi)/a(φ) + c(yi, φ)) (1.3)

Cuando usamos el link canonico: θ = η = Xβ, de modo que podemos estimar losparametros de interes β: Por lo tanto, la funcion score:

∂l

∂β=

∂l

∂θi

∂θi∂β

Es posible probar que:∂l

∂β=

n∑i=1

(yi − µi)g′(µi)Vi

xi

donde Vi = V ar(yi) = a(φ)b′′(θi).

Necesitamos igualar esa ecuacion a cero, pero no existe una solucion exacta, y utlizamosuna version de algoritmo de Newton-Rapson, llamado Fisher Scoring Algorithm. Es un al-goritmo iterativo cuya solucion es:

βnew = (X ′WX)−1X ′Wz

donde z = Xβold+(y−µold)g′(µold) (llamado working vector), y W es una matriz diagonalcuyos elementos wii = 1/g′(µi).

En la pagina web: http://halweb.uc3m.es/esp/Personal/personas/durban/esp/web/

GLM/GLM.html se encuentra el material de mi curso sobre GLM.

Ejemplo : Riesgo de infeccion post-quirurgica

Utlizamos los datos del archivo POI.txt que contiene informacion de un estudio de sobreel riesgo de infeccion postquirurgica en pacientes con diabletes. Las variables son:

poi, presencia de infeccion

age, edad en anos

gender, sexo

gluc, nivel de glucosa

Para este ejemplo vamos a utilizar solo el nivel de glucosa como variable predictora

log

(p

1− p

)= β0 + β1gluc

11

Page 13: Mar a Durb an Universidad Carlos III de Madrid

POI=read.table("POI.txt", header=TRUE)

poi.glm=glm(poi~gluc, family=binomial,data=POI)

summary(poi.glm)

Coefficients:

Estimate Std. Error z value Pr(>|z|)

(Intercept) -2.514401 0.171859 -14.631 < 2e-16 ***

gluc 0.009592 0.001380 6.952 3.6e-12 ***

---

Null deviance: 2335.6 on 2350 degrees of freedom

Residual deviance: 2289.5 on 2349 degrees of freedom

AIC: 2293.5

50 100 150 200 250 300

−0.5

0.0

0.5

1.0

1.5

2.0

gluc

Parti

al for

gluc

Para comprobar si el nivel de glucosa es significativo:

anova(poi.glm,test="Chi")

Df Deviance Resid. Df Resid. Dev Pr(>Chi)

NULL 2350 2335.6

gluc 1 46.13 2349 2289.5 1.107e-11 ***

El modelo nos dice:p

1− p = e−2,5 + e0,009

¿Cuanto aumenta la posibilidad de tener una infeccion al aumentar en 5 unidades la cantidadde glucosa?

12

Page 14: Mar a Durb an Universidad Carlos III de Madrid

Capıtulo 2

Metodos de suavizado

Aunque los modelos GLM son bastante flexibles ya que pueden ajustarse para granvariedad de distribuciones, estos modelos asumen que la influencia de las variables continuasen la variable respuesta es lineal, es decir:

η = β0 + β1x

pero en muchas ocasiones el efecto de x puede tener una forma desconocida:

η = β0 + f(x)

Una primera aproximacion serıa utilizar regresion polinomica:

= β0 + β1x+ β2x2 + . . .+ βpx

p

Ejemplo: datos de pretigio

El siguiente conjunto de datos contiene datos sobre el nivel de prestigio que tienen 102profesiones en Canada en los anos 70. Las variables son:

prestige: prestigio medio, con rango de 0 a 100

income: salario medio de cada profesion, en dolares.

education: Numero medio de anos de educacion.

type: Una variable categorica con tres niveles:

• bc (directivos)

• wc (obreros)

• prof (profesionales liberales)

13

Page 15: Mar a Durb an Universidad Carlos III de Madrid

Ejemplo : Prestigio

Podemos estar interesados en ajustar un polinomio a la relacion el salario medio y elpretigio, en el archivo poli.R

library(car)

plot(Prestige$income, Prestige$prestige,xlab="sueldo",ylab="Prestigio")

prestigio1.fit<-lm(prestige~income,data=Prestige)

Prestige2 <- data.frame(income =seq(min(Prestige$income),max(Prestige$income),1))

lines(Prestige2$income,predict(prestigio1.fit,Prestige2),lty=1,col="black",lwd=2)

prestigio2.fit<-lm(prestige~poly(income,2),data=Prestige)

lines(Prestige2$income,predict(prestigio2.fit,Prestige2),lty=2,col="blue",lwd=2)

prestigio6.fit<-lm(prestige~poly(income,3),data=Prestige)

lines(Prestige2$income,predict(prestigio3.fit,Prestige2),lty=3, col="red",lwd=2)

legend(17500,40,c("p=1", "p=2","p=3"),col=c("black","blue","red"), lty=c(1,2,3),

lwd=2)

0 5000 10000 15000 20000 25000

2040

6080

sueldo

Pres

tigio

p=1p=2p=3

Una opcion mas flexible es el uso de un suavizador o smoother es una herramienta querepresenta la tendencia de la variable respuesta y como funcion de uno o mas predictoreslineales x. Ya que es una estimacion de la tendencia, tendra menos variabilidad que y, por esose le llama suavizador (en este sentido, incluso la regresion lineal es una suavizador llevadoal extremo).

Hay diversas formas de realizar la regresion no parametrica, pero todas ellas tienen en comunque se basan en los propios datos para especificar la forma que tiene el modelo: la curva enun punto dado solo depende de las observaciones en ese punto y de las observaciones vecinas.Estas son algunas de las tecnicas de regresion no-parametrica existentes

14

Page 16: Mar a Durb an Universidad Carlos III de Madrid

1. Regresion polinomial local con pesos, lowess.

2. Kernels

3. Splines

4. Splines con penalizaciones (Psplines)

1. Regresion polinomial local: Lowess/Loess

La idea de regresion local fue propuesta por Cleveland (1979). Intentamos ajustar elmodelo,

yi = f(xi) + εi

siguiendo los siguientes pasos:

1. definimos el ancho de ventana (m): Incluye a los vecinos mas cercanos. En este ejemploutilizamos m = 50, es decir, para cada punto selecionamos los 50 vecinos mas cercanos(una ventana que incluye a los 50 vecinos de x(80) se muestra en la Figura 2(a)).

0 5000 15000 25000

2040

6080

(a)

Average Income

Pres

tige

0 5000 15000 25000

0.00.4

0.8

(b)

Average Income

Tricu

be W

eight

0 5000 15000 25000

2040

6080

(c)

Average Income

Pres

tige

0 5000 15000 25000

2040

6080

(d)

Average Income

Pres

tige

Figura 1: Lowess smoother

2. Asignar pesos a los datos: Se utiliza una funcion kernel para dar mas peso a los puntosmas cercanos a la observacion de interes x0. En la practica se utiliza normalmente lafuncion de pesos tricubica:

W (z) =

(1− |z|3)3 for |z| < 10 for |z| ≥ 1

15

Page 17: Mar a Durb an Universidad Carlos III de Madrid

donde zi = (xi − x0)/h, y h es la mitad de la longitud de la ventana. Observacionesque estan mas lejos de la distancia h de x0 reciben peso 0. Lo normal es elegir h demodo que cada regresion local incluya a una proporcion fija de puntos, s, y a esto se lellama el span del suavizador. La Figura 2(b) muestra los pesos de la funcion tricubicapara observaciones en una vecidad.

3. Mınimos cuadrados poderados locales: Ahora, ajustamos una regresion polinomial usan-do mınimos cuadrados ponderados (con pesos) sobre x0, pero solo utilizando las obser-vaciones mas cercanas para minimizar la suma de residuos al cuadrados ponderados.Normalmente se utiliza regresion polinomica de grado 1 (lineal) o 2 (cuadratica), perose puede utilizar polinomios de cualquier orden.

yi + bi(xi − x0) + b2(xi − x0)2 + . . .+ bp(xi − x0)p + ei

A partir de esta regresion, calculamos el valos ajustado correspondiente a x0 y lodibujamos en el diagrama. La Figura 2 (c) muestra el ajuste lineal local para los datosen la vecindad de x0, el valor ajustado y|x(80) se representa en el grafico por un puntoen negrita.

4. Curva no-parametrica:Los pasos 1-3 se repiten para cada observacion de los datos. Porlo que estamos haciendo un regresion local para cada valor de x, y los valores ajustadosde cada una de ellas se dibuja y se une (ver Figura 2 (d)).

En R podemos hacer esto de forma sencilla:

library(car)

attach(Prestige)

plot(income, prestige, xlab="Average Income", ylab="Prestige",

main="(d)")

lines(lowess(income, prestige, f=0.5, iter=0), lwd=2)

En regresion no-parametrica no tenemos parametros estimados, el interes esta en la curva,por lo que el enfasis esta en como de bien la curva ajustada representa la curva poblacional.

Las hipotesis bajo el modelo lowess son mucho menos restrictivas que las del modelo deregresion lineal, no hay ninguna hipotesis restrictiva sobre model µ, sin embargo, asumimosque alrededor de cada punto x0, µ debe ser, aproximadamente, una funcion local. Los erroresεi se suponen independientes y con media 0. Finalmente, un cierto numero de decisiones hande ser tomadas: el span, el grado del polinomio, el tipo de funcion de ponderacion; estasopciones afectaran el equilibrio entre el sesgo y la varianza de la curva.

Ventana-span

Recordamos que el span s es el porcentaje de observaciones utilizadas dentro del rangode x. El valor de s tiene un efecto importante en la curva. Un span demasiado pequeno(esto significa que muy pocas observaciones caen dentro de la ventana) da lugar a una curvacon mucho ruido, y por lo tanto con mucha varianza. Si el span es muy grande la curva

16

Page 18: Mar a Durb an Universidad Carlos III de Madrid

estara sobre-suavizada, por lo que puede que no ajuste bien los datos y haya una perdida deinformacion y por lo tanto, el sesgo sera alto.

Podemos elegir la ventana de diferentes formas:

1. Constante: h es constante, por lo tanto una parte de rango de x es utilizado para elegirlas observaciones para la regresion local. Este es un metodo apropiado si la distribucionde x es aproximadamente uniforme y/o el tamano muestral el grande. Sin embargo, six tiene una distribucion no-uniforme, este metodo puede fallar, ya que habra casos enlos que puede no haber vecinos o muy pocos. Esto es particularmente relevante en lafrontera del rango de x.

2. Vecinos mas proximos: Este metodo resuelve el problema anterior. El span s seelige de modo que cada vez se este utilizadon una determinada proporcion del total delos valores de x. La proporcion se elige probando hasta que eliminamos el ruido de lacurva. En la funcion loess(), el span por defecto es s = 0,5.

0 5000 10000 15000 20000 25000

2040

6080

Average Income

Pres

tige

s=0.1s=0.37s=0.63s=0.9

Figura 2: Efecto del span en la curva ajustada

2. Suavizado con kernels

Un suavizador tipo kernel utiliza pesos que decrecen de forma suave cuando la lınea sealeja del punto de interes x0. El peso para la observacion j − th utilizada para el punto de

17

Page 19: Mar a Durb an Universidad Carlos III de Madrid

interes x0 viene dado por:

S0j =c0λd

(∣∣∣∣x0 − xjλ

∣∣∣∣)donde d(t) es una funcion decreciente en |t|, λ es el ancho de ventana , y c0 es una constanteelegida de modo que la suma de los pesos sea 1. Tıpicamente d(.) es la funcion de densidadde una Normal para el llamado kernel Gaussiano.Estos suavizadores, en general, se comportan peor que el lowess en los puntos de frontera

3. Splines

Los splines son funciones polinomicas a trozos sobre las que se imponen restricciones enlos puntos de union llamados nodos, estos puntos dividen el rango de x en regiones. Lossplines dependen de tres elementos:

1. Grado del polinomio

2. Numero de nodos

3. Localizacion de los nodos

Aunque hay muchas combinaciones posibles, una eleccion popular consiste en polinomios atrozos de grado tres, continuos y con primera y segunda derivada continua en los nodos (estofuerza a los polinomios a unirse de forma suave en estos puntos, ver Figura 3).

Un spline cubico con dos nodos c1 y c2 tiene la siguiente forma:

y = β0 + β1x+ β2x2 + β3x

3 + β4(x− c1)3+ + β5(x− c1)3+,donde (u)+ = u si u > 0 y 0 en otro caso. Si hay k nodos, la funcion necesitara k + 4coeficientes de regresion.

Splines cubicos naturales Restringen el spline de modo que es lineal mas alla de losnodos que estan en la frontera, por lo tanto, necesita k + 2 parametros, esto es debido aque ahora no se impone que la derivada se a continua en c1 y ck , por lo que se eliminan 2parametros al final de los datos

y = β0 + β1x+ β2(x− c1)3+ + β3(x− c1)3+,

3.1. Numero y posicion de los nodos

Los splines cubicos dependen de los nodos, por lo que es necesario seleccionar cuantosy donde estaran situados. Es mas importante la eleccion del numero que de la posicion.Siempre se pueden colocar en los cuantiles de x.

Una eleccion tıpica es 3 ≤ k ≤ 7. En los casos en los que el tamano muestral es grande(n ≥ 100) y la variable respuesta es continua, k = 5 es un buen compromiso entre flexibi-lidad y precision. Para tamanos muestrales pequenos (n ≤ 30), k = 3 es una buena opcionpara empezar. El Akaike Information Criteria (AIC) puede ser utilizado para elegir k.

18

Page 20: Mar a Durb an Universidad Carlos III de Madrid

Figura 3: Una series de polinomios a trozos de orden 3, con ordenes de continuidad creciente

library(splines)

natspl=lm(prestige~ns(income,df=5))

plot(income, prestige, xlab="Average Income", ylab="Prestige")

lines(income[ord],natspl$fitted[ord])

3.2. Splines de suavizado (smoothing splines)

Los smoothing splines son la solucion al problema de minimizar la suma de residuos alcuadrado penalizados :

RSS(f, λ) =n∑i=1

(yi − f(xi))2 + λ

∫ xn

x1

f′′(x)2dx

El primer termino mide la proximidad a los datos y el segundo penaliza la curvatura de lafuncion. Aquı, λ es el parametro de suavizado , y controla el balance entre el sesgo y lavarianza de la curva ajustada. Si λ = 0, la curva interpola los datos, y si λ→∞, la segundaderivada se hace 0, por lo que tenemos un ajuste lineal.

Los splines de suavizado, son splines cubicos naturales en los que hay tantos nodos comoobservaciones unica de x. Esto podrıa parecer un modelo sobreparametrizado, sin embargo,el termino de penalizacion asegura que los coeficientes se reduzcan hacia la linealidad, limi-tando el numero de grados de libertad utilizados.El spline de suavizado es un suavizador lineal, en el sentido de que para cada valor unico xi,

19

Page 21: Mar a Durb an Universidad Carlos III de Madrid

0 5000 10000 15000 20000 25000

2040

6080

Average Income

Pres

tige

Figura 4: Spline cubico natural con 4 nodos en los cuantiles de income.

hay una base de funciones h(xi) tal que,

fλ(x) =n∑i=1

h(xi)yi

Podemos reescribir la suma de cuadrados residuales como:

RSS(θ, λ) = (y − hθ)′(y − hθ) + λθ′Ωθ

La solucion es,θ = (h′h+ λΩ)−1h′y

Es obvio el paralelismo con la regresion ridge, recordad que en este tipo de regresion, cuantomayor era λ, mas pequenos se hacıan los coeficientes; lo mismo ocurre en el caso de los splinesde suavizado. El modelo ajustado viene dado por:

f(x) =h∑j=1

hj(x)θj

Pero este tipo de suavizadores tiene un problema: ¿Como calculamos el valor apropiadodel parametro de suavizado λ para un conjuto de datos determinado?

Eleccion del parametro de suavizado

La eleccion del parametro de suavizado utilizamos:

20

Page 22: Mar a Durb an Universidad Carlos III de Madrid

1. Validacion cruzadaLa validacion cruzada deja cada vez un punto (xi, yi) fuera, y estima el valor de nuevoen xi basado en los restantes n1 puntos, y se construye la suma de cuadrados:

CV (λ) = n−1n∑i=1

(yi − f−iλ (xi))2

donde f−iλ (xi) indica el ajuste en xi calculado dejando la observacion i fuera. Utiliza-mos CV para la eleccion del parametro de suavizado de la siguiente forma: calculamosCV (λ) para ciertos valores de λ y selecionamos aquel que minimiza CV (λ).

En el caso de un suavizador lineal,

CV (λ) = n−1n∑i=1

(yi − fλ(xi)1− Sii(λ)

)2

donde S(λ) es la matriz de proyeccion del modelo, es decir, y = Sy.

spline1=smooth.spline(income,prestige,cv=TRUE)

> spline1$cv.crit

[1] 127.4208

> spline1$lambda

[1] 0.01474169

spline1$fit

lines(spline1$x,spline1$y,col=2)

2. Validacion cruzada generalizadaHasta hace pocos anos, no se sabıa como calcular los elementos de las diagonal de S deuna forma eficiente, y esto llevo a introducir la validacion cruzada generalizada (GCV),la cual reemplaza Sii por su valor medio, Traza(S)/n, que es mas facil de calcular,

GCV (λ) = n−1n∑i=1

(yi − fλ(xi)

1− Traza(S)/n

)2

En la mayorıa de los casos, CV y GCV se comportan de manera similar, sin embargo,en algunas ocasiones CV tiende a infra-suavizar los datos en comparacion con GCV.

spline2=smooth.spline(income,prestige)

lines(spline2$x,spline2$y,col=4)

21

Page 23: Mar a Durb an Universidad Carlos III de Madrid

0 5000 10000 15000 20000 25000

2040

6080

Average Income

Pres

tige

Figura 5: Spline cubico natural con 4 nodos en los cuantiles de income (negro) y splines desuavizado con parametro de suavizado elegido mediante validacion cruzada (rojo).

0 5000 10000 15000 20000 25000

2040

6080

Average Income

Pres

tige

Figura 6: Spline cubico natural con 4 nodos en los cuantiles de income (negro) y splines desuavizado con paraemtro de suavizado elegido mediante validacion cruzada (azul).

22

Page 24: Mar a Durb an Universidad Carlos III de Madrid

Capıtulo 3

Splines con penalizaciones (P-splines)

En el capıtulo anterior vimos que hay dos grandes enfoques en el tema de modelos desuavizado con splines: a) splines de suavizado (smoothing splines) y b) splines de regresion(regression splines). Los splines de suavizado (ver por ejemplo Green and Silverman (1994))utilizan tantos parametros como observaciones, lo que hace que su implementacion no seaeficiente cuando el numero de datos es muy elevado. Los splines de regresion pueden serajustados mediante mınimos cuadrados una vez que se han seleccionado el numero de nodos,pero la seleccion de los nodos se hace mediante algoritmos bastante complicados.Los splines con penalizaciones combinan lo mejor de ambos enfoques: utilizan menos parame-tros que los splines de suavizado, pero la seleccion de los nodos no es tan determinante comoen los splines de regresion. Hay tres razones fundamentales para el uso de este tipo de splines:

1. Son splines de rango bajo, es decir, que el tamano de la base utilizada es mucho menorque la dimension de los datos, al contrario de lo que ocurre en el caso de los splines desuavizado donde hay tantos nodos como datos, lo que hace que sea necesario trabajarcon matrices de alta dimension. El numero de nodos, en el caso de los P-splines, nosupera los 40, lo que hace que sean computacionalmente eficientes, sobre todo cuandose trabaja con gran cantidad de datos.

2. La introduccion de penalizaciones relaja la importancia de la eleccion del numero y lalocalizacion de los nodos, cuestion que es de gran importancia en los splines de rangobajo sin penalizaciones (ver por ejemplo Rice and Wu (2001)).

3. La correspondencia entre los P-splines y el BLUP en un modelo mixto permite, enalgunos casos, utilizar la metodologıa existente en el campo de los modelos mixtos yel uso de software como PROC MIXED en SAS y lme() en S-PLUS y R.

1. Bases y Penalizaciones

Supongamos que tenemos n pares de datos (xi, yi) y estamos interesados en ajustar elmodelo

yi = f(xi) + εi εi ∼ N(0, σ2)

donde f(.) es una funcion suave de los datos. Por ejemplo, simulamos los siguientes datos:

23

Page 25: Mar a Durb an Universidad Carlos III de Madrid

n = 200

x = seq(0,1,length=n)

y = sin(3*pi*x) + 0.5*rnorm(n)

plot(x,y,pch=1,bty="l",col=12)

lines(x,sin(3*pi*x),col=6)

0.0 0.2 0.4 0.6 0.8 1.0

−10

12

x

y

Figura 1: Datos simulados, la lınea corresponde a f(x) = sin(3πx)

Nuestro objetivo es estimar la funcion f(x) = sin(3πx) mediante splines con penalizaciones.Los P-splines fueron introducidos por Eilers and Marx (1996), aunque han alcanzado granpopularidad recientemente (ver por ejemplo Ruppert et al. (2003)). La metodologıa se puederesumir de la siguiente forma: (a) utilizar una base para la regresion, y (b) modificar lafuncion de verosimilitud introduciendo una penalizacion basada en diferencias entre coe-ficientes adyacentes. En el caso de datos normalmente distribuidos tenemos el modelo deregresion y = Ba+ ε, donde ε ∼ N(0, σ2I), y B = B(x) es la base de regresion construidaa partir de x. Para estimar los coeficientes de regresion se minimiza la funcion de mınimoscuadrados penalizados:

S(a;y, λ) = (y −Ba)′(y −Ba) + λa′Pa (3.1)

donde P es es una matriz que penaliza los coeficientes de forma suave y λ es el parametrode suavizado. Fijado un valor de λ, minimizar (3.1) da lugar al sistema de ecuaciones

(B′B + λD′D)a = B′y. (3.2)

Si λ = 0 se corresponde con las ecuaciones normales de regresion de y sobre B. Es impor-tante el hecho de que el tamano del sistema de ecuaciones anterior depende del tamano de

24

Page 26: Mar a Durb an Universidad Carlos III de Madrid

la base y no del numero de observaciones.El parametro λ determina la influencia de la penalizacion: si es 0, estamos en un caso de re-gresion con B-splines, y si λ es muy grande, estarıamos ajustando un polinomio de grado p−1.

Es sencillo probar que:y = B(B′B + λD′D)−1B′y = Hy, (3.3)

H no es una matriz de proyeccion, ya que no es idempotente, pero su forma hace que elmetodo de suavizado sea lineal. La traza de H corresponde a la dimension del modelo (elnumero equivalente de parametros que estarıamos estimando).

1.1. Bases y nodos

La base para la regresion se puede calcular de muchas maneras, y de hecho hay dosgrandes grupos dentro de los estadısticos que utilizan los P-splines: los que utilizan lasbases polinomios truncados y los que utilizan las bases de B-splines. Ademas existen otrasalternativas como thin plate regression splines.

Polinomios truncados

Supongamos de nuevo que tenemos pares (xi, yi), i = 1, . . . , n. Para simplificar, vamos asuponer que x esta en [0, 1]. Tomamos k nodos equidistantes en ese intervalo tj = (j − 1)/kj = 2, . . . , k + 1. Una base de polinomios truncados de grado p viene dada por:

1, x, x2, . . . , xp, (x− t1)+p , . . . , (x− tk)p+p

donde x+ = max(0, x) (por eso son truncados, ya que a partir de un cierto punto valen 0).La funcion (x− t)+p tienen p − 1 derivadas continuas, de modo que cuanto mayor sea pmas suave son las funciones en la base. En lenguajes como Matlab, Splus o R es trivial elcalculo de estas funciones:

tpoly= functionx,t,p)

#Polinomios truncados de grado p

B=NULL

for(i in 1:length(t))

B=cbind(B,(x-t[i])^p * (x>t[i]))

Tomamos los nodos, por ejemplo, si queremos 10 nodos:

K=10

knots=seq(0,1,length=(K+2))[-c(1,K+2)]

entonces,

25

Page 27: Mar a Durb an Universidad Carlos III de Madrid

B0=tpoly(x,knots,0)

B1=tpoly(x,knots,1)

B2=tpoly(x,knots,2)

B3=tpoly(x,knots,3)

son bases de polinomios truncados de grado 0, 1, 2 y 3 respectivamente (ver Figura 2)

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.4

0.8

x

Polinomios truncados de grado 0

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.4

0.8

x

Polinomios truncados de grado 1

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.4

0.8

x

Polinomios truncados de grado 2

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.4

0.8

x

Polinomios truncados de grado 3

Figura 2: Bases de polinimios truncados de grado 0, 1, 2 y 3

B-splines

Las referencias basicas son De Boor (1977) y Dierckx (1993). Un B-spline esta formadopor trozos de polinomios conectados entre si. Un ejemplo muy simple aparece en la partesuperior izquierda de la Figura 3: un B-spline de grado 1. Esta formado por dos trozos depolinomio lineal que se unen en un nodo, en la parte derecha aparecen mas B-splines, cadauno de los cuales esta basado en tres nodos. En la parte inferior aparece un B-spline de gradotres, esta formado por 4 trozos de polinomios unidos entre si, de nuevo vemos que todas lasfunciones de la base tienen la misma forma, pero estan desplazadas horizontalmente (el

26

Page 28: Mar a Durb an Universidad Carlos III de Madrid

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.4

0.8

x

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.4

0.8

x

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.4

0.8

x

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.4

0.8

x

Figura 3: Bases de B-splines de orden 1 y 3.

desplazamiento es una funcion de la distancia entre los nodos). En general un B-spline degrado p :

Consiste en p+ 1 trozos de polinomio de orden p.

Se unen en p nodos internos

En los puntos de union las derivadas hasta el orden p− 1 son continuas.

El B-spline es positivo en el dominio expandido por p+ 2 nodos y 0 en es resto.

Excepto en los extremos, se solapa con 2p trozos de polinomios de sus vecinos.

Para cada valor de x, p+ 1 B-splines son no nulos.

Los B-splines no “padecen” los efectos de frontera comunes en otros metodos de suavizado,como algunos kernels, en los que al extender la curva ajustada fuera del dominio de los datosesta tiende hacia cero. De Boor (2001) presenta un algoritmo para el calculo de los B-splines, este algoritmo se puede simplificar facilmente en software como MATLAB, S-PLUS y

27

Page 29: Mar a Durb an Universidad Carlos III de Madrid

R, por ejemplo, la funcion para el calculo de una base de B-splines de orden bdeg con ndxnodos serıa:

bspline = function(x, xl, xr, ndx, bdeg)

dx = (xr-xl)/ndx

knots = seq(xl-bdeg*dx, xr+bdeg*dx, by=dx)

B = spline.des(knots,x,bdeg+1,0*x)design

B

Thin plate regression splines (tprs)

Los thin plate splines son funciones que minimizan la funcion objetivo:

∑(yi − f(xi))

2 + λ

∫ (∂2f

∂x2

)2

dx

Es posible reescribir la equacion anterior como:

‖y −Eδ − Tγ‖+ λδ′Eδ

En Green and Silverman (1994) se pueden encontrar mas detalles sobre este metodo de sua-vizado.

El principal problema es que el numero de nodos (y por lo tanto el numero de parame-tros) es igual al numero de datos, lo que hace que sea computacionalmente muy costoso,sobre todo cuando pasamos al caso multidimensional. Por ello, Wood (2003) desarrollo losthin plate regression splines que son una version de los anteriores en la que el numero denodos es mucho menor al numero de datos. La Figura 4 muestra una base the thin plateregression splines.

1.2. Penalizaciones y coeficientes

Supongamos que tenemos una base B construida con k nodos. Si utilizamos mınimoscuadrados para ajustar el modelo, la funcion objetivo sera:

S(a;y) = (y −Ba)′(y −Ba)⇒ a = (B′B)−1B′y

y la curva ajustada f(x) = Ba dependera del tamano de la base. En la Figura 5 vemos elefecto que tiene el tamano de la base en la curva, cuanto mayor sea la base menos suave esla curva, cuando el numero de nodos coincide con el numero de datos obtenemos una curvaque interpola los datos.

Para solucionar esta situacion, O’Sullivan (1986) introdujo una penalizacion en la segundaderivada de la curva, de modo que la funcion objetivo paso a ser:

S(a;y, λ) = (y −Ba)′(y −Ba) + λ

∫x

(B′′a)2dx

28

Page 30: Mar a Durb an Universidad Carlos III de Madrid

0.0 0.2 0.4 0.6 0.8 1.0

−4−2

02

x

Figura 4: Bases de thin plate regression splines.

La integral de la segunda derivada de la curva ajustada al cuadrado es una penalizacion bas-tante comun (es la que se utiliza en los splines de suavizado), sin embargo, no hay nada departicular en la segunda derivada, se puede utilizar derivadas de cualquier orden. La novedadque introducen los P-splines es que la penalizacion es discreta y que se penalizan los coeficien-tes directamente, en vez de penalizar la curva, lo que reduce la dimensionalidad del problema.

El tipo de penalizacion dependera del tipo de base que se este utilizando. En el caso depolinomios truncados, se utiliza una penalizacion “ridge” independientemente del grado delos polinomios truncados, es decir:

S(a;y, λ) = (y −Ba)′(y −Ba) + λa′a

esto equivale a poner una penalizacion en la derivada p+ 1 de la curva.Por el contrario, Eilers and Marx (1996) utiliza una penalizacion basada en la diferencias deorden d entre los coeficientes adyacentes de la bases de B-splines, este tipo de penalizaciones mas flexible ya que es independiente del grado del polinomio utilizado para construir losB-splines. Esta es una buena aproximacion discreta a la integral de la d-esima derivada alcuadrado. La penalizacion se anade a la funcion de mınimos cuadrados, dando lugar a unafuncion de mınimos cuadrados penalizados,

S(a;y, λ) = (y −Ba)′(y −Ba) + λa′P da⇒ a = (B′B + λP d)−1B′y (3.4)

donde P d = (∆d)′∆d, si d = 0 tenemos una penalizacion ridge. En general se utiliza d = 2,aunque se puede utilizar ordenes superiores o inferiores, dependiendo de la variabilidad de la

29

Page 31: Mar a Durb an Universidad Carlos III de Madrid

0.0 0.2 0.4 0.6 0.8 1.0

−10

12

x

y

3 nodos10 nodos20 nodos

Figura 5: Curva estimada con 3, 10 y 20 nodos.

curva y de la cantidad de ruido en los datos. Por ejemplo, una penalizacion de orden d = 2equivale a

(a1 − 2a2 + a3)2 + . . .+ (ak−2 − 2ak−1 + ak)

2 = a′D′Da

donde

D =

1 −2 1 0 . . .0 1 −2 1 . . .0 0 1 −2 . . ....

......

.... . .

En el caso de thin plate regression splines, ya vimos anteriormente utilizan una penalizacioncuadratica que mide la complejidad de la curva y es una version truncada de la penalizacionde un thin plate splines.

La Figura 6 se muestra el ajuste de una curva mediante B-splines sin y con penalizacion,se muestran los funciones que forman las bases (las columnas de la matriz B) multiplicadaspor los coeficientes, ası como los coeficientes (en un cırculo), en la parte izquierda vemoscomo el patron erratico de los coeficientes da lugar a una curva poco suave, en cambio en laparte derecha, cuando se les impone que se pase de un coeficiente a otro de forma suave, lacurva tambien lo es. Este grafico muestra lo que esta haciendo la penalizacion: fuerza a loscoeficientes a que sigan un patron suave.

Entre las propiedades de los P-splines con bases de B-splines hay que destacar que no tienen

30

Page 32: Mar a Durb an Universidad Carlos III de Madrid

efecto de frontera (como le ocurre a los kernels), el efecto de frontera es el que hace que alextender la curva fuera del dominio de x la curva caiga rapidamente hacia 0, esto no pasacon los P-splines. Ademas, los P-splines ajustan de forma exacta los polinomios, es decir, sila curva es polinomica, un P-spline la recuperara exactamente. Por ultimo, se conservan losmomentos, es decir, que la media y la varianza de los valores ajustados sera la misma que lade los datos sea cual sea el parametro de suavizado, al contrario que los kernels que tiendena aumentar la varianza cuanto mayor es el suavizado.

La seleccion y localizacion de los nodos no esta hecha de antemano, como en el caso delos smoothing splines, si se elige un numero suficientemente grande de nodos es suficientecon elegirlos de forma equidistante; aunque autores como Ruppert (2002) aconsejan elegir losnodos K nodos en los K-quantiles de x, es decir que cada nodo tk serıa el cuantil k/(K + 1)de x. En cuanto al numero de nodos, la mayorıa de los autores utilizan como regla:

numero de nodos = min40, valores unicos de x/4

0.0 0.2 0.4 0.6 0.8 1.0

−1

01

2

x

y

0.0 0.2 0.4 0.6 0.8 1.0

−1

01

2

x

y

Figura 6: Curva estimada con 20 nodos, sin penalizar los coeficientes (izquierda) y penali-zando los coeficientes (derecha).

31

Page 33: Mar a Durb an Universidad Carlos III de Madrid

1.3. Estimacion de parametros y grados de libertad

Hemos visto en la seccion anterior, que dada una base B y una penalizacion P , buscamosestimar un conjunto de parametros a que optimiza la verosimilitud penalizada dada en (3.4),la solucion es:

a = (B′B + λP )−1B′y ⇒ f(x) = Ba

Es importante caer en la cuenta de que la equacion anterior depende de λ, el parametro desuavizado, el cual, por el momento vamos a suponer conocido (mas adelante abordaremos eltema de la estimacion de dicho parametro).El otro parametro que queda por estimar es la varianza residual, σ2, la estimacion de esteparametro depende de los grados de liberdad del modelo, por lo que hemos de introducir elconcepto de grados de libertad efectivos.

Grados de libertad efectivos

Si en un modelo con P-splines tomamos λ = 0, entonces los grados de libertad delmodelo se corresponden con la dimension de la base B menos el numero de restricciones delmodelo, por el contrario, si tomamos un valor grande de λ el modelo es muy poco flexibley tendra muy pocos grados de libertad. Para definir los grados de libertad en este tipo demodelos, la opcion mas logica es utilizar una definicion analoga a la que se utiliza en losmodelos de regresion parametricos:

d.f. = traza(H) donde y = Hy

En este caso:H = B(B′B + λP )−1B′

por lo qued.f. = traza(H) = traza(B′B + λP )−1B′B

y la traza de esa matriz variara dependiendo del parametro de suavizado.

Estimacion de la varianza residual

En el caso de errores gaussianos, nuevamente utilizamos la equivalencia con el caso deregresion lineal:

σ2 =‖y −Ba‖2n− traza(H)

,

aunque este estimador no es insesgado, ya que depende del sesgo introducido por el suavizado,es el que se utiliza normalmente.

1.4. Seleccion del parametro de suavizado

El papel del parametro de suavizado en los P-splines, es el mismo que tiene en cual-quier otro metodo de suavizado: controlar la suavidad de la curva, pero aquı lo que hace espenalizar los coeficientes que estan muy separados entre sı, y cuanto mayor sea λ, mas se

32

Page 34: Mar a Durb an Universidad Carlos III de Madrid

0.0 0.2 0.4 0.6 0.8 1.0

−10

12

x

y

Figura 7: Curvas ajustadas para distintos valores de λ.

aproximaran los coeficientes a cero, de modo que si λ→∞ nos aproximamos a un ajuste po-linomico. Por el contrario, cuando λ→ 0 estaremos utilizando mınimos cuadrados ordinarios.

Ahora, al igual que en otros metodos de suavizado, hemos de elegir un criterio para se-leccionar el parametro de suavizado, podemos utilizar AIC, GCV, BIC, etc. Por ejemplo:

GCV =n∑i=1

(yi − yi)2n− traza(H)

; H = B(B′B + λD′D)−1B′

AIC = 2log

(n∑i=1

(yi − yi)2)− 2log(n) + 2log (traza(H))

La ventaja de los P-splines es que es mucho mas rapido calcular la traza de esa matriz quecon otro tipo de suavizadores.

2. P-splines como modelos mixtos

La gran revolucion de los P-splines producida en los ultimos anos es debida a la posibi-lidad de escribir un modelo no-parametrico o semiparametrico donde se utilizan P-splinescomo un modelo mixto (o modelo con efectos aleatorios), la ventaja que tiene el utilizar esteenfoque es que nos permite: por un lado utilizar toda la metodologıa desarrollada para losmodelos mixtos, y por otro, utilizar el software para modelos mixtos que esta disponible en

33

Page 35: Mar a Durb an Universidad Carlos III de Madrid

la mayorıa de los programas estadısticos.

La conexion entre regresion no parametrica y los modelos mixtos se remonta a principiode los 90 (Speed, 1991). Mas tarde, otros autores como Verbyla et al. (1999) y Brumbackand Rice (1998) desarrollan en mas profundidad el tema del suavizado con modelos mix-tos (en el contexto de los splines cubicos) y mas tarde (Wand, 2003) en el contexto de losP-splines con polinomios truncados como bases. Sin embargo, no se habıa intentado buscaruna representacion de los P-splines con B-splines como bases como modelos mixtos, lo cual,entre otras cosas darıa lugar a bases mas estables.

El interes por la representacion de los P-splines como modelos mixtos surgio de las difi-cultades que surgen en el campo de los modelos aditivos de suavizado, ya que hay problemasde identificabilidad del modelo. El uso de los P-splines hace que no sea necesario un metodoiterativo (como el backfitting algorithm) para la estimacion de las curvas, pero era entoncesnecesario modificar las bases de forma que una curva se pueda descomponer como suma deun componente polinomico (del mismo orden que la penalizacion) y otro no polinomico, esdecir, dado el modelo:

y = Ba+ ε ε ∼ N(0, σ2I) lo reformulamos como

y = Xβ +Zu+ ε ε ∼ N(0, σ2I)

Segun la base que haya utilizado para los P-splines, X y Z tendran una forma diferente:

Polinomios truncados

X = [1,x, . . . ,xp] Z = [(xi − κk)p+, ] 1 ≤ i ≤ n1 ≤ k ≤ κ

B-splinesX = [1 : x] Z = BUΣ−1/2

donde U y Σ son matrices que forman parte de la descomposicion en valores singularesde la matriz de penalizacion D′D.

Una vez descrita esta nueva base, es inmediato establecer la conexion con un modelo mixto,donde:

y = Xβ +Zu+ ε u ∼ N(0, σ2uIc−2) ε ∼ N(0, σ2I), (3.5)

donde c el numero de columnas de la base original B, y el parametro de suavizado esλ = σ2/σ2

u, lo cual hace que sea posible estimar el parametro de suavizado junto con losotros parametros del modelo.

Uno de los conjuntos de datos con los que vamos a trabajar en el curso esta basado enun estudio llevado a cabo en la Universidad de Harvard con ninas afectadas por leucemialinfoblastica aguda (los datos han sido modificados por cuestiones de confidencialidad). Laobesidad y la corta estatura son efectos comunes en los adolescentes que padecen o han pade-cido esta enfermedad y los tratamientos que se aplican intentan reducir al maximo este tipode efectos secundarios sin comprometer su eficacia. En uno de los ensayos clınicos llevados a

34

Page 36: Mar a Durb an Universidad Carlos III de Madrid

cabo se estudiaron 618 ninos entre los anos 1987 y 1995 y se aplicaron tres terapias distintas:terapia intracraneal sin radiacion, terapia intracraneal con radiacion convencional y terapiaintracraneal con radiacion dos veces al dıa. Se midio la altura de los ninos aproximamda-mente cada 6 meses.Para cada nino, la altura aumenta de forma suave a lo largo de los anos, de modo que elmodelo anterior serıa apropiado para este tipo de datos.

10 12 14

age

135

140

145

150

155

160

heig

ht

Figura 8: Curva estimada para la altura de una nina en distintos instantes.

La Figura 8 muestra como la curva ajustada se descompone en una lınea recta (si utili-zamos una penalizacion de orden dos, o polinomios truncados de orden uno), mas una parteque no es lineal, en el contexto de los modelos mixtos esto corresponderıa al efecto aleatorio.

En el contexto de los modelos mixtos, el metodo estandar para la estimacion de los pa-rametros de la varianza es el metodo de maxima verosimilitud restringida (REML).

`R(σ2u, σ

2ε) = −1

2log |V | − 1

2log |X ′V −1X| − 1

2y′(V −1 − V −1X(X ′V −1X)−1X ′V −1)y,

(3.6)donde V = σ2

uZZ′ + σ2I. El vector de parametros β y el vector de coeficientes aleatorios u

son estimados como:

β = (X ′V−1X)−1X ′V

−1y (3.7)

u = σ2uZ′V−1

(y −Xβ) (3.8)

V −1 =1

σ2(I −Z(Z ′Z + (σ2/σ2

u)Ic−2)−1Z ′) (3.9)

35

Page 37: Mar a Durb an Universidad Carlos III de Madrid

Sin embargo, con los P-splines como modelos mixtos es inmediato el introducir una estructurade correlacion y estimarla simultaneamente a la curva suave. El modelo seguirıa siendo elmismo:

y = Xβ +Zu+ ε u ∼ N(0, σ2uIc−2) ε ∼ N(0, σ2Σ),

donde Σ representa la correlacion entre los datos, y la matriz V = σ2uZZ

′ + σ2Σ.

La Figura 9 muestra datos de temperatura de Nueva York tomados en 111 dıas conse-

0 20 40 60 80 100

6070

8090

Time

Tem

p

Figura 9: Curvas estimadas para los datos de temperatura

cutivos, la curva negra corresponde a la estimacion ignorando la estructura de correlacionen los datos y la verde se obtiene asumiendo un proceso AR(1).

3. P-splines para datos multidimensionales

Los modelos aditivos (Hastie and Tibshirani, 1987) son una clase importante dentro delos modelos multidimensionales. En 2 dimensiones, el modelo aditivo de suavizado serıay = f(x1) + f(x2) + ε, donde x1 y x2 son variables explicativas. Una de las razones porlas que este enfoque es tan popular es porque la hipotesis de aditividad controla los posi-bles problemas computacionales que surgen a la hora de estimar las curvas. Sin embargo,esta hipotesis es demasiado restrictiva cuando, por ejemplo, los datos estan situados en unarray y en vez de un modelo aditivo necesitemos suavizar los datos mediante un superficieno aditiva. En este contexto se han desarrollado varios enfoques: los basados en thin platesplines (ver, por ejemplo, Green and Silverman, 1994, o mas tarde Wood, 2003), o, dentro del

36

Page 38: Mar a Durb an Universidad Carlos III de Madrid

campo de los P-splines como modelos mixtos, los que utilizan bases radiales (Wand, 2003):en el primer caso, el problema que presentan es de tipo computacional, dado el tamano delas bases y la dificultad para seleccionar el parametro de suavizado, ademas es un metodo desuavizado isotropico, apropiado en el caso de datos espaciales, pero no cuando las variablesexplicativas estan medidas en diferentes unidades; en el caso de bases radiales, aunque losproblemas computacionales son menores, el modelo tambien es isotropico. Como alternativa,Durban et al. (2002) propuso el uso del producto tensorial de B-splines como bases para elsuavizado en dos o mas dimensiones.

Supongamos que tenemos datos yij, i = 1, . . . , n1, j = 1, . . . , n2, organizados en un arraycon n1 filas y n2 columnas, y dos variables explicativas, x′1 = (x11, . . . , x1n1) y x′2 =(x21, . . . , x2n2). Sea B1 una matriz n1 × c1 de B-splines para el suavizado a lo largo dex1, y B2 una matriz n1 × c2 de B-splines para el suavizado a lo largo de x2. Entoncesdefinimos la matriz de bases en 2 dimensiones como su producto tensorial,

B = B2 ⊗B1 (3.10)

La Figura 10 muestra un grafico analogo a la Figura 3, pero en el caso bidimensional.

5

1015

20

x12

46

810

1214

16

x2

00.

10.

20.

30.

40.

52-

d B-

splin

e

Figura 10: Base de B-splines en dos dimensiones.

El modelo a ajustar ahora es y = f(x1,x2) + ε, donde y es un vector de longitud n1n2;de nuevo E[y] = Ba, o escrito en forma matricial, E[Y ] = B1AB2, donde A es una matrizc1 × c2 que contiene a los coeficientes a. De esta representacion matricial del modelo sur-gio la idea de penalizar las filas y columnas de la matriz A. La penalizacion de las filas vienedada por a′(Ic2 ⊗D′1D1)a y la de las columnas, a′(D′2D2⊗ Ic1)a, con lo cual la matriz depenalizaciones viene dada por:

P = λ1Ic2 ⊗D′1D1 + λ2D′2D2 ⊗ Ic1 , (3.11)

37

Page 39: Mar a Durb an Universidad Carlos III de Madrid

λ1 y λ2 son generalmente diferentes, lo que hace que el modelo sea no-isotropico, lo quepermite la posibilidad de que el suavizado sea mayor en una dimension que en la otra(detalles y ejemplos en Durban et al., 2002 y Currie et al., 2004).

3.1. P-splines multidimensionales como modelos mixtos

Hasta el momento, no existıa una representacion de modelos de suavizado no-isotropicosen dos o mas dimensiones como modelos mixtos. El objetivo es encontrar una representacionsimilar a la dada en el caso de los datos unidimensionales. El hecho de que el modelo seano-isotropico, es decir, el utilizar el tipo de penalizacion que se propone en (3.11) puede, enun principio, dificultar la busqueda de una nueva base que permita establecer la equivalenciaentre modelos mixtos y P-splines con el producto tensorial de B-splines. Sin embargo, Currieet al. (2006) se muestra como en el caso de dos dimensiones o mas, tambien existe unarepresentacion como modelo mixto que viene dada por:

y = Xβ +Zα α ∼ N(0,G) ε ∼ N(0, σ2I), (3.12)

donde

X = X2 ⊗X1 = [1 : x2]⊗ [1 : x1]

Z = (Z2 ⊗X1 : X2 ⊗Z1 : Z2 ⊗Z1) .

G = σ2

λ2Σ2s ⊗ Iq1λ1Iq2 ⊗Σ1s

λ1Ic2−q2 ⊗Σ1s + λ2Σ2s ⊗ Ic1−q1

−1

Los resultados que se presentan aquı, se extienden de forma inmediata a tres o mas di-

Figura 11: Vista de los cultivos en SCRI, Dundee, Reino Unido

mensiones, utilizando el producto de kronecker para la base, y anadiendo mas terminos a lapenalizacion

Ademas, esta descomposicion de la base, hace que de forma sencilla se puedan ajustar mo-delos del tipo: y = f(x1) + f(x2) + f(x1,x2) + ε. Aunque los resultados aquı presentado son

38

Page 40: Mar a Durb an Universidad Carlos III de Madrid

para datos que estan en un enrejado, se pueden aplicar al caso de datos dispersos como ve-remos en algunos ejemplos mas adelante, la unica diferencia es que el producto de kroneckerde las bases se sustituye por el producto tensorial de las mismas.

Wood (2006b) propone el uso de producto tensorial de bases de thin plate regression splinescon penalizaciones similares a la la dada en (3.11). En el caso de P-splines bayesianos, seutilizarıa un paseo aleatorio bivariante (se pueden ver mas detalles en Kneib (2005)).

A modo de ilustracion, veamos un ejemplo en el que los datos que provienen de un en-sayo de campo llevado a cabo con cereales en el Scottish Crop Research Institute (SCRI,Reino Unido) con el objetivo de estudiar las tendencias espaciales que aparecen en los culti-vos debido a la situacion de los mismos. Los datos contenıan informacion sobre la produccionde grano de cada parcela y la posicion de las parcelas en el campo

En la Figura vemos a la izquierda el ajuste de un modelo aditivo y a la derecha el mo-delo con interaccion.

Fila

Colum

na

linear p

redicto

r

Fila

Colum

na

linear p

redicto

r

Figura 12: Superfices ajustadas para los datos del SCRI.

Se aprecia claramente que los ajustes son distintos y que en el primer caso, el modeloaditivo impone una estructura muy restrictiva a la superficie ajustada. Un manera graficade comprobar el ajuste del modelo aditivo es hacer un grafico de los residuos respecto de laposicion en las filas, para cada una de las columnas; en la siguiente figura podemos observarcomo hay una tendencia no explicada en los residuos que se va modificando a lo largo de lascolumnas.

39

Page 41: Mar a Durb an Universidad Carlos III de Madrid

Figura 13: Grafico de residuos del modelo aditivo.

4. Modelos additivos generalizados

Las ideas expuestas en las secciones anteriores se pueden aplicar al caso de modeloslineales generalizados con penalizaciones. Estos modelos fueron introducidos por Marx andEilers (1998), en el caso unidimensional , y por Durban et al. (2002) y Currie et al. (2004),en el caso bidimensional.

4.1. Modelos aditivos generalizados con P-splines

Sea µ = E[η], y suponemos que existe una funcion g() tal que η = g(µ) = f(x) = Ba.Minimizar la verosimilitud penalizada

`p(a) = `(a)− 1

2λa′D′Da, (3.13)

donde `(a) es la verosimilitud ordinaria, da lugar a la version penalizada del “scoring algo-rithm”:

(B′WB + λD′D)a = B′WBa+B′(y − µ). (3.14)

Aquı la matrizW es diagonal con elementos w−1ii = (∂ηi/∂µi)2var(yi), el sımbolo ˜ representa

una solucion aproximada, y ˆ representa la mejora de la aproximacion. De modo que:

a =(B′WB + λD′D

)−1B′W z

donde z = Ba+B′(y− µ) es el working response. El algoritmo se va actualizando hasta laconvergencia. Una vez alcanzada la convergencia, entonces:

H = B(B′W δB + λD′D

)−1B′W

f = Hz

40

Page 42: Mar a Durb an Universidad Carlos III de Madrid

La seleccion del parametro de suavizado y de manera similar al caso de datos Normales, ylos intervalos de confianza se hacen de forma similar a un GLM teniendo en cuenta que

z ≈ N(Ba,W−1)

4.2. Inferencia sobre las funciones suaves

Si nuestro interes es saber si existe una relacion estadısticamente significativa entre lavariable explicativa xj y la variable respuesta y, plantearemos el siguiente contraste:

H0 : fj = 0 (no efecto)

H1 : fj 6= 0 (efecto)

dado que las funciones fj dependen de los coeficientes que acompanan a las bases de B-splines, el contraste anterior es equivalente a :

H0 : βj = 0 βj = (βj1, . . . , βjKj)

H1 : βj 6= 0

En este contexto existen dos posibles aproximaciones para los contrastes anteriores (fre-cuentista/bayesiana), pero las metodologıa no esta aun completamente desarrollada, y losp-valores obtenidos son solo aproximados y hay que interpretarlos con cautela, ya que, engeneral, estos p-valores seran inferiores a lo que deberıan ser, por lo que se rechazara lahipotesis nula en mas ocasiones de las necesarias, es decir, se dara por significativa la rela-cion entre la covariable y la variable respuesta, cuando en realidad no es ası. En la practica,el problema aparece cuando los p-valores estan proximos al nivel de significacion (5 %), encuyo caso no deberıamos extraer conclusiones. Este comportamiento de los p-valores es si-milar independientemente de que criterio hayamos utilizado para la eleccion del parametrode suavizado, aunque el comportamiento es mejor si se utilizan metodos basados en maximaverosimilitud.

La distribucion del estadıstico de contraste dependera de si la variable respuesta sigue unadistribucion Normal o no:

Si los datos son Normales, el estadıstico de contraste sigue un distribucion F .

En otro caso sigue una distribucion χ2.

Comparacion de modelos

Modelos anidadosLa comparacion en modelos anidados se basa, al igual que en los GLM, en la diferenciaen el deviance residual. Si queremos comparar dos modelos m1 y m2 (donde m1 ⊂ m2),entonces:

• En el caso de datos Normales:

(DR(m1)−DR(m2))/(df2 − df1)DR(m2)/(n− df2)

≈ F(df3−df1),(n−df2)

41

Page 43: Mar a Durb an Universidad Carlos III de Madrid

donde DR es el deviance residual y df son los grados de libertad asociados concada modelo.

• En otro caso:DR∗(m1)−DR∗(m2) ≈ χ2

df2−df1

donde DR∗ el el deviance residual escalado.

Sin embargo, los modelos GAM no estan relmente anidados, ya que los grados de liber-tad asociados con una covariable, en general, cambiaran en presencia de otra variable.De modo que es preferible centrarse en el siguiente caso:

Modelos no anidadosEn este caso los contrastes anteriores no son validos y utilizaremos criterios basadosen el AIC.

42

Page 44: Mar a Durb an Universidad Carlos III de Madrid

Capıtulo 4

Software

Nos vamos a centrar en el uso de R. Dado que se puede ver un modelo con P-splinescomo un modelo mixto, lo mas inmediato es utilizar la funcion lme() para ajustar estetipo de modelos, esta funcion permite incluir efectos aleatorios, estructuras de covarianza ycorrelacion, permite ajustar modelos aditivos, analizar datos longitudinales, etc. Sin embargo,el uso de estas funciones puede ser menos atractivo para el usuario no experto, ya que implicala creacion de todas las matrices que intervienen en el modelo, aunque permite ver de formaclara lo que esta haciendo el programa. Ademas, se han escrito paquetes en R: mgcv y SemiPar,que permiten ajustar este tipo de modelos, todos ellos estan basados en las funciones lme() yglmmPQL() (para el caso de datos que no son normales). Ademas veremos funciones escritasespecıficamente para el caso de suavizado multidimensional.La idea es que os familiariceis con todas las herramientas disponibles para que podais elegiraquella que os sea mas util en cada caso.

La funcion lme

Para utilizar esta funcion es necesario cargar el paquete nlme.

La funcion admite que tanto la parte fija como la aleatoria se especifiquen mediantematrices, lo que hace que simplemente construyendo las matricesX yZ tal y como indicamosantes, podamos ajustar el modelo. El fichero MMbasis.R contine dos funciones:

mixel.model.B para el caso de B-splines.

mixed.model.T para el caso de polinomios truncados.

library(splines)

library(nlme)

girl=read.table("girl.txt",header=TRUE)

y=girl$height

x=girl$age

source("MMbasis.R")

#Con B-splines

43

Page 45: Mar a Durb an Universidad Carlos III de Madrid

R Help on 'lme' Page 1

lme package:nlme R Documentation

Linear Mixed-Effects Models

Description:

This generic function fits a linear mixed-effects model in the formulation described in Laird and Ware (1982) but allowing for nested random effects. The within-group errors are allowed to be correlated and/or have unequal variances.

Usage:

lme(fixed, data, random, correlation, weights, subset, method, na.action, control, contrasts = NULL) ## S3 method for class 'lme': update(object, fixed., ..., evaluate = TRUE)

Arguments:

object: an object inheriting from class 'lme', representing a fitted linear mixed-effects model.

fixed: a two-sided linear formula object describing the fixed-effects part of the model, with the response on the left of a '~' operator and the terms, separated by '+' operators, on the right, an 'lmList' object, or a 'groupedData' object. The method functions 'lme.lmList' and 'lme.groupedData' are documented separately.

fixed.: Changes to the fixed-effects formula - see 'update.formula' for details.

data: an optional data frame containing the variables named in 'fixed', 'random', 'correlation', 'weights', and 'subset'. By default the variables are taken from the environment from which 'lme' is called.

random: optionally, any of the following: (i) a one-sided formula of the form '~x1+...+xn | g1/.../gm', with 'x1+...+xn' specifying the model for the random effects and 'g1/.../gm' the grouping structure ('m' may be equal to 1, in which case no '/' is required). The random effects formula will be repeated for all levels of grouping, in the case of multiple levels of grouping; (ii) a list of one-sided formulas of the form '~x1+...+xn | g', with possibly different random effects models for each grouping level. The order of nesting will be assumed the same as the order of the elements in the list; (iii) a one-sided formula of the form '~x1+...+xn', or a 'pdMat' object with a formula (i.e. a non-'NULL' value for 'formula(object)'), or a list of such formulas or 'pdMat' objects. In this case, the grouping structure formula will be derived from the data used to fit the linear mixed-effects model, which should inherit from class 'groupedData'; (iv) a named list of formulas or 'pdMat' objects as in (iii), with the grouping factors as names. The order of nesting will be assumed the same as the order of the order of the elements in the list; (v) an 'reStruct' object. See the documentation on 'pdClasses' for a description of the available 'pdMat' classes. Defaults to a formula consisting of the right hand side of 'fixed'.

correlation: an optional 'corStruct' object describing the within-group correlation structure. See the documentation of 'corClasses' for a description of the available 'corStruct' classes. Defaults to 'NULL', corresponding to no within-group correlations.

weights: an optional 'varFunc' object or one-sided formula describing the within-group heteroscedasticity structure. If given as a formula, it is used as the argument to 'varFixed', corresponding to fixed variance weights. See the documentation on 'varClasses' for a description of the

MM=mixed.model.B(x,min(x)-0.5,max(x)+0.5,5,3,2)

X=MM[[1]]

Z=MM[[2]]

#Con polinomios truncados

MM=mixed.model.T(x,5,2)

X=MM[[1]]

Z=MM[[2]]

Una vez contruidas las matrices, hemos de darle a la funcion lme() la informacion necesariapara que ajuste la curva como el resultado de un modelo mixto:

n = length(y)

Id = factor(rep(1,length(y)))

#Que Id sea un vector de unos significa que no hay datos anidados

Z.block=list(list(Id=pdIdent(~Z-1)))

#pdIdent indica que la estructura de covarianza de la parte aleatoria

# es multiplo de la identidad

Z.block=unlist(Z.block,recursive=FALSE)

data.fr = groupedData( y ~ X[,-1] | Id,data = data.frame(y,X,Z))

#es necesario crear esta estructura ya que estamos trabajando con matrices,

#no con variables

fit = lme(y~X[,-1],data=data.fr,random=Z.block)

44

Page 46: Mar a Durb an Universidad Carlos III de Madrid

¿Que informacion podemos obtener de fit?:

σ2:

sigma.2 = fit$sigma^2

σ2u

sigma.2.alpha = sigma.2*exp(2*unlist(fit$modelStruct))

REML

REML = fit$logLik

β

beta.hat = fit$coeff$fixed

u

alpha.hat = unlist(fit$coeff$random)

f

f.hat=c(X%*%beta.hat+Z%*%alpha.hat[1:ncol(Z)])

#o

d = ncol(fit$fitted)

f.hat = fit$fitted[,d]

Intervalo de confianza para f

IC=Int.Conf(X,Z,f.hat,sigma.2,sigma.2.alpha)

El resultado es aparece en la Figura 1.

La funcion spm()

Para utilizar esta funcion es necesario cargar el paquete SemiPar que esta basado en ellibro Semiparametric Regression de Ruppert et al. (2003)).La funcion spm() es similar a la funcion gam(), con la ventaja de que el parametro desuavizado se puede especificar o elegir mediante REML. La base que utiliza por defecto, sonlos splines cubicos, sin embargo, es posible utilizar polinomios truncados, eligiendo el gradodel polinomio y/o los nodos.

library(SemiPar)

girl=read.table("girl.txt",header=TRUE)

y=girl$height

x=girl$age

fit = spm(y~f(x,basis="trunc.poly",degree=3))

El resultado de la funcion spm es una lista con tres componentes:

45

Page 47: Mar a Durb an Universidad Carlos III de Madrid

9 10 11 12 13 14 15

135

140

145

150

155

160

x

y

Figura 1: Curva estimada para la altura de una nina a distintas edades e intervalo deconfianza.

1. fit:que contiene la misma informacion que se obtiene de la funcion lme().

2. info:Contiene informacion sobre el modelo, las bases, los nodos, el grado del polinomio, etc.

3. aux:Contiene las matrices de covarianza de los efectos fijo y aleatorios ($cov.mat), la varian-za estimada de los efectos aleatorios, σ2

u ($random.var) y la residual, σ2 ($error.var);ası como los grados de libertad (aproximados) de cada componente ($cdf).

Se pueden encontrar mas detalles en Ngo and Wand (2004).

plot(fit,shade=FALSE,se.lwd=1,se.col=3)

points(x,y)

da lugar a la figura que aparece en la pagina siguiente.

Un inconveniente de esta funcion, es que permite dibujar los intervalos de confianza, perono da la opcion de obtener los valores numericos que constituyen esos intervalos de confianza.

46

Page 48: Mar a Durb an Universidad Carlos III de Madrid

9 10 11 12 13 14 15

135

140

145

150

155

160

165

x

La funcion gamm y gam

Para utilizar esta funcion es necesario cargar el paquete mgcv de Wood (2006a). Enrealidad, este paquete contiene dos funciones que permiten utilizar P-splines: gam y gamm,la diferencia entre las dos es que la segunda permite incluir efectos aleatorios, correlacion, etc.

La base que utiliza por defecto, son los thin plate regression splines, sin embargo, es po-sible utilizar otras bases como splines cubicos, o B-splines y se puede elegir el numero denodos y el orden de la penalizacion. Los argumentos principales de esta funcion son lossiguientes:

gamm(formula,random=NULL,correlation=NULL,family=gaussian())

gam(formula,method="",select="",family=gaussian())

Los dos primeros son similares a los de la funcion lme, aunque la formula permite especificarla parte no-parametrica del modelo de forma mas sencilla. Esta funcion permite incluirestructuras de correlacion en el modelo, ademas de distribuciones no Gaussianas.Para especificar los terminos de suavizado se utiliza la funcion s(), sus argumentos son:

k= Tamano de la base, nunca debe ser menor que el orden de la penalizacion.

fx= indica si estamos utilizando un spline de regresion con grados de libertad fijos(TRUE), o si estamos utilizando P-splines (FALSE)

bs= Tipo de base que estamos utilizando, tiene las siguientes opciones:

• cr: cubic regression splines

47

Page 49: Mar a Durb an Universidad Carlos III de Madrid

• cc: periodic splines

• tp: thin plate regression splines

• ps: P-splines con bases de B-splines

m= orden de la penalizacion by= permite multiplicar curvas por factores

El resultado de la funcion gamm tiene dos componentes: $lme y $gam, cada uno de elloscontiene los objetos propios de cada una de esas dos funciones.

library(mgcv)

girl=read.table("girl.txt",header=TRUE)

y=girl$height

x=girl$age

fit = gam(y~s(x,k=5,m=2)) # elige el parametro de suavizado con GCV

fit1 = gamm(y~s(x)) # elige el parametro de suavizado con REML

fit1$lme

?gamm

?gam

fit1$gam

fit1$gam$sp

[1] 0.001957235

fit$sp

[1] 0.0003579374

Utilizando las bases bsplines

fit2=gamm(y~s(x,bs="ps",m=2))

en este caso es imprescindible especificar el orden de la penalizacion m=2.

plot(x,y)

lines(x,fit$fitted,col=1)

lines(x,fit1$gam$fitted,col=2)

lines(x,fit2$gam$fitted,col=3)

48

Page 50: Mar a Durb an Universidad Carlos III de Madrid

9 10 11 12 13 14 15

135

140

145

150

155

160

x

y

GCVREML+tprsREML+ B−splines

La figura muestra como los tres ajustes son casi identicos.

En el ultimo capıtulo veremos como utilizar estas funciones segun el tipo de datos queestemos analizando.

49

Page 51: Mar a Durb an Universidad Carlos III de Madrid

Capıtulo 5

Aplicaciones

El objetivo de este capıtulo es ver como es posible incluir metodos de suavizado conP-splines a los modelos que se utilizan mas frecuentemente.

1. Modelos Aditivos

1.1. Ejemplo: Calidad del aire

En esta seccion vamos a utilizar datos sobre la relacion entre la calidad del aire y distintasvariables medidas en Nueva York entre Mayo y Septiembre de 1973. Las variable son:

Ozone: Media de ozono, en partes por millon

Temp: Temperatura maxima diaria en grados Fahrenheit

Wind: Velocidad media del viento, en millas por hora

Solar.R: Radiacion solar

y buscamos establecer la relacion entre las variables meteorologicas y la cantidad de ozonoen la atmosfera. Primero hacemos un grafico con todas las variables:

pairs(airquality[,1:4])

Aunque en el grafico vemos que hay relaciones que no son lineales, empezamos por ajustarun modelo lineal:

Ozome = β0 + β1Temp + Wind + Solar.R + ε

aire.lm<-lm(Ozone ~Temp+Wind+Solar.R, data=airquality)

summary(aire.lm)

oefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) -64.34208 23.05472 -2.791 0.00623 **

Temp 1.65209 0.25353 6.516 2.42e-09 ***

Wind -3.33359 0.65441 -5.094 1.52e-06 ***

Solar.R 0.05982 0.02319 2.580 0.01124 *

50

Page 52: Mar a Durb an Universidad Carlos III de Madrid

Ozone

0 100 250

60 80

050

100

010

025

0

Solar.R

Wind

510

1520

0 50 100

6080

5 10 15 20

Temp

Figura 1: Graficos de las variable del modelo dos a dos

---

Residual standard error: 21.18 on 107 degrees of freedom

(42 observations deleted due to missingness)

Multiple R-squared: 0.6059, Adjusted R-squared: 0.5948

F-statistic: 54.83 on 3 and 107 DF, p-value: < 2.2e-16

Hacemos un grafico de los resultados:

par(mfrow=c(1 3))

termplot(air.lm,se=T)

Hacemos graficos de residuos para comprobar las hipotesis del modelo:

par(mfrow=c(1,2))

plot(air.lm, which = 1:2)

La ausencia de normalidad es debida a que la variable Ozone no es simetrica (ver Figura 4)por lo que podemos aplicar alguna transformacion, por ejemplo el logaritmo:

par(mfrow=c(1,2))

hist(airquality$Ozone)

hist(log(airquality$Ozone))

Repetimos el modelo anterior con la variable transformada y hacemos de nuevo los graficosde residuos (Figura 5):

51

Page 53: Mar a Durb an Universidad Carlos III de Madrid

60 70 80 90

−40

−20

020

40

Temp

Partia

l for T

emp

5 10 15 20

−40

−20

020

40

Wind

Partia

l for W

ind

0 100 250

−40

−20

020

40

Solar.R

Partia

l for S

olar.R

Figura 2: Efectos parciales centrados y bandas de confianza al 95 %

−20 0 20 40 60 80 100

−50

050

100

Fitted values

Res

idua

ls

Residuals vs Fitted

117

6230

−2 −1 0 1 2

−2−1

01

23

45

Theoretical Quantiles

Sta

ndar

dize

d re

sidu

als

Normal Q−Q

117

6230

Figura 3: Graficos de residuos

aire.lm2<-lm(log(Ozone) ~Temp+Wind+Solar.R, data=airquality)

summary(aire.lm2)

Coefficients:

Estimate Std. Error t value Pr(>|t|)

52

Page 54: Mar a Durb an Universidad Carlos III de Madrid

Histogram of airquality$Ozone

airquality$Ozone

Freq

uenc

y

0 50 100 150

010

2030

Histogram of log(airquality$Ozone)

log(airquality$Ozone)Fr

eque

ncy

0 1 2 3 4 5

05

1015

20

Figura 4: Histogranma de la variable Ozone

(Intercept) -0.2621323 0.5535669 -0.474 0.636798

Temp 0.0491711 0.0060875 8.077 1.07e-12 ***

Wind -0.0615625 0.0157130 -3.918 0.000158 ***

Solar.R 0.0025152 0.0005567 4.518 1.62e-05 ***

---

Residual standard error: 0.5086 on 107 degrees of freedom

Multiple R-squared: 0.6644, Adjusted R-squared: 0.655

F-statistic: 70.62 on 3 and 107 DF, p-value: < 2.2e-16

par(mfrow=c(1,2))

plot(aire.lm2, which = 1:2)

Vemos que a el la normalidad se satisface pero que puede que haya heterocedasticidad, una delas posibles causas es que la verdadera reclacion entre la variable respuesta y las covariablesno sea lineal, por lo que vamos a ajustar un modelo GAM. Em pezamos por ajustar unaunica variable:

library(mgcv)

aire.gam1=gam(log(Ozone)~s(Wind,bs="ps",m=2,k=10),method="REML",select=TRUE,

data=airquality)

summary(aire.gam1)

Parametric coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 3.4185 0.0655 52.19 <2e-16 ***

---

53

Page 55: Mar a Durb an Universidad Carlos III de Madrid

1.5 2.0 2.5 3.0 3.5 4.0 4.5

−2−1

01

Fitted values

Res

idua

ls

Residuals vs Fitted

21

24

117

−2 −1 0 1 2

−4−3

−2−1

01

23

Theoretical QuantilesS

tand

ardi

zed

resi

dual

s

Normal Q−Q

21

24

117

Figura 5: Grafico de residuos con la variable transformada

Approximate significance of smooth terms:

edf Ref.df F p-value

s(Wind) 2.565 9 6.453 2.76e-12 ***

---

R-sq.(adj) = 0.336 Deviance explained = 35%

REML score = 128.69 Scale est. = 0.49769 n = 116

plot(aire.gam1,residuals=TRUE)

Vemos que el termino suave es signifcativo (aunque el p-valor es una aproximacion, esta muylejor del valor crıtico), y los grados de libertad asociados son 2.5. La Figura 6 muestra elgrafico de la relacion entre el nivel de ozono y la velocidad del viento, junto con las bandas deconfianza (mas anchas en los extremos al haber menos datos. El aumento de la velocidad delviento disminuye los niveles de ozono, y esta dispinucion es mas acusada hasta las 10mph,reduciendose este efecto a partir de ese valor. Los puntos del grafico son los residuos parciales(en este caso quitando la ordenada en el origen).

La funcion gam.check permite hacer graficos de residuos (qq-plot, residuos frente alpredictor lineal, histograma de residuos y graficos de valores ajustados frente a residuos, verFigura 7).

par(mfrow=c(2,2))

gam.check(aire.gam1)

En el modelo anterior, he usado 10 nodos, ya que el numero de valores unicos de lavariable Wind es 31, por lo que 10 son mas que suficientes, si no estamos seguros de si el

54

Page 56: Mar a Durb an Universidad Carlos III de Madrid

5 10 15 20

−3−2

−10

12

Wind

s(W

ind,

2.56

)

Figura 6: Efecto estimado de Wind sobre log(Ozone)

−2 −1 0 1 2

−3−1

1

theoretical quantiles

devi

ance

resi

dual

s

3.0 3.5 4.0 4.5

−3−1

1

Resids vs. linear pred.

linear predictor

resi

dual

s

Histogram of residuals

Residuals

Freq

uenc

y

−3 −2 −1 0 1

010

2030

3.0 3.5 4.0 4.5

01

23

45

Response vs. Fitted Values

Fitted Values

Res

pons

e

Figura 7: Graficos de residuos

numero de nodos utilizados es suficiente, podemos hacer una comprobacion sencilla utilizandolos residuos:

residuos=residuals(aire.gam1)

55

Page 57: Mar a Durb an Universidad Carlos III de Madrid

residuos.gam=gam(residuos~s(Wind, k=20),method="REML", select=TRUE,

data=aire.gam1$model)

summary(residuos.gam)

Parametric coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 3.428e-16 6.477e-02 0 1

Approximate significance of smooth terms:

edf Ref.df F p-value

s(Wind) 8.516e-05 9 0 0.894

R-sq.(adj) = -6.99e-07 Deviance explained = 4.16e-06%

REML score = 124.14 Scale est. = 0.48659 n = 116

par(mfrow=c(1,1))

plot(residuos.gam)

Lo que estamos haciendo es ver si queda alguna relacion no explicada entre las dos varia-bles, para eso ajustamos un modelo GAM a los residuos y aumentamos el numero de nodos.Vemos que no hay relacion entre los residuos y el viento, por lo que podemos confirmarque el modelo original era correcto. La Figura 8 nos muestra como efectivamente no exisiterelaccion entre los residuos y el viento.

5 10 15 20

−0.0

020.

000

0.00

2

Wind

s(W

ind,

0)

Figura 8: Grafico del efecto del viento sobre los residuos del modelo aire.gam1

56

Page 58: Mar a Durb an Universidad Carlos III de Madrid

En algunas situaciones nos interesara predecir el valor ajustado por el modelo para nuevosvalores del viento, para poder obtenerlo utilizados la funcion predict.

aire.pred<-data.frame(Wind=seq(min(airquality$Wind),max(airquality$Wind),

length.out=200))

p<-predict(aire.gam1, newdata=aire.pred, type="response", se.fit=TRUE)

plot(aire.pred$Wind,p$fit, xlab="Viento(mph)",ylab="log(Ozono)(ppb)",

type="l",ylim=c(0,6))

lines(aire.pred$Wind,p$fit + 1.96*p$se.fit, lty=2)

lines(aire.pred$Wind,p$fit - 1.96*p$se.fit, lty=2)

5 10 15 20

01

23

45

6

Viento(mph)

log(

Ozo

no)(

ppb)

Figura 9: Valores predicho de log(Ozone) y bandas de confianza

A continuacion anadimos la variable Temp:

aire.gam2=gam(log(Ozone)~s(Wind,bs="ps",m=2,k=10)+s(Temp,bs="ps",m=2,k=10),

method="REML",select=TRUE,data=airquality)

summary(aire.gam2)

Parametric coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 3.41852 0.05134 66.59 <2e-16 ***

---

Approximate significance of smooth terms:

edf Ref.df F p-value

s(Wind) 2.054 9 1.451 0.000633 ***

s(Temp) 1.312 9 8.839 < 2e-16 ***

---

57

Page 59: Mar a Durb an Universidad Carlos III de Madrid

R-sq.(adj) = 0.592 Deviance explained = 60.4%

REML score = 101.88 Scale est. = 0.30574 n = 116

par(mfrow=c(1,2))

plot(aire.gam2,residuals=TRUE)

El efecto de Temp es significativo. La Figura 10 muestra el efecto estimado de las dos variables.

Para comparar los modelos anteriores utilizamos es estadıstico F en la funcion anova():

5 10 15 20

−3−2

−10

1

Wind

s(W

ind,

2.05

)

60 70 80 90

−3−2

−10

1

Temp

s(Te

mp,

1.31

)

Figura 10: efecto estimado de la velocidad del viento y la temperatura junto con los residuosparciales

anova(aire.gam1,aire.gam2,test="F")

Model 1: log(Ozone) ~ s(Wind, bs = "ps", m = 2, k = 10)

Model 2: log(Ozone) ~ s(Wind, bs = "ps", m = 2, k = 10) + s(Temp, bs = "ps",

m = 2, k = 10)

Resid. Df Resid. Dev Df Deviance F Pr(>F)

1 112.44 55.958

2 111.63 34.131 0.80053 21.827 89.181 7.231e-14 ***

AIC(aire.gam1)

253.7601

AIC(aire.gam2)

198.0106

A la vista del resultado, podemos concluir que el modelo con las dos variables es mejor. Es-trictamente, los modelos anteriores no estan aidados, ya que los grados de libretad de Wind

58

Page 60: Mar a Durb an Universidad Carlos III de Madrid

son distintos dependiendo de si Temp esta presente o no, por lo que podemos usar el AICpara confirmar los resultados.

Los grados de libertad de Temp estan proximos a 1, ¿como comprobarıas si el efecto eslineal o no?.

Por ultimo, introducimos la variable Solar.R. Pero esta variable tiene valores faltantes,de modo que el modelo que incluye esta variable no esta anidado en el modelo aire.gam2,ya que ambos no se estimarıan sobre el mismo conjunto de datos. Por lo que vamos a eliminarlos datos faltantes y re-ajustamos el modelo aire.gam2 antes de introducir Solar.R:

new.airquality=na.omit(airquality)

aire.gam22=gam(log(Ozone)~s(Wind,bs="ps",m=2,k=10)+s(Temp,bs="ps",m=2,k=10),

method="REML",select=TRUE,data=new.airquality)

aire.gam3=gam(log(Ozone)~s(Wind,bs="ps",m=2,k=10)+s(Temp,bs="ps",m=2,k=10)+

s(Solar.R,bs="ps",m=2,k=20),method="REML",select=TRUE,data=new.airquality)

summary(aire.gam3)

Parametric coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 3.41593 0.04586 74.49 <2e-16 ***

---

Approximate significance of smooth terms:

edf Ref.df F p-value

s(Wind) 2.318 9 2.255 2.44e-05 ***

s(Temp) 1.852 9 6.128 1.12e-12 ***

s(Solar.R) 2.145 19 1.397 1.23e-06 ***

---

R-sq.(adj) = 0.689 Deviance explained = 70.7%

REML score = 86.106 Scale est. = 0.23342 n = 111

par(mfrow=c(2,2))

plot(aire.gam3,residuals=TRUE)

anova(aire.gam22,aire.gam3,test="F")

Resid. Df Resid. Dev Df Deviance F Pr(>F)

1 106.82 31.186

2 103.69 24.202 3.1389 6.9841 9.5321 9.284e-06 ***

AIC(aire.gam22)

184.4354

AIC(aire.gam3)

162.5712

¿Que podemos concluir?

59

Page 61: Mar a Durb an Universidad Carlos III de Madrid

Figura 11: Grafico del efecto del viento, la temperatura y la radiacion solar junto con losresiduos parciales

Ejemplo: simulacion para seleccion de variables

Vamos a simular unos datos (archivo simulacion.R), para ver como es posible identificarcuando una funcion suave no es necesaria:

set.seed(666)

data=gamSim(1,n=400,dist="normal")

fit=gam(y~s(x0)+s(x1)+s(x2)+s(x3),data=data,method="REML",select=TRUE)

summary(fit)

Approximate significance of smooth terms:

edf Ref.df F p-value

s(x0) 2.5881064 9 2.633 5.67e-06 ***

s(x1) 2.4364679 9 39.163 < 2e-16 ***

s(x2) 7.7346613 9 87.971 < 2e-16 ***

s(x3) 0.0002624 9 0.000 1

par(mfrow=c(2,2))

plot(fit,residuals=TRUE)

Los grados de libertad correspondientes a la variable x3 son casi 0, y el p-valor 1. En laFigura 12, se observa claramente como el efecto de esta variable es nulo.

60

Page 62: Mar a Durb an Universidad Carlos III de Madrid

0.0 0.4 0.8

−50

5

x0

s(x0,2

.59)

0.0 0.4 0.8

−50

5

x1

s(x1,2

.44)

0.0 0.2 0.4 0.6 0.8 1.0

−50

5

x2

s(x2,7

.73)

0.0 0.4 0.8

−50

5

x3s(x

3,0)

Figura 12: Efecto estimado de las variables

2. Modelos Semiparametricos

Cuando en un modelo de regresion hay componentes parametricos y no-parametricos,tenemos un modelo semiparametrico,

y = β0 + β1x1 + . . .+ βj−1xj−1 + f(xj) + ε

La forma de ajustar el modelo es exactamente igual a la que hemos visto anteriormente, sim-plemente construımos la matriz X de forma que incluya todas las variables independientes.Sin embargo, hay un caso que merece especial interes y es cuando en la parte parametricaincluımos un factor con dos o mas niveles. Al igual que en el caso de regresion lineal nospodemos plantear si queremos ajustar dos rectas paralelas (modelo aditivo) o no paralelas(modelo con interaccion). Ademas, nos podemos preguntar si la cantidad de suavizado es lamisma en el caso de que las curvas no sean paralelas.

Para ilustrar este caso utilizamos los datos que estan en el fichero onions.txt. Los da-tos se recogieron en un estudio cuyo objetivo era establecer la relacion entre la produccionde una planta de cebolla y la densidad de plantas cultivadas. Hay tres variables:

Densidad (plantas/m2)

Produccion (gramos/planta)

Localidad

Los datos fueron recogidos por I.S.Rogers (South Australian Dept. of Agriculture & Fishe-ries).

61

Page 63: Mar a Durb an Universidad Carlos III de Madrid

50 100 150

3.54.0

4.55.0

5.5

Densidad

log(P

roduc

cion)

Figura 13: Grafico de los datos sobre produccion de cebollas en dos localidades, en azulcorresponden a Virginia y en verde a Purnong Landing.

La Figura 13 muestra claramente que las cebollas cultivadas en Purnong Landing produ-cen mas que las cultivadas en Virginia, es interesante ver si la relacion es lineal y en caso deno serlo, si las curvas son paralelas o no. El modelo lineal serıa el siguiente:

log(Produccioni) = β0 + β1Localidadi + β2Densidadi + εi

donde

Localidadi =

0 si el i-esimo dato fue recogido en Purnong Landing1 si el i-esimo dato fue recogido en Virginia

La Figura 11 muestra cierta curvatura en cada una de las localidades, lo que sugerirıa elmodelo:

log(Produccioni) = β1Localidadi + f(Densidadi) + εi

Para ajustar este modelo el codigo serıa:

L=factor(Localidad)

fit1=gam(log(Produccion)~L+s(Densidad,k=20, bs="ps",m=2),method="REML", select=TRUE)

summary(fit1)

Parametric coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 4.85011 0.01688 287.39 <2e-16 ***

62

Page 64: Mar a Durb an Universidad Carlos III de Madrid

L1 -0.33284 0.02409 -13.82 <2e-16 ***

---

Approximate significance of smooth terms:

edf Ref.df F p-value

s(Densidad) 4.568 19 72.76 <2e-16 ***

---

R-sq.(adj) = 0.946 Deviance explained = 94.9%

REML score = -54.242 Scale est. = 0.011737 n = 84

Preguntas:

1. ¿Cuanto se ha reducido el error estandar de la variable Localidad ?

2. ¿Como harıas el grafico de las dos curvas que aparecen en la Figura 14?

50 100 150

3.54.0

4.55.0

5.5

Densidad

log(P

roduc

cion)

Figura 14: Grafico de curvas ajustadas para las dos localidades.

En este caso ambas curvas son paralelas, pero no tenemos por que asumir este modelo; aligual que en el caso de regresion lineal podemos plantearnos la interaccion entre Localidad

y Densidad, es decir, no tenemos por que suponer que el descenso de la produccion cuandoaumenta la densidad es el mismo en las dos localidades. En vez de ajustar un modelo aditivo,podemos ajustar un modelo con interaccion:

log(Produccioni) = f(Densidadi)L(i) + εi

donde

L(i) =

0 si el i-esimo dato fue recogido en Purnong Landing1 si el i-esimo dato fue recogido en Virginia

63

Page 65: Mar a Durb an Universidad Carlos III de Madrid

fit2=gam(log(Produccion)~L+s(Densidad,k=20,bs="ps",m=2,by=L),method="REML",

select=TRUE)

summary(fit2)

Parametric coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 4.84407 0.01603 302.12 <2e-16 ***

L1 -0.33003 0.02271 -14.54 <2e-16 ***

---

Approximate significance of smooth terms:

edf Ref.df F p-value

s(Densidad):L0 3.097 18 37.62 <2e-16 ***

s(Densidad):L1 4.728 17 52.10 <2e-16 ***

---

R-sq.(adj) = 0.952 Deviance explained = 95.7%

REML score = -53.616 Scale est. = 0.01045 n = 84

fit2$gam$sp

Pregunta:

1. ¿Que modelo es mejor de los dos?

50 100 150

3.54.0

4.55.0

5.5

Densidad

log(P

roduc

cion)

Figura 15: Grafico de curvas ajustadas para las dos localidades utilizando interaccion en elmodelo (la lınea discontinua corresponde a un modelo sin interaccion)

64

Page 66: Mar a Durb an Universidad Carlos III de Madrid

3. P-splines para datos longitudinales

Los datos longitudinales son frecuentes en aplicaciones medicas y biologicas. En general,este tipo de datos corresponden a medidas tomadas a varios individuos en distintos instantesde tiempo, y se caracterizan por la dependencia que hay entre las medidas repetidas hechas aun mismo individuo. Los modelos mixtos mas sencillos para datos longitudinales representana cada individuo como la suma de la media de la poblacion (que varıa con el tiempo) y quese modela como un efecto fijo, y un polinomio de grado bajo (generalmente una lınea) en laque los coeficientes son aleatorios y sirve para modelar la variabilidad individual (Laird andWare, 1982). Sin embargo, estos modelos pueden no ser apropiados en algunas situaciones,por ejemplo, cuando las trayectorias individuales sean una funcion no-lineal del tiempo.

Para ilustrar esta metodologıa vamos a utilizar los datos sobre el estudio de distintas te-rapias para la leucemia infantil de los que hablamos en la seccion 3. Estos datos han sidomodificados para preservar la confidencialidad de los mismos y se encuentran en el ficheroleucemia.txt. El fichero tiene 4 columnas:

caso: Indica a que nina corresponden los datos

tratamiento: Toma valores 1, 2 o 3 segun el tipo de tratamiento que reciben.

altura: Altura en centımetros

edad: Edad en anos.

En este ejemplo, tomamos 197 ninas que fueron diagnosticadas de leucemia linfoblasticaaguda entre los 2 y los 9 anos. La altura de esta ninas se midio en diferentes momentos y entotal se recogieron 1988 observaiones. El numero de observaciones por nina varıa entre 1 y 21.

La Figura 16 muestra la altura de las ninas en funcion de la edad, podemos ver claramentecomo cuando llega la pubertad, la relacion deja de ser lineal. El codigo de los modelos quevamos a ajustar se puede encontrar en los ficheros longitudinal.R y longitudinal2.R.

3.1. Modelo con ordenada en el origen aleatoria

Este es el modelo mas sencillo que podemos proponer para estos datos:

yij = β0 + β1xij +L∑l=2

γltril +Ui + εij Ui ∼ N(0, σ2U) εij ∼ N(0, σε)

1 ≤ i ≤ 1971 ≤ j ≤ ni

(5.1)

donde

tril =

1 si la nina i-esima recibe el tratamiento l0 en otro caso

Este modelo lo que supone es que todas las ninas tiene una tasa de crecimiento lineal e igualpara todas, y la variabilidad entre las ninas se tiene en cuenta mediante un efecto aleatorioUi. En forma matricial:

y = Xβ +Zu+ ε

65

Page 67: Mar a Durb an Universidad Carlos III de Madrid

age (years)

heig

ht (c

m)

80

100

120

140

160

5 10 15 20

hyperfractionated radiation

NO radiation

5 10 15 20

5 10 15 20

standard radiation

Figura 16: Altura de las ninas a lo largo del tiempo para cada uno de los tres tratamientos.

donde

X =

X1 T 1...Xm Tm

, X i =

1 xi1...

...1 xini

, β =

β0β1γ1γ2γ3

, Z =

11 0 . . . 00 12 . . . 0...

.... . .

...0 0 . . . 1m

1i =

11...1

ni×1

y T i la matriz que indica si la nina i-esima recibe el tratamiento 1, 2 o 3.

El codigo serıa:

library(nlme)

leucemia=read.table("leucemia.txt",header=TRUE)

attach(leucemia)

model1 = lme(altura~Xfactor(tratamiento)+edad,random=list(caso=pdIdent(~1)))

La Figura 17 muestra como el modelo (5.1) no explica de forma adecuada la trayectoriaindividual de las ninas.

66

Page 68: Mar a Durb an Universidad Carlos III de Madrid

5 10 15

8010

012

014

016

018

0

edad

altu

ra

Figura 17: Rectas ajustadas para las ninas que reciben el radiacion hiperfraccionada.

3.2. Modelo aditivo mixto

Una extension natural del modelo anterior serıa:

yij =L∑l=2

γltril + f(xij) + Ui + εij Ui ∼ N(0, σ2U) εij ∼ N(0, σε) (5.2)

donde f es una funcion suave que refleja la tendencia de crecimiento de las ninas. Estimamosf mediante P-splines y utilizamos su representacion como modelos mixtos para unificar laestructura del modelo, ahora

Z =

Z1 11 0 . . . 0Z2 0 12 . . . 0...

......

. . ....

Zm...

... . . . 1m

, Zi = definida en la pag. 13,

u = [u1, . . . , uK , U1, . . . , Um] and G = Cov(u) =

[σ2uI 00 σ2

UI

].

67

Page 69: Mar a Durb an Universidad Carlos III de Madrid

En vez de lıneas, ajustamos curvas, pero todas son similares, solo se diferencian en la orde-nada en el origen.

En R:

Utilizando la funcion gamm():

library(mgcv)

fit2.gamm=gamm(altura~factor(tratamiento)+s(edad,k=40,bs="ps",m=2),

random=list(caso=pdIdent(~1)))

Utilizando la funcion lme():

library(splines)

Id=factor(rep(1,length(altura)))

X=model.matrix(altura~factor(tratamiento)+edad)

#Con B-splines

source("MMbasis.R")

MM=mixed.model.B(edad,min(edad)-0.5,max(edad)+0.5,40,3,2)

Z=MM[[2]]

Z.block2=list(list(Id=pdIdent(~Z-1)),list(caso=pdIdent(~1)))

Z.block2=unlist(Z.block2,recursive=FALSE)

data.fr = groupedData( altura ~ X[,-1] | Id,data = data.frame( altura,X,Z,caso))

model2 = lme(altura~X[,-1],data=data.fr,random=Z.block2)

La Figura 18 muestra como el modelo (5.2) es demasiado simplista y que asumir que lascurvas sean paralelas y con la misma forma no permite explicar las trayectorias individualesde forma correcta.

3.3. Modelo con diferencias individuales lineales

Es una extension simple del modelo anterior en la cual se asume que las diferencia in-dividuales vienen dadas no solo mediante la ordenada en el origen, sino tambien por lapendiente:

yij =L∑l=2

γltril + f(xij) + ai1 + ai2xij + εij εij ∼ N(0, σε) (ai1, ai2)T ∼ N(0,Σ) (5.3)

que en notacion matricial pasa a ser

Y = Xβ +Zu+ ε,

68

Page 70: Mar a Durb an Universidad Carlos III de Madrid

5 10 15

8010

012

014

016

0

edad

altu

ra

Figura 18: Curvas ajustadas para las ninas que reciben el radiacion convencional.

Z =

Z1 X1 0 . . . 0Z2 0 X2 . . . 0...

......

. . ....

Zm 0 0 . . . Xm

, u = [u1, . . . , uK , a11, a12, . . . , am1, am2]T ,

G = Cov(u) =

[σ2uI 00 blockdiagonal

1≤i≤mΣ

].

En R:

Utilizando la funcion gamm():

fit3.gamm=gamm(altura~factor(tratamiento)+s(edad,k=40,bs="ps",m=2),

random=list(caso=pdSymm(~edad)))

Utilizando la funcion lme():

69

Page 71: Mar a Durb an Universidad Carlos III de Madrid

5 10 15

8010

012

014

016

0

edad

altur

a

Figura 19: Curvas ajustadas para las ninas que reciben el radiacion convencional, la lıneasolida corresponde al modelo con pendiente aleatoria.

X=model.matrix(altura~factor(tratamiento)+edad)

Z.block3=list(list(Id=pdIdent(~Z-1)),list(caso=pdSymm(~edad)))

Z.block3=unlist(Z.block3,recursive=FALSE)

data.fr = groupedData( altura ~ X[,-1]|Id,data =data.frame(altura,X,Z,caso,edad))

model3 = lme(altura~X[,-1],data=data.fr,random=Z.block3)

La Figura 19 muestra como el modelo (5.3) permite que las curvas no solo se muevan endireccion vertical, sino que tambien oscilen, aun ası es posible relajar aun mas el modelo.

3.4. Interaccion de curva por factor

Uno de los objetivos del estudio llevado a cabo con las ninas que padecıan leucemia eracomparar los efectos a largo plazo de las tres terapias, de modo que serıa interesante ajustaruna curva distinta para cada tratamiento. Para hacerlo utilizamos una interaccion entre un

70

Page 72: Mar a Durb an Universidad Carlos III de Madrid

factor y un predictor contınuo, de modo que el modelo (5.3) se puede extender a:

yij = fzi(xij) + ai1 + ai2xij + εij

yij = β0 + β1xij + Ziuk∑L

l=2 tril(γ0l + γ1lxij) +∑L

l=2 trilZiwlk + ai1 + ai2xij + εij

wlk ∼ N(0, σ2wl), (ai1, ai2)

T ∼ N(0,Σ) εij ∼ N(0, σ2ε),

(5.4)

donde tril = 1 si tri = l y 0 en otro caso.En un modelo en el que aparecen factores, es necesario imponer alguna restriccion paraasegurar que el modelo es identificables, en este caso, la restriccion que imponemos es: γ01 =γ11 = 0, lo que significa que β0 +β1xij +Ziuk es la curva ajustada para l = 1, y γ0l +γ1lxij +Ziw

lk es la diferencia en las curvas ajustadas entre la terapia 2 (radiacion convencional) y 3

(radiacion hiperfraccionada) y la terapia 1 (no radiacion). En R:

Utilizando la funcion gamm():

fit4.gamm=gamm(altura~factor(tratamiento)+s(edad,k=40,bs="ps",m=2,by=factor(tratamiento)),random=list(caso=pdSymm(~edad)))

summary(fit4.gamm$gam)Parametric coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) 125.8952 0.4606 273.357 < 2e-16 ***

factor(tratamiento)2 -3.6383 1.0508 -3.463 0.000547 ***

factor(tratamiento)3 -2.2342 1.0605 -2.107 0.035272 *

---

Approximate significance of smooth terms:

edf Ref.df F p-value

s(edad):factor(tratamiento)1 11.589 11.589 954.8 <2e-16 ***

s(edad):factor(tratamiento)2 8.986 8.986 250.8 <2e-16 ***

s(edad):factor(tratamiento)3 9.251 9.251 268.3 <2e-16 ***

---

R-sq.(adj) = 0.918 Scale est. = 3.41 n = 1988

Utilizando la funcion lme():

X=model.matrix(altura~factor(tratamiento)*edad)

tratamiento=factor(tratamiento)

Z.block4=list(list(tratamiento=pdIdent(~Z-1)),list(caso=pdSymm(~edad))

Z.block4=unlist(Z.block4,recursive=FALSE)

data.fr = groupedData(altura ~ X[,-1]|Id,data=data.frame(altura,X,Z,caso,edad))

model4 = lme(altura~X[,-1],data=data.fr,random=Z.block4)

71

Page 73: Mar a Durb an Universidad Carlos III de Madrid

5 10 15

100

120

140

160

edad

altu

ra

tratamiento 1tratamiento 2tratamiento 3

Figura 20: Curvas ajustadas para los distintos tratamientos

3.5. Curvas especıficas para cada individuo

Los modelos mas flexibles son aquellos que permiten que las diferencias especıficas indi-viduales sean una funcion no-parametrica (ver por ejemplo, Ruppert et al. (2003)). Esto essencillo de hacer mediante los P-splines:

yij =L∑l=2

γltril + f(xij) + gi(xij) + εij εij ∼ N(0, σε) (5.5)

g(xij) = ai1 + ai2xij + Zivk (ai1, ai2)T ∼ N(0,Σ) vk ∼ N(0, σ2

v)

Cada curva individual gi() tiene dos componentes: uno lineal y otro no-parametrico, peroambos componentes son aleatorios, a diferencia de lo que hacen otros autores como Brumbackand Rice (1998), este nuevo enfoque soluciona los problemas computacionales a los que dabalugar el hecho de tener que estimar 2m parametros para la parte lineal.Aunque el modelo (5.5) es complejo, se puede describir de forma sencilla en el contexto de

72

Page 74: Mar a Durb an Universidad Carlos III de Madrid

los modelos mixtos:

Y = Xβ +Zu+ ε with

Z =

Z1 X1 0 . . . 0 Z1 0 . . . 0Z2 0 X2 . . . 0 0 Z2 . . . 0...

......

. . ....

......

. . ....

Zm 0 0 . . . Xm 0 0 . . . Zm

,u = [u1, . . . , uK , a11, a12, . . . , am1, am2, v1, . . . , vK ]′ ,

G = Cov(u) =

σ2uI 0 00 blockdiagonal

1≤i≤mΣ

0 0 σ2vI

.En este caso serıa muy complejo el uso de la funcion gamm(), ya que tendrıamos que definir197 variables (tantas como ninas) para poder obtener una curva individual para cada nina,sin embargo, esto es bastante sencillo con la funcion lme():

MM.caso=mixed.model.B(edad,min(edad)-0.5,max(edad)+0.5,10,3,2)

tratamiento=factor(tratamiento)

Z.caso=MM.caso[[2]]

Z.block5=list(list(tratamiento=pdIdent(~Z-1)),list(caso=pdSymm(~edad)),

list(caso=pdIdent(~Z.caso-1)))

Z.block5=unlist(Z.block5,recursive=FALSE)

data.fr=groupedData(altura~X[,-1]|Id,data = data.frame(altura,X,Z,Z.caso,caso,edad))

model5=lme(altura~X[,-1],data=data.fr,random=Z.block5)

Comparacion de modelos

Anteriormente, vimos que en el contexto de los modelos mixtos, el metodo estandar parala estimacion de los parametros de la varianza era REML. Pero ademas de ser capaces deestimar los parametros, nos va a interesar contrastar si necesitamos un modelo parametricoo no. Realizar este tipo de contrastes no es inmediato. Por ejemplo, en el modelo (5.2),podemos estar interesados en saber si la funcion que describe la media de la poblacion deninas es una lınea o tiene algun grado de no-linealidad. Esto serıa equivalente a contrastar:

H0 : σ2u = 0 vs. H1 : σ2

u > 0.

El primer problema al que nos enfrentamos es que el parametro de interes esta en la fronteradel espacio de parametros, [0,∞), por lo que el test de la razon de verosimilitud

RLRT = supH1

REL(β, σ2ε , σ

2U , σ

2u)− sup

H0

REL(β, σ2ε , σ

2U , σ

2u) (5.6)

no se puede comparar con una χ21. Self and Liang (1987) y Stram and Lee (1994) vieron

que si y se puede particionar en subvectores independientes, y el numero de subvectores

73

Page 75: Mar a Durb an Universidad Carlos III de Madrid

5 10 15

Edad

100

120

140

160

Altu

ra (

en c

m)

terapia 1terapia 2terapia 3

5 10 15

Edad

-20

-15

-10

-50

5

Dife

renc

ia

terapia 3 vs 1terapia 2 vs 1

Figura 21: Curvas estimadas para las medias poblacionales (izquierda) y curvas de contrastecon intervalos de confianza (derecha)

tiende a infinito, (5.6) se distribuye asintoticamente como 12χ2q + 1

2χ2q+1, donde q es el numero

de efectos bajo la hipotesis nula. Sin embargo, esta suposicion no es cierta en este tipo demodelos semiparametricos y en algunos casos esta aproximacion puede no ser buena. Crai-niceanu et al. (2003b) (Crainiceanu et al. (2002)). Crainiceanu et al. (2003b) derivo el casoen el que se contrasta una regresion polinomica frente a una alternativa modelada medianteP-splines con un unico parametro para la varianza, y Crainiceanu et al. (2003a) estudio elcaso en el que hay varios componentes de la varianza. Estos autores tambien sugieren el usode simulaciones para determinar la distribucion del estadıstico del test bajo la hipotesis nula.La idea es la siguiente: se estiman los parametros del modelo bajo la hipotesis nula, entoncesse simula la distribucion del test de la razon de verosimilitud bajo la hipotesis nula para esosparametros. Crainiceanu et al. (2003a) da un metodo rapido para las simulaciones en algunoscasos, sin embargo, la complejidad de estos algoritmos aumenta linealmente con el numero deindividuos y con la complejidad del modelo, lo que hace que sea computacionalmente inviable.

Vamos a justar dos modelos anidados con 5 y 6 parametros de la varianza a los datos

74

Page 76: Mar a Durb an Universidad Carlos III de Madrid

de leucemia, son los modelos (5.3) y (5.5) pero incluyendo interaccion entre curva y factor:

yij = fzi(xij) + ai1 + ai2xij + εij,

yij = fzi(xij) + gi(xij) + εij,

donce yij es la altura de la i-esima nina a la edad j, para i = 1, . . . , 197 y j entre 1 y21, f1 es la curva media del grupo de ninas que recibieron terapia intracraal sin radiacion,f2 para las ninas que recibieron radiacion convencional y f3 para ninas que recibieron ra-diacion hiperfraccionada, ai1 y ai2 las ordenadas en el origen y las pendientes aleatorias, ygi(xij) es la desviacion especıfica de la i-esima nina con respecto a la curva media de su grupo.

Nuestro interes en el analisis de estos datos son los efectos de los tratamientos en la al-tura a lo largo del tiempo y las respuestas individuales al tratamiento.La Figura 21 muestra las curvas estimadas para la media poblacional de los tres grupos. Sepuede apreciar que todos los grupos siguen el mismo patron, pero la ninas que no recibieronradiacion (tratamiento 1) son mas altas que las de los otros dos grupos. En particular, estegrupo es significativamente mas alto que los demas cuando las ninas llegan a la adolescencia.Para comparar las tres curvas, reajustamos el modelo con una sola curva para la media; lahipotesis nula serıa:

H0 : γjl = 0 j = 0, 1 l = 1, 2, 3 and σ2w = 0

para γjl y σ2w definidas en (5.5). Comparamos −2 log(RLRT)=34.62 con el percentil 90 de

12χ22 + 1

2χ23, 5.528. Los resultados son claramente significativos, lo que indica que la altura

media de la ninas se ve afectada por la terapia recibida.El panel derecho de la Figura 21 muestra f2(xij) − f1(xij) y f3(xij) − f1(xij) e indica quela altura de las ninas que reciben radiacion convencional (terapia 2) es menor, a cualquieredad, que la de la ninas que no reciben radiacion (terapia 1).

Para contrastar si la respuesta individual a las terapias es lineal, compararemos los mo-delos :

yij = fzi(xij) + ai1 + ai2xij + εij

yij = fzi(xij) + gi(xij) + εij

lo que equivale aH0 : σ2

v = 0 vs. H1 : σ2v > 0.

De nuevo, serıa preferible utilizar simulaciones , sin embargo, dada la complejidad del mo-delo comparamos el valor de −2 log(RLRT)=453.004, en este caso con el percentil 90 de12χ20 + 1

2χ21, 1.642. Los resultados indican claramente que la desviacion de cada nina respecto

de la media de la poblacion necesita ser explicada de forma no-parametrica.

La Figura 22 muestra los efectos aleatorios estimados correspondientes a las curvas indi-viduales del modelo (5.5), donde se aprecia que los efectos para algunas ninas son claramenteno-lineales.

75

Page 77: Mar a Durb an Universidad Carlos III de Madrid

5 10 15

−20

−10

010

20

edad

Efec

tos al

eator

ios

Figura 22: Efectos aleatorios estimados para cada nina.

La Figura 23 muestra como las curvas medias de las terapias no representan de forma ade-cuada la altura individual de las ninas, mostrando la perdida de informacion que tendrıamossobre las trayectorias individuales si no hubieramos incluido las curvas individuales en elmodelo.

Otra posibilidad es utilizar la funcion anova, aunque no debemos tener en cuenta el p-valorya que el test es aproximado. Por ejemplo:

anova(model4,model5)

esta funcion nos da tambien el valor del AIC o BIC que podemos utilizar para elegir elmodelo.

4. Datos correlados

En esta seccion vamos a utilizar los datos que aparecen en Pandit and Wu (1983) y queestan en el fichero madera.txt, corresponden a 320 medidas tomadas en la superficie de unbloque de madera, las medidas corresponden a la profundidad de las muescas que aparecenen la madera cuando se pule con una piedra circular. La Figura 13 muestra como cambia eltamano de la muesca con relacion al radio de la piedra.

76

Page 78: Mar a Durb an Universidad Carlos III de Madrid

5 10 15

Edad

100

120

140

160

Altu

ra (

en c

m)

5 10 15

Edad

100

120

140

160

Altu

ra (

en c

m)

5 10 15

Edad

100

120

140

160

Altu

ra (

en c

m)

5 10 15

Edad

100

120

140

160

Altu

ra (

en c

m)

5 10 15

Edad

100

120

140

160

Altu

ra (

en c

m)

5 10 15

Edad

100

120

140

160

Altu

ra (

en c

m)

Figura 23: Graficos de curvas individuales de 6 ninas (lınea continua) con I.C. al 95 % juntocon la curva media del grupo (lınea discontinua).

Pandit and Wu (1983) asumieron que la tendencia era a priori circular y utilizaron 3 parame-tros (dos para el centro y uno para el radio) para ajustarla, e iteraron entre la estimacion deesta tendencia y la estructura de los errores. Con el uso de los P-splines es posible flexibilizarla estructura de la tendencia y estimar simultaneamente ambos efectos (algo que es muydifıcil si no se utiliza la representacion de los P-splines como modelos mixtos). Comenzamospor ajustar un modelo de suavizado, ignorando la estructura de correlacion en los datos:

cor.gamm=gamm(profundidad~s(distancia, k=40, bs="ps",m=2))

La Figura 24 muestra como el ignorar la estructura de correlacion tiene dos efectos: unacurva que no es suave y unos residuos que no son incorrelados. Para solucionar el problemapodemos introducir una estructura de autocorrelacion en el modelo, por ejemplo un AR(1)y un AR(2).

Id=factor(rep(1,320))

cor1.gamm=gamm(profundidad~s(distancia, k=40, bs="ps",m=2),

correlation=corARMA(form=~distancia|Id,p=1,q=0))

cor2.gamm=gamm(profundidad~s(distancia, k=40, bs="ps",m=2),

correlation=corARMA(form=~distancia|Id,p=2,q=0))

Ahora vemos en la Figura 15, como al asumir un proceso AR(2) para el termino de error,es posible separar la correlacion a corto plazo y la tendencia global, y no hay restos de

77

Page 79: Mar a Durb an Universidad Carlos III de Madrid

0 50 100 150 200 250 300

7080

9010

011

012

0

distancia

prof

undi

dad

Figura 24: Efecto del lijado en un trozo de madera.

correlacion en los residuos.Podemos comparar los modelos ajustados mediante el test de maxima verosimilitud para

confirmar que es necesario un modelo AR(2) para el termino de error:

anova(cor.gamm$lme,cor1.gamm$lme,cor2.gamm$lme)

Model df AIC BIC logLik Test L.Ratio p-value

cor.gamm$lme 1 4 1853.437 1868.510 -922.7185

cor1.gamm$lme 2 5 1660.112 1678.954 -825.0561 1 vs 2 195.32478 <.0001

cor2.gamm$lme 3 6 1643.742 1666.352 -815.8711 2 vs 3 18.37015 <.0001

Pregunta:

1. A¿Cuanto vale el parametro de suavizado en el modelo inicial y en el final? A¿Tienesentido?

5. Datos multidimensionales

5.1. Ejemplo 1: Tendencias espaciales en experimentos de campo

Las funciones spm y gamm de las que hablamos en el capıtulo anterior, permiten ajustarmodelos bidimensionales, sin embargo spm asume un mismo parametro de suavizado en

78

Page 80: Mar a Durb an Universidad Carlos III de Madrid

0 50 100 150 200 250 300

−30

−20

−10

010

20

distancia

s(di

stan

cia,

27.0

2)

0 5 10 15 20 25

−0.2

0.0

0.2

0.4

0.6

0.8

1.0

Lag

AC

F

Series cor1.gamm$gam$resid

Figura 25: Curva ajustada (izquierda) y autocorrelacion de los residuos del modelo (derecha).

ambas direcciones, lo cual puede dar problemas en algunas situaciones. Vamos a ver comose pueden ajustar con R los datos sobre los experimentos de campo llevados a cabo en elScottish Crop Reserach Institute. En el fichero SCRI.txt se encuentran los datos, y en elfichero SCRI.R se ajustan, primero un modelo aditivo, y un modelo bidimensional:

fit.SCRI=gamm(Produccion~s(Fila,bs="ps",m=2)+s(Columna,bs="ps",m=2))

fit.SCRI2=gamm(Produccion~te(Fila,Columna,bs=c("ps","ps"),m=2))

En el caso bidimensional, la especificacion del modelo cambia, en este caso utilizamos lafuncion te(), que indica que vamos a hacer el producto tensorial de las bases, ademas bs=

sera un vector de longitud igual a la dimension del modelo. Las Figuras 12 y 13 del capıtuloanterior muestran las diferencias que hay entre el ajuste de ambos modelos y como el modeloaditivo no es apropiado.

> anova(fit.SCRI$lme,fit.SCRI2$lme)

Model df AIC BIC logLik Test L.Ratio p-value

fit.SCRI$lme 1 6 73.70450 99.67212 -30.852248

fit.SCRI2$lme 2 7 20.12908 50.42464 -3.064541 1 vs 2 55.57541 <.0001

Tanto el AIC como el BIC confirman claramente que el modelo bidimensional es mas apro-piado.

79

Page 81: Mar a Durb an Universidad Carlos III de Madrid

0 50 100 150 200 250 300

70

80

90

10

01

10

12

0

distancia

pro

fun

did

ad

0 5 10 15 20 25

0.0

0.2

0.4

0.6

0.8

1.0

Lag

AC

F

Series residuos

Figura 26: Curva ajustada (izquierda) y autocorrelacion de los residuos del modelo conautocorrelacion (derecha).

Este tipo de modelos bidimensionales tambien se pueden ajustar sin necesidad de recurrir lafuncion gamm(), simplemente, se calculan las matrices correspondientes al modelo mixto, seprograma la funcion de verosimilitud (REML) y se utiliza la funcion optim() para estimarlos parametros de suavizado, sin embargo, la matriz que corresponde la parte aleatoria delmodelo es de dimensiones elevadas (al ser producto de Kronecker de dos matrices), por loque es necesario utilizar algoritmos que usan la estructura de enrejado de los datos parareducir los calculos (ver Currie et al. (2006)).

5.2. Ejemplo 2: Analisis de datos de mortalidad

Los datos que vamos a analizar han sido cedidos por el Continuous Mortality InvestigationBureau (CMIB) del Reino Unido. Para cada ano entre 1947 y 1999 y cada edad (entre 11y 100 anos) se dispone del numero de polizas cobradas (muertes) y del numero de polizasque hay (exposicion o multiplicador de la tasa). Los datos se organizan en matrices Y yE cuyas filas estan indexadas por edad y las columnas por anos, y definimos la mortalidadcomo: R = Y /E. El fichero mortalidad.txt contiene los datos, y el codigo se encuentra enmortalidad.R.

mortalidad=read.table("mortalidad.txt",header=TRUE)

80

Page 82: Mar a Durb an Universidad Carlos III de Madrid

Figura 27: Datos sobre mortalidad en el Reino Unido

attach(mortalidad)

library(mgcv)

off=log(exposicion)

Como los datos corresponden al numero de muertes, estamos en el caso de un modelo linealgeneralizado con distribucion de Poisson, por lo tanto, estarıamos utilizando los resultadosde la seccion 4.1; ademas hemos de tener en cuenta el numero de polizas existentes en esemomento, es decir, buscamos un modelo para la tasa de mortalidad:

log(y/e) = f(x, y)⇒ log(y) = log(e)︸ ︷︷ ︸offset

+f(x, y)

Nos podemos plantear dos modelos:

Modelo aditivo suave para Edad-Periodo

fit=gam(muertes~s(edad,k=20,bs="ps",m=2)+s(periodo,k=20,bs="ps",m=2)+offset(off),

select=TRUE,method="REML",family="poisson")

summary(fit)

Parametric coefficients:

Estimate Std. Error z value Pr(>|z|)

(Intercept) -4.771085 0.008522 -559.9 <2e-16 ***

---

Approximate significance of smooth terms:

edf Ref.df Chi.sq p-value

s(edad) 17.97 19 2361941 <2e-16 ***

s(periodo) 18.50 19 65936 <2e-16 ***

81

Page 83: Mar a Durb an Universidad Carlos III de Madrid

Este modelo ajusta la misma curva para todas las edades y la misma para todos losanos. La Figura 28 muestra la superfice (aditiva) a la que da lugar este modelo.

edad

perio

do

linear predictor

Figura 28: Curvas ajustadas para edad y periodo con un modelo aditivo.

En la Figura 29 se muestra la curva ajustada para el periodo para dos edades distin-tas, vemos claramente que no es apropiado asumir que el descenso en la mortalidada lo largo de los anos es el mismo para todas las edades. En el caso de los 34 anos,el modelo no es capaz de ajustar correctamente el hecho de que en los ultimos anosel comportamiento de los jovenes haya ralentizado el descenso de la mortalidad. En elcaso de los 60 anos, el modelo tiende a subestimar la mortalidad en los primeros anosy a sobrestimarla recientemente.

En las secciones 1 y 2 de este capıtulo, vimos como podıamos ajustar los modelosutilizando la funcion lme(), en el caso de datos no Gaussianos, lo equivalente es uti-lizar la funcion glmmPQL(), cuya estructura es similar a la anterior, en este caso laestimacion de los parametros esta basada en Penalized Quasi-Likelihood. En el ficheromortalidad2.R se encuentra el codigo que ajusta el modelo anterior mediante estafuncion.

Modelo de suavizado bidimensional

fit2=gam(muertes~te(edad,periodo,k=c(10,10),bs=c("ps","ps"),m=2)+offset(off),

select=TRUE,method="REML" ,family="poisson")

summary(fit2)

Parametric coefficients:

Estimate Std. Error z value Pr(>|z|)

82

Page 84: Mar a Durb an Universidad Carlos III de Madrid

Periodo

log

(mu

)

1950 1960 1970 1980 1990 2000

-7.8

-7.6

-7.4

-7.2

-7.0

-6.8

-6.6

-6.4

Periodolo

g(m

u)

1950 1960 1970 1980 1990 2000

-5.0

-4.8

-4.6

-4.4

-4.2

Edad: 34 Edad: 60

Figura 29: Curva ajustada periodo con un modelo aditivo para dos grupos de edad.

(Intercept) -4.754175 0.008175 -581.6 <2e-16 ***

---

Approximate significance of smooth terms:

edf Ref.df Chi.sq p-value

te(edad,periodo) 64.88 99 2443299 <2e-16 ***

vis.gam(fit2,view=c("edad","periodo"), phi=15)

La Figura 30, muestra la superfice ajustada en este caso, se pueden apreciar las dife-rencias sobre todo en las edades tempranas y en los ancianos. En la Figura 31 vemoscomo ahora el modelo ajusta correctamente las curvas para las distintas edades.

Por ultimo, la Figura 32 nos da una idea sobre el ajuste del modelo. La figura de laizquierda muestra la relacion entre el numero de muertes y los valores ajustados, y lafigura de la derecha muestra el grafico de los valores ajustados frente a los residuos dePearson: vemos como hay unos cuantos residuos elevados que corresponden a valorespredichos proximos a cero, pero en general el ajuste es bastante bueno.

5.3. Ejercicio: Infeccion post-operatoria

Vamos a trabajar con los datos POI.txt (cortesıa de M. Xose Rodrıguez Alvarez, Univer-sidad de Vigo). Los datos correponden a pacientes sometidos a una intervencion quirurgica,y contienen los registros relativos a factores preoperatorios y operatorios relacionados con lainfeccion postoperatoria (POI). Las variables son:

83

Page 85: Mar a Durb an Universidad Carlos III de Madrid

edad

perio

do

linear predictor

Figura 30: Curva ajustada periodo con un modelo bidimensional para dos grupos de edad.

Periodo

log(m

u)

1950 1960 1970 1980 1990 2000

-7.6

-7.4

-7.2

-7.0

-6.8

-6.6

-6.4

Periodo

log(m

u)

1950 1960 1970 1980 1990 2000

-5.0

-4.8

-4.6

-4.4

-4.2

Edad: 34 Edad: 60

Figura 31: Curva ajustada con un modelo bidimensional para dos grupos de edad.

age: Edad del paciente en anos

gender: 0: Mujer71: Hombre

gluc: Nivel de glucosa pre-operatoria

diab: Presencia de diabetes (0/1)

84

Page 86: Mar a Durb an Universidad Carlos III de Madrid

0 200 400 600 800 1000

020

040

060

080

010

0012

00

valores ajustados

mue

rtes

0 5 10 15 20 25 30

−4−2

02

46

valores ajustados^0.5

resi

duos

Figura 32: Graficos de valores ajustados y residuos.

poi: Infeccion postoperatoria (0/1)

El objetivo es evaluar los factores preoperatorios sobre la presencia de infeccion.

1. Evaluar el posible efecto de la glucosa preoperatoria sobre la presencia de infeccion:

Resumen del ajuste y grafico del efecto

Contrastar si el efecto es lineal

2. Incluye tambien la presencia de diabetes

Resumen del ajuste y graficos de efectos

¿es el efecto de diabetes significativo?. ¿Que modelo es mejor, con o sin diabetes?

Ajusta el modelo incorporando la interseccion entre glucosa y diabetes

Compara este modelo con el modelo sin interaccion, ¿con cual te quedas?

3. En base al mehor modelo anterior, vamos a evaluar el efecto de las variables gender yedad

Incorpora la variable edad y compara el nuevo modelo con el anterior

Incluye ead y sexo. ¿Que conclusiones extraes?

Ajusta el modelo incorporando la la interaccion entre edad y sexo. ¿Hay interac-cion?. ¿Mejora el modelo?

Ajusta un modelo incorporando la interaccion entre la glucosa y la edad. ¿Hayevidencias de interaccion?. Dibuja los efectos

85

Page 87: Mar a Durb an Universidad Carlos III de Madrid

5.4. Ejercicio: Kiphosis data

Los datos (kiphosis.txt) corresponden a 81 ninos que han tenido cirugıa correctora deespalda para eliminar la cifosis (kyphosis). Las variables son:

kyphosis: Es la variable respuesta, binaria, que indica la presencia o ausencia dekyphosis despues de la operacion.

Age: Edad en meses del nino

Numero: El numero de vertebras implicadas en la operacion.

Start:El numero de la vertebra donde empizan las vertebras implicadas.

1. Ajusta un modelo lineal generalizado. ¿Que variables son significativas?

2. Utiliza la funcion mmps de la librerıa car para hacer graficos marginales. Estos graficosrepresentan la probabilidad de presencia de kyphosis para cada una de las covariables.

3. Ajusta un modelo gam para las variables.

4. A¿Hay interaccion entre ellas?

5.5. Ejemplo 3: Aplicaciones en disease mapping

Los datos corresponden al numero observado y esperado de casos de cancer de labio re-gistrado en 54 municipios de Escocia, junto con la proporcion de la poblacion que trabaja enagricultura, bosques y pesca. Estos datos han sido analizados utilizando diversos enfoques,generalmente basados en modelos espaciales jerarquicos donde los efectos aleatorios asocia-dos a cada municipio estan modelizados mediante diferentes distribuciones a priori (modelosautoregresivos condicionales).Nuestra propuesta es utilizar, no el hecho de que los municipios sean vecinos, sino las coorde-nadas de los centroides de cada municipio para modelizar el efecto espacial y ademas anadirun efecto aleatorio para cada municipio con el objetivo de controlar la posible sobredisper-sion de los datos.

En este caso, los datos no estan en un enrejado, por lo que la base de b-splines no es elproducto de Kronecker de las bases en cada dimension sino llamado producto de Kroneckerpor filas : B = B2B1, donde cada fila de la matriz B es el producto de Kronecker de lasfilas correspondientes de las bases individuales. Utilizamos nuevamente los resultados de laseccion 4 y utilizamos la representacion de los Psplines como modelos mixtos:

η = Xβ +Zα α ∼ N (0,G)

Para modelizar la posible sobredispersion de los datos y tener en cuenta la posibilidad deque una superficie suave no capture la variabilidad de los datos, anadimos un efecto aleatoriopara cada municipio, por tanto el modelo serıa:

Xβ +Zα+ γI α ∼ N (0,G), γ ∼ N (0, σ2γI)

86

Page 88: Mar a Durb an Universidad Carlos III de Madrid

Este modelo recibe el nombre de PRIDE (“Penalized Random Individual Dispersion Ef-fects”).

Los datos se encuentran en el fichero lipcancer.txt y el codigo en lipcancer.R. Se hanajustado dos modelos, sin efectos aleatorios individuales y otro con efectos aleatorios:

fit.lip=gam(y~AFF+te(lat,lon,bs=c("ps","ps"),k=c(6,8),m=2)+offset(off),

family="poisson")

fit.lip2=gam(y~AFF+te(lat,lon,bs=c("ps","ps"),m=2)+offset(off),

random=list(dist=~1),family="poisson")

Suavizado Espacial :: Xββ ++ Zα

−1.0

−0.5

0.0

0.5

1.0

1.5Suavizado espacial ++ Efecto aleatorio :: Xββ ++ Zαα ++ γγI

−1.0

−0.5

0.0

0.5

1.0

1.5

Figura 33: Ajuste de los dos modelos propuestos (en la escala del predictor lineal)

Para comparar ambos modelos vamos a utilizar el AIC:

AIC = Dev + 2Df Dev =∑i

yi log

(yiµi

)− (yi − µi)

y.new=y

y.new[y==0]=10^-4

ajustados=fit.lip$lme$fitted

ajustados=ajustados[,2]

mu=exp(ajustados)*exp(off)

Dev=sum(2*y.new*log(y.new/mu)-(y.new-mu))

Df=sum(fit.lip$gam$edf)

AIC=Dev+2*Df

87

Page 89: Mar a Durb an Universidad Carlos III de Madrid

El valor de AIC es 98.68 en el modelos sin efectos aleatorios individuales y 40.64 en el modelocon efectos aleatorios para cada municipio y el valor de σ2

γ = 0,125.

En la Figura 33 vemos la diferencia entre el ajuste, sin y con los efectos aleatorios individua-les, la introduccion de estos efectos permiten tener en cuenta las caracterısticas individualesde cada municipio; estas caracterıticas pueden ser bastantes distintas a las de sus municipiosvecinos, y por tanto no se captarıan en un modelo donde solo hubiera suavizado.

88

Page 90: Mar a Durb an Universidad Carlos III de Madrid

Bibliografıa

Brumback, B. and Rice, J. (1998). Smoothing spline models for the analysis of nested andcrossed samples of curves. Journal of the American Statistical Association, 93:961–994.

Cleveland, W. (1979). Robust locally-weighted regression and smoothing scatterplots. Jour-nal of the American Statistical Association, 74:829–836.

Crainiceanu, C., Ruppert, D., Claeskens, G., and Wand, M. (2003a). Likelihood ratio testof polynomial regression against a general non-parametric alternative. submitted.

Crainiceanu, C., Ruppert, D., and Vogelsang, T. (2002). Probabilty that the mle of a variancecomponent is zero with applications to likelihood ratio tests. submitted.

Crainiceanu, C. M., Ruppert, D., Claeskens, G., and Wand, M. (2003b). Likelihood ratiotest of polynomial regression againts a general nonparametric alternative. submitted.

Currie, I., Durban, M., and Eilers, P. (2004). Smoothing and forecasting mortality rates.Statistical Modelling (en prensa).

Currie, I., Durban, M., and Eilers, P. (2006). Generalized linear array models with applica-tions to multidimensional smoothing. Journal of the Royal Statististical Society, Series B,68:1–22.

De Boor, C. (1977). Package for calculating with B-splines. Journal of Numerical Analysis,14:441–472.

De Boor, C. (2001). A practical guide to splines. Applied Mathematical Sciences. Springer-Verlag, New York.

Dierckx, P. (1993). Curve and surface fitting with splines. Clarendon, Oxford.

Durban, M., Currie, I., and Eilers, P. (2002). Using P -splines to smooth two-dimensionalPoisson data. In Stasinopoulos, M. and Toulouimi, G., editors, Proceedings of the 17thInternational Workshop on Statistical Modelling, pages 207–214, Crete, Greece.

Eilers, P. and Marx, B. (1996). Flexible smoothing with B-splines and penalties. StatisticalScience, 11:89–121.

Green, P. and Silverman, B. (1994). Nonparametric Regression and Generalized LinearModels. Monographs on Statistics and Applied Probability. Chapman & Hall, London.

89

Page 91: Mar a Durb an Universidad Carlos III de Madrid

Hastie, T. and Tibshirani, R. (1987). Generalized additive models: Some applications. Jour-nal of the American Statistical Association, 82:371–386.

Kneib, T. (2005). Mixed Model Based Inference in Structured Additive Regression. PhDthesis, Department of Statistics, Ludwig-Maximilians University, Munich.

Laird, N. and Ware, J. (1982). Random-effects models for longitudinal data. Biometrics,38:963–974.

Marx, B. and Eilers, P. (1998). Direct generalized additive modeling with penalized like-lihood. Computational Statistics and Data Analysis, 28:193–209.

McCullagh, P. and Nelder, J. (1989). Generalized Linear Models. Chapman & Hall, NewYork.

Nelder, J. and Wedderburn, R. (1972). Generalized linear models. Journal of the RoyalStatistical Society, Series A, 135:370–385.

Ngo, L. and Wand, M. (2004). Smoothing with mixed model software. Journal of StatisticalSoftware, 9(1).

O’Sullivan, F. (1986). A statistical perspective on ill-posed inverse problems. StatisticalSciences, 1:505–527.

Pandit, S. and Wu, S.-M. (1983). Time series and system analysis with applications. Wiley,New York.

Rice, J. and Wu, C. O. (2001). Nonparametric mixed effects models for unequally samplednoisy curves. Biometrics, 57:253–259.

Ruppert, D. (2002). Selecting the number of knots for penalized splines. Journal of compu-tational and Graphical Statistics, 11:735–757.

Ruppert, D., Wand, M., and Carroll, R. (2003). Semiparametric Regression. CambridgeSeries in Statistical and Probabilistic Mathematics. Cambridge University Press.

Self, S. and Liang, K. (1987). Asymptotic properties of maximum likelihood estimators andlikelihood ratio tests under nonstandard conditions. Journal of the American StatisticalAssociation, 82:605–610.

Speed, T. (1991). Comment on ”BLUP is a good thing: The estimation of random effects”,by robinson, g.k. Statistical Science, 6:15–51.

Stram, D. and Lee, J. (1994). Variance components testing in the longitudinal mixed effectsmodel. Biometrics, 50:1171–1177.

Verbyla, A., Cullis, B., Kenward, M., and Welham, S. (1999). The analysis of designedexperiments and longitudinal data using smoothing splines. Applied Statistics, 48:269–312.

90

Page 92: Mar a Durb an Universidad Carlos III de Madrid

Wand, M. (2003). Smoothing and mixed models. Computational Statistics, 18:223–249.

Wood, N. (2003). Thin plate splines regression. Journal of the Royal Statistical Society,65(1):95–114.

Wood, S. (2006a). mgcv 1.3. r package. cran.r-project.org.

Wood, S. (2006b). On confidence intervals for gams based on penalized regression splines.Australian and New Zealand Journal of Statistics, 48:445–464.

91