Вы находитесь на странице: 1из 76

Master en Estadstica Aplicada

Departamento de Estadstica e I.O.


Universidad de Granada
Trabajo de Investigaci on
ESTIMACI

ON PENALIZADA
CON DATOS FUNCIONALES
Mara del Carmen Aguilera Morillo
Granada, Septiembre de 2009
Master en Estadstica Aplicada
Departamento de Estadstica e I.O.
Universidad de Granada
ESTIMACI

ON PENALIZADA
CON DATOS FUNCIONALES
Trabajo de Investigacion presentado por
D
a
Mara del Carmen Aguilera Morillo
y dirigido por la Profesora
Dr. D
a
Ana Mara Aguilera del Pino
V
o
B
o
V
o
B
o
Fdo. Ana M
a
Aguilera del Pino Fdo. M
a
del Carmen Aguilera Morillo
Prologo
Este trabajo de investigaci on se ha desarrollado en la lnea de investi-
gacion en Analisis de Datos Funcionales (FDA) del Departamento de Es-
tadstica e I.O. de la Universidad de Granada.
Las observaciones muestrales de una variable funcional son funciones
que en la mayora de los casos proceden de la observacion temporal de una
variable estadstica (realizaciones de un proceso estocastico). Los datos fun-
cionales aparecen en campos muy diversos de aplicacion de la estadstica
como la economa, ciencias de la salud y medioambientales, entre otras.
En los ultimos a nos han proliferado los trabajos de investigaci on en los
que se generalizan las tecnicas multivariantes al caso de datos funcionales,
dando lugar a una parte de la estadstica conocida como Analisis de Datos
Funcionales (ADF). Las herramientas basicas del ADF han sido magistral-
mente recopiladas en los libros de Ramsay y Silverman (1997, 2005) y un
n umero considerable de aplicaciones en el libro de los mismos autores del
a no 2002.
En la practica las funciones muestrales son observadas en un conjunto
nito de puntos que pueden ser desigualmente espaciados y diferentes para
los individuos muestrales. Por ello el primer paso en FDA es reconstruir
la verdadera forma funcional de las curvas muestrales a partir de sus ob-
servaciones discretas. Uno de los metodos mas usados en la practica para
aproximar las funciones muestrales consiste en representarlas en terminos
de bases de funciones y aproximar sus coecientes mediante interpolacion,
en el caso de datos observados sin error, o mediante mnimos cuadrados,
en el caso de datos ruidosos. Esta metodologa proporciona buenas apro-
ximaciones cuando las funciones basicas tienen esencialmente las mismas
caractersticas que el proceso que genera los datos. En otro caso este meto-
do de aproximaci on no tiene control sobre el grado de suavizaci on de la
curva y puede llevar a aproximaciones poco precisas.
El principal objetivo de este trabajo es el estudio de un metodo mas
potente de aproximar una funcion a partir de datos discretos. Se trata del
metodo de regularizacion (regularization approach) o penalizacion de la
rugosidad (roughness penalty) que tiene las ventajas tanto de la aproxi-
macion mediante funciones basicas como de las tecnicas de suavizamiento
local (kernel smoothing and local polynomial tting).
El trabajo esta dividido en cuatro captulos. En el primero se hace una
introduccion al ADF y se presentan ejemplos de aplicaciones con datos
funcionales desarrolladas recientemente en la literatura estadstica.
En el segundo captulo se asume que las curvas muestrales pertenecen
a espacios de dimension nita generados por una base de funciones y se
reconstruye su forma funcional mediante representaciones basicas. A lo
largo de este captulo se presenta distintas bases (B-splines, trigonometri-
cas, wavelets, ....) que seran mas o menos adecuadas dependiendo de la
naturaleza de los datos que se esten analizando (suaves, periodicos, fuerte
comportamiento local, ....). este trabajo se centrara basicamente en repre-
sentaciones basicas con B-splines.
El captulo tercero esta dedicado a los metodos mas usuales de aproxi-
macion de los coecientes basicos a partir de las observaciones discretas de
las funciones muestrales. Se hace una revision exhaustiva de los metodos
de interpolacion, proyeccion ortogonal, aproximaci on mnimo-cuadr atica y
suavizaci on n ucleo mas usados en las aplicaciones.
En el captulo 4 se introduce la estimacion penalizada en terminos de
B-splines de las curvas muestrales cuyo estudio es el objetivo principal de
este trabajo. Se consideraran dos formas alternativas de estimacion pena-
lizada, los splines de suavizado y los p-splines. En los primeros se penaliza
la integral del cuadrado de la derivada de cierto orden de las curvas mues-
trales mientras que en los segundos se hace una aproximaci on discreta de
dicha integral penalizando las diferencias del mismo orden entre coecientes
adyacentes de la base de los B-splines. Merece resaltar la equivalencia en-
tre los P-splines y los modelos mixtos que hace mas exible la eleccion de
los nodos de la base de B-splines y permite, ademas, seleccionar de forma
automatica el parametro de suavizado.
Los metodos de suavizado estudiados en el trabajo se han implementado
en R y su comportamiento se ha analizado sobre distintos conjuntos de
datos simulados y reales. Los resultados de la comparacion entre splines de
regresion, splines de suavizado y P-splines se han recogido en el captulo
5. Se ha incluido tambien un apartado dedicado a lneas de investigacion
abiertas puesto que este trabajo pretende ser el primer paso en el desarrollo
de una Tesis Doctoral que tendra como objetivo la estimacion penalizada
de distintos modelos estadsticos de ADF.
Tambien se ha incluido una seleccion de las referencias bibliogracas
revisadas en el desarrollo del trabajo y un anexo con las funciones imple-
mentadas en R. La versi on impresa del trabajova acompa nada de un CD
que contiene el codigo R desarrollado para implementar las aplicaciones
realizadas y los cheros de datos.
Finalmente, quiero agradecer a mi tutora, Ana M
a
Aguilera del Pino, su
apoyo incondicional durante la realizacion de este trabajo, as como su labor
docente durante todo curso academico del Master. En general, agradecer a
todo el profesorado del Master la formacion y los conocimientos adquiridos.
No poda olvidarme de mi madre, que con su esfuerzo y animo constante
ha hecho posible la realizacion de mis estudios.
Granada, Septiembre de 2009

Indice general
1. Introduccion 1
1.1. Que son los datos funcionales? . . . . . . . . . . . . . . . . 1
1.2. Ejemplos reales y aplicaciones con datos funcionales . . . . . 2
1.3. Objetivos del ADF . . . . . . . . . . . . . . . . . . . . . . . 7
2. Obtencion de la forma funcional 9
2.1. Expansion basica de datos funcionales . . . . . . . . . . . . 9
2.2. Bases usuales . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3. Estimacion aproximada de los coecientes basicos 17
3.1. Interpolacion Spline C ubica con base de B-splines . . . . . . 17
3.2. Proyeccion ortogonal . . . . . . . . . . . . . . . . . . . . . . 19
3.3. Aproximacion de mnimos cuadrados . . . . . . . . . . . . . 19
3.3.1. Ajuste por mnimos cuadrados ponderados . . . . . . 21
3.3.2. Como elegir el n umero de funciones base . . . . . . . 21
3.4. Mnimos cuadrados localizados . . . . . . . . . . . . . . . . . 22
4. Estimacion por mnimos cuadrados penalizados 25
4.1. Penalizacion de la suavidad . . . . . . . . . . . . . . . . . . 27
4.2. Spline de suavizado . . . . . . . . . . . . . . . . . . . . . . . 29
4.3. P-splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.1. P-splines como modelos mixtos . . . . . . . . . . . . 32
4.4. Seleccion del parametro de suavizado . . . . . . . . . . . . . 34
5. Aplicaciones con R 37
5.1. Ejemplo simulado . . . . . . . . . . . . . . . . . . . . . . . . 37
5.1.1. Caso I (150 nodos de observaci on) . . . . . . . . . . . 38
5.1.2. Caso II (50 nodos de observaci on) . . . . . . . . . . . 41
5.2. Suavizado de las curvas de temperaturas en Andaluca . . . 42
i
ii Estimacion penalizada con datos funcionales
5.3. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6. Lneas abiertas 49
7. Referencias bibliogracas 51
8. Anexo: Funciones implementadas en R 55
Captulo 1
Introduccion
En este captulo se introducira el concepto de dato funcional y se pre-
sentar an ejemplos y aplicaciones estadsticas con este tipo de datos en di-
ferentes areas.
1.1. Que son los datos funcionales?
En Analisis de Datos Funcionales (ADF) los datos en lugar de ser un
conjunto de vectores, como en analisis multivariante clasico, son un con-
junto de curvas. En la mayora de las aplicaciones, las curvas muestrales
proceden de la observaci on de un proceso estocastico en tiempo continuo.
Hay otras muchas aplicaciones como, por ejemplo la quimiometra, en las
que el argumento de las curvas no tiene que ser necesariamente el tiem-
po. Normalmente, a pesar de su naturaleza continua, solo disponemos de
observaciones discretas de las variables funcionales en un conjunto nito
de instantes de tiempo que pueden ser desigualmente espaciados e incluso
diferentes para los distintos individuos muestrales.
El gran desarrollo que esta experimentando el analisis de datos fun-
cionales ha ocasionado que muchos estudios con datos longitudinales, plantea-
dos desde un punto de vista multivariante, ahora sean analizados en base a
su naturaleza funcional. Las tecnicas estadsticas de ADF se han desarrolla-
do en los ultimos 20 a nos como una generalizacion de las tecnicas de analisis
multivariante y de regresion al caso en el que las observaciones son curvas
en lugar de vectores. Las tecnicas de ADF mas utilizadas son el Analisis
en Componentes Principales Funcional (ACPF) y los modelos de regresion
lineal funcional. Estos ultimos presentan distintas variantes dependiendo
1
2 Estimacion penalizada con datos funcionales
de que tanto la variable respuesta como la explicativa sean funcionales o
solo una de ellas lo sea. Un estudio detallado de las principales tecnicas
de ADF se puede ver en los libros pioneros de Ramsay y Silverman (1997,
2005).
El primer paso en ADF es obtener la verdadera forma funcional de
las curvas a partir de sus observaciones en tiempo discreto. Para ello, se
han aplicado muchas tecnicas de aproximaci on, tales como la interpolacion
o la proyeccion en un espacio nito-dimensional generado por una base
de funciones. En los ultimos a nos se han utilizado tambien tecnicas de
estimacion no parametrica de curvas. Recientemente se ha publicado un
libro que presenta una excelente recopilacion de metodos no parametricos
de Analisis de Datos Funcionales (Ferraty y View, 2006).
Una vez reconstruida la forma funcional de las curvas se procede a su
analisis estadstico dependiendo del objetivo del estudio. Teniendo en cuen-
ta la dimension innita del espacio funcional al que pertenecen las curvas,
se suele recurrir en primer lugar a una tecnica de reduccion de dimension
como el ACPF que permita resumir la informacion en un conjunto nito
de variables escalares obtenidas como combinaciones lineales generalizadas
de las curvas con maxima varianza. El ACPF ha resultado ser tambien
muy util para la estimacion de los modelos de regresion funcional por dos
razones fundamentales. En primer lugar reduce la dimension del espacio de
regresores, y en segundo lugar evita el problema de multicolinealidad que
afecta a la regresion sobre los coecientes basicos de las curvas.
A continuacion se resumen algunas aplicaciones interesantes con datos
funcionales desarrolladas en la literatura. El potencial del ADF para re-
solver problemas reales queda plasmado en la amplia variedad de aplica-
ciones y analisis estadsticos con datos de este tipo desarrollados en los
ultimos a nos. Algunas de las mas interesantes aparecen en el libro Applied
functional data analysis: Methods and case studies de Ramsay y Silverman
(2002).
1.2. Ejemplos reales y aplicaciones con datos
funcionales
Curvas de alturas de ni nas
Un conjunto tpico de datos funcionales corresponde a las alturas en
cm de diez ni nas medidas en 31 ocasiones (en distintas edades). Las
Introduccion 3
edades no estan igualmente espaciadas en el tiempo. En el primer
a no se realizaron 4 mediciones, del cuarto al octavo a no se hicieron
medidas anuales y posteriormente se tomaron dos medidas por a no. Si
nos jamos en una de las ni nas, sus mediciones a lo largo de los 18 a nos
constituyen una observacion funcional. De este modo, tendramos una
muestra con 10 observaciones funcionales, es decir un conjunto de 10
curvas (ver mas detalles en Ramsay J. y Silverman B., 2005).
0 20 40 60 80 100 120
5
1
0
1
5
2
0
2
5
mes
t
e
m
p
Figura 1.1: Curvas de temperatura para diferentes zonas geogracas de
Andaluca, ajustadas mediante mnimos cuadrados penalizados y usando
P-splines como modelos mixtos.
4 Estimacion penalizada con datos funcionales
Curvas de temperaturas para diferentes zonas geogracas de
Andaluca
En este caso se dispone de las temperaturas medias en cada uno de los
doce meses del a no, y para cada una de las veinte zonas geogracas
de Andaluca consideradas, durante un periodo comprendido entre
1998 y 2007 (10 a nos). En este caso los tiempos estan igualmente
espaciados (se dispone de una observaci on en cada uno de los meses).
Si nos centramos en una de las zonas, sus temperaturas a lo largo de
los meses y a nos forman una observaci on funcional. As, se dispone de
una muestra con 20 observaciones funcionales, (20 curvas). Los datos
han sido obtenidos del anuario de la Consejera de Medio Ambiente
(2008). Al nal del trabajo se iran aplicando las diferentes tecnicas
de suavizado en estudio a este conjunto de datos.
Porcentaje de celulas CD4 en portadores del virus VIH
En este estudio el conjunto de datos incluye medidas de reconocimien-
tos fsicos, resultados de laboratorio y porcentaje de celulas CD4 de
283 hombres homosexuales con VIH positivo, recogidas en un periodo
comprendido entre 1984 y 1991. Considerando uno de los hombres,
sus medidas a los largo de los a nos del periodo en estudio forman una
observacion muestral. As, tenemos una muestra de 283 curvas u ob-
servaciones muestrales. Numerosos autores han utilizado estos datos
como ejemplo de modelo lineal funcional (Wensheng G., 2004).
Prediccion de las cotizaciones en bolsa de Madrid del grupo
banca
La evoluci on temporal de las cotizaciones bursatiles se puede mo-
delizar como una realizacion de un proceso estocastico en tiempo
continuo. De este modo la informacion muestral asociada al grupo
de bancos son un conjunto de curvas para las que se dispone de ob-
servaciones diarias. Aguilera et al. (1999) propusieron un modelo de
prediccion en componentes principales (PCP model) para predecir la
curva de cotizaciones bursatiles en la primeras cinco semanas de 1997
(futuro) a partir de su evolucion temporal desde 1992 (pasado). Para
estimar el modelo se utilizaron observaciones semanales de las coti-
zaciones en bolsa de Madrid de seis bancos espa noles y se ajusto el
modelo a las tasas de retorno en lugar de a las cotizaciones brutas.
El modelo se baso en regresion lineal de las componentes principales
Introduccion 5
mas explicativas del proceso de cotizaciones en el futuro sobre un
subconjunto optimo de componentes principales del pasado.
Estimacion del riesgo de padecer sequa a partir de la evolu-
cion de las temperaturas
En este analisis de datos funcionales se dispone de datos de tem-
peraturas medias mensuales durante un a no en distitas estaciones
canadienses y de la cantidad de lluvia diaria durnate el mismo a no.
Asociada a estos datos se dene una variable de respuesta binaria
que toma el valor uno en una estacion cuando no hay sequa y el
valor cero en caso contrario. Se considera que hay sequa en una zona
cuando la cantidad anual de precipitaciones en esa zona es inferior al
percentil 25 de la cantidad anual de precipitaciones en todo el pas.
Para estimar el riesgo de sequa a partir de las curvas de temperat-
uras (interpolacion spline c ubica quasi-natural) se estima un modelo
logit en terminos de las componentes principales funcionales de las
curvas de temperatura anuales. Finalmente, de la interpretaci on de
la funcion parametro se concluye que un aumento de un grado en la
temperatura en la primera mitad del a no duplica la probabilidad de
padecer sequa (Escabias et al., 2005).
Para predecir la probabilidad de padecer sequa en un a no futuro
para el que no se dispone de informacion sobre la evoluci on de las
temperaturas, Aguilera et al. (2008) han desarrolado un modelo mix-
to logit-ARIMA funcional basado en la modelizacion ARIMA de cada
una de las series temporales asociadas a las componentes principales
obtenidas al cortar anualmente la serie de las temperaturas. Este mo-
delo mixto ha sido aplicado con exito para predecir la probabilidad
de padecer sequa a partir de las observaciones mensuales de las tem-
peraturas en la supercie del mar en el Oceano Pacco Ecuatorial
(serie TEPO del fenomeno El Ni no).
Modelizacion de la relacion entre estres y el lupus
El Lupus Eritomatoso es una enfermedad autoinmune que psicolo-
gos y medicos consideran altamente relacionada con el nivel de es-
tres al que esta sometido el individuo. Para estimar esta relacion se
dispona de los datos proporcionados por la Seccion de Enfermedades
Autoinmunes del Departamento de Medicina Interna del Hospital Vir-
gen de las Nieves y el Departamento de Personalidad, Diagnostico y
6 Estimacion penalizada con datos funcionales
Tratamiento Psicologico de la Universidad de Granada.
La muestra en estudio estaba formada por 44 pacientes de lupus para
los que se dispona de observaciones diarias de su nivel de estres du-
rante un periodo de 18 das. Transcurrido ese periodo a los pacientes
se les realizo un analisis de sangre para determinar si haban sufrido
un brote en la enfermedad. Como consecuencia se denio una variable
de respuesta binaria que toma el valor uno para aquellos pacientes con
brote y el valor cero para el resto. Para explicar esta variable a partir
de las curvas de estres se ajusto un modelo logit funcional en base
al ACPF de las curvas muestrales. Para llevar a cabo el ajuste del
modelo se dispona de distinto n umero de observaciones de cada cur-
va de estres y en distintos instantes ya que haba das en que los
pacientes no respondan el test que mide el nivel de estres. Por ello se
procedio en primer lugar a una aproximaci on mnimo-cuadr atica de
las curvas con bases de B-splines y tambien con bases de Fourier. De
la interpretaci on del modelo ajustado se llego a la conclusion de que
las consecuencias de un alto niver de estres tiene un retardo de cinco
das en el padecimiento de un brote de lupus (Aguilera et al., 2008).
Prediccion de las curvas de concentracion de polen a partir
de las curvas de temperatura
Se trata de un trabajo reciente (Valderrama et al., 2009) en el que
se predicen las curvas anuales de concentraci on de polen de cipres
en granada a partir de las curvas anuales de temperatura. Para ello
se dispona de observaciones diarias tomadas en el Departamento de
Aerobiologa de la Facultad de Ciencias de la Universidad de Grana-
da durante los ultimos a nos. El modelo utilizado ha sido un model
lineal funcional de respuesta funcional. Su estimacion se llevo a cabo
mediante regresion lineal sobte las componentes principales de las
curvas de temperatura en una primera estapa. En una segunda etapa
se modelizaron los residuos de este primer modelo en funcion de la
evoluci on temporal del nivel de polen en un periodo anterior.
Estudios paleontol ogicos
Hay estudios paleontol ogicos, como el que se cita a continuaci on, en
los cuales es evidente la presencia de datos funcionales. La paleon-
tologa estudia enfermedades de la historia de la humanidad, tomando
informacion principalmente de los restos de esqueletos humanos.
Introduccion 7
Consideremos un estudio en el que se investiga la forma de una gran
muestra de huesos con una antig uedad de cientos de a nos. El objetivo
es conseguir informacion sobre la ostheoartritis de la rodilla, ya que
este problema es muy difcil de investigar sobre pacientes vivos. Hay
evidencia de una relacion casual entre la forma de la arteria y la
incidencia de la ostheoartritis, habiendo mecanismos biomecanicos
convincentes para esta relacion.
Nos centramos en imagenes de la rodilla y del femur. Una forma de
hueso tpica observada en paleontologa se puede ver en la gura (1.2).
Los datos funcionales a considerar son curvas cclicas que correspon-
den a la forma del contorno de los huesos. Hay puntos especcos
sobre la forma del hueso, que se suelen identicar y los cuales pueden
ser o no de gran interes. Algunos de estos puntos muestran una suave
denicion de la forma media del hueso. Esto facilita el estudio de
la variabilidad en la poblacion, a traves de metodos gracos de la
estadstica convencional, pero no de la forma mas apropiada. La mo-
tivacion funcional conduce a plantear formas adecuadas de visualizar
esta variabilidad y de resaltar las diferencias entre los huesos que
muestran sntomas de artritis y los que no (Ramsay, J. y Silverman,
B., 2002).
Figura 1.2: Imagen digital de un femur en un estudio paleontol ogico.
1.3. Objetivos del ADF
De forma similar a lo que ocurre en cualquier analisis estadstico de
datos, los objetivos principales en ADF son
Representar los datos de manera que ayuden a analisis posteriores.
8 Estimacion penalizada con datos funcionales
Presentar lo datos as como resaltar sus caractersticas.
Estudiar la presencia importante de patrones y variaciones entre los
datos.
Explicar la variaci on en una variable dependiente (output) en termi-
nos de la informacion proporcionada por una variable independiente
(input).
Comparar dos o mas series de datos con respecto a ciertos tipos de
variacion, donde dos conjuntos de datos puedan tener distintas repli-
cas de las mismas funciones, o distintas funciones para un conjunto
de replicas comunes.
Captulo 2
Obtencion de la forma
funcional
Como se ha dicho anteriormente el primer paso en ADF es reconstruir
la verdadera forma funcional de las curvas muestrales a partir de sus obser-
vaciones discretas. El modo mas usual de resolver este problema consiste
en asumir una expansion de cada curva muestral en terminos de una base
de funciones y aproximar los coecientes basicos utilizando un suavizado o
una interpolacion.
2.1. Expansion basica de datos funcionales
Sea x
1
(t) , x
2
(t) , . . . , x
n
(t) el conjunto de funciones que constituyen la
informacion muestral relacionada con una variable funcional. Podemos con-
siderarlas como observaciones de un proceso estocastico X = X (t) : t T.
Suponemos que este proceso es de segundo orden, continuo en media cuadratica,
y que las funciones muestrales pertenecen al espacio de Hilbert L
2
(T) de
funciones de cuadrado integrable con el usual producto interior
f, g)
u
=
_
T
f (t) g (t) dt, f, g L
2
(T) .
Dada la dicultad de observar las funciones en tiempo continuo, en la practi-
ca, se dispone de observaciones de tales funciones en un conjunto nito de
tiempos t
i0
, t
i1
, . . . , t
im
i
T, i = 1, . . . , n, que pueden ser diferentes para
cada individuo. As la informacion muestral viene dada por los siguientes
9
10 Estimacion penalizada con datos funcionales
vectores x
i
= (x
i0
, . . . , x
im
i
)

, con x
ik
el valor observado para la i-esima
trayectoria muestral, x
i
(t
ik
), en el tiempo t
ik
(k = 0, . . . , m
i
).
Para reconstruir la forma funcional de las trayectorias muestrales a par-
tir de los datos discretos observados, se pueden utilizar varios metodos de-
pendiendo de
El modo en que se han obtenido dichos datos en tiempo discreto.
La forma que esperamos que tengan las funciones.
En este apartado, asumimos que las trayectorias muestrales pertenecen
a un espacio nito-dimensional generado por una base
1
(t) , . . . ,
p
(t),
y se expresan como
x
i
(t) =
p

j=1
a
ij

j
(t) , i = 1, . . . , n. (2.1)
2.2. Bases usuales
En general se trabaja con las bases de B-splines. No obstante, hay otros
sistemas base, que dependiendo de la naturaleza de los datos muestrales,
pueden ser mas o menos adecuadas. A continuacion se hace una lista con
algunos de los sistemas base mas conocidos en la literatura sobre Datos
Funcionales.
1. Bases de B-splines
Las referencias basicas son De Boor (1977) y Ramsay y Silverman
(1997, 2005). Un B-spline esta formado por trozos de polinomios
conectados entre s. Podemos ver un ejemplo en la parte superior
izquierda de la Figura (2.1), que corresponde a un B-spline de grado
1. Esta formado por dos trozos de polinomio lineal que se unen en un
nodo.
En la parte derecha inferior aparece un B-spline de grado tres. Obser-
vamos que todas las funciones de la base tienen la misma forma, pero
estan desplazadas horizontalmente (el desplazamiento es una funcion
de la distancia entre los nodos). En general, un B-splines de grado p
tiene las siguientes caractersticas:
Obtencion de la forma funcional 11
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 2.1: Bases de B-splines de orden 2 y 4.
Consiste en p + 1 trozos de polinomios de orden p que se unen
en p nodos internos.
Las derivadas hasta el orden p 1 son continuas en los puntos
de union.
El B-spline es positivo en el dominio expandido por p +2 nodos
y 0 en el 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.
Para construir un B-spline de grado p son necesarios p+2 nodos.
Los B-splines no padecende los efectos frontera comunes en otros
metodos de suavizado, como en algunos suavizados tipo n ucleo, en
los que al extender la curva ajustada fuera del dominio de los datos
esta tiende hacia cero. En De Boor (2001) se presenta un algoritmo
para el calculo de B-splines. Este algoritmo es facil de implementar
en R.
12 Estimacion penalizada con datos funcionales
Denotemos por t
0
< . . . < t
m
una particion de nodos del intervalo
de observaci on T. Extendiendo la particion como t
3
< t
2
< t
1
<
t
0
< . . . < t
m
< t
m+1
< t
m+2
< t
m+3
, la base de B-splines de orden
p + 1 (grado p) se dene iterativamente de la siguiente forma:
B
j,1
(t) =
_
1 t
j2
t < t
j1
0 en otro caso
, j = 1, 0, 1, . . . , m + 4
B
j,p+1
(t) =
t t
j2
t
j+p2
t
j2
B
j,p
(t) +
t
j+p1
t
t
j+p1
t
j1
B
j+1,p
(t)
p = 1, 2, . . . ; j = 1, 0, . . . , m p + 4.
Cuando p = 3 estas funciones base son B-splines c ubicos, utilizados
para la aproximaci on de curvas muestrales regulares. A partir de aho-
ra, se omite el subndice correspondiente al orden, de manera que los
B-splines c ubicos se denotaran como
B
j,4
(t) = B
j
(t) , j = 1, 0, . . . , m 1.
La base de los B-splines de grado p genera el espacio de los splines del
mismo grado denidos como curvas formadas por polinomios a trozos
de grado p (piecewise polynomial) con continuidad en las derivadas
hasta el orden p 1.
2. Sistemas base de Fourier para datos periodicos
La expansion basica mas conocida es proporcionada por las series de
Fourier
x
i
(t
ik
) = c
0
+c
1
sin(wt
ik
)+c
2
cos(wt
ik
)+c
3
sin(2wt
ik
)+c
4
cos(2wt
ik
)+. . .
denida por la base

0
(t
ik
) = 1,
2j1
(t
ik
) = sin(jwt
ik
) y
2j
(t
ik
) = cos(jwt
ik
)
con j = 1, 2, 3, . . . y k = 0, . . . , m
i
(m
i
: n umero de observaciones en
tiempo discreto para la i-esima trayectoria muestral).
Esta base es periodica, y el parametro w determina el periodo 2/w.
Si los valores de t
ik
son igualmente espaciados en el intervalo T y el
periodo es igual a la longitud de T, entonces la base es ortogonal en
Obtencion de la forma funcional 13
el sentido de que la matriz del producto cruzado
1

i
es diagonal,
y puede ser igual a la identidad dividiendo las funciones base por las
constantes adecuadas,

m
i
para k = 0 y
_
m
i
/2 para el resto de k.
La Transformada Rapida de Fourier (the Fast Fourier Transform -
FFT) permite encontrar ecientemente todos los coecientes cuando
m
i
es potencia de 2 y los argumentos son igualmente espaciados, y
en este caso podemos encontrar los coecientes c
j
y los m
i
valores
suavizados de x
i
(t
ik
) en O(m
i
log m
i
) operaciones. Otras bases co-
mo los B-splines y las wavelets pueden igualar e incluso superar su
eciencia computacional.
La versi on ortonormal de la base de Fourier es conocida como base
ortonormal de funciones trigonometricas en L
2
(T) y viene dada por
T
0
(t) =
1
T
1/2
T
2j1
(t) =
_
2
T
_
1/2
sin
_
2jt
T
_
T
2j
(t) =
_
2
T
_
1/2
cos
_
2jt
T
_
j = 1, . . . .
3. Bases de Wavelets
Las wavelets se usan como funciones basicas para representar otras
funciones tal y como se hace con las funciones seno y coseno en la
transformada de Fourier. A diferencia de la transformada de Fourier,
en el analisis con wavelets no se asume que los datos sean periodicos,
por lo tanto es posible estudiar datos no periodicos utilizando muchas
menos funciones wavelets basicas que las que se necesitaran si se
utilizaran funciones seno y coseno para alcanzar una aproximacion
adecuada de la forma funcional.
El analisis con wavelets permite denir una funcion prototipo o wavelet
madre que no siempre es la misma, es decir, las funciones base no
siempre son iguales a diferencia de lo que ocurre en la transformada
de Fourier, donde las funciones base son siempre el seno y el coseno.
Las wavelets madre se pueden dise nar dependiendo de los gustos y
1

i
= (
j
(t
ik
))
m
i
p
14 Estimacion penalizada con datos funcionales
las necesidades del dise nador, siempre y cuando cumplan algunas nor-
mas.
Se considera una funcion wavelet madre (mother wavelet), , consi-
derandose las dilataciones y las translaciones de la forma

kj
(t) = 2
k/2

_
2
k
t j
_
con j y k enteros. Se construye la wavelet madre para asegurar que
la base es ortogonal, en el sentido de que la integral del producto de
cualesquiera dos funciones base distintas es cero.
La expansion wavelet de una funcion f proporciona un analisis de
multiresoluci on en el sentido de que los coecientes de
kj
dan infor-
macion sobre f proxima a la posicion 2
k
j sobre la escala 2
k
, esto
es, en frecuencias proximas a c2
k
, para alguna constante c.
Supongamos una funcion x
i
, i = 1, . . . , n, observada sin error en nodos
igualmente espaciados en el intervalo T. Igual que con la transforma-
da de Fourier, hay una transformacion wavelet discreta (DWT) que
proporciona m
i
coecientes estrechamente relacionados con los coe-
cientes de la funcion x
i
. As, podemos calcular la DWT y su inversa en
O(m
i
) operaciones. Si suponemos que las observaciones de x
i
estan
sujetas a un ruido, el hecho de que muchas clases de funciones tengan
expansiones wavelet economicas conduce a una simple aproximacion
suave no lineal.
4. Bases de potencias y exponenciales
Los sistemas de base exponencial consisten en una serie de funciones
exponenciales,
e

1
t
, e

2
t
, . . . , e

j
t
, . . . j = 1, 2, . . .
donde, los parametros
j
son todos distintos, y a menudo
1
= 0.
Las ecuaciones diferenciales lineales con coecientes constantes tienen
como soluciones, expansiones en terminos de bases exponenciales.
Las bases de potencias
t

1
, t

1
, . . . , t

j
, . . . j = 1, 2, . . .
son importantes cuando t es estrictamente positivo, para que las po-
tencias negativas sean posibles.
Obtencion de la forma funcional 15
5. Bases polinomiales
Sea una base polinomial

j
(t
ik
) = (t
ik
)
j
, j = 0, . . . , p, i = 1, . . . , n.
donde, p es el n umero de funciones base, n el n umero de observa-
ciones funcionales y es un parametro que normalmente se elige en
el centro del intervalo de aproximaci on. Dicho parametro se puede
tomar cuidadosamente pera evitar el error de redondeo en las com-
putaciones, ya que los valores estan mas altamente correlados cuando
el grado incrementa. Sin embargo, si los t
ik
estan igualmente espa-
ciados o se pueden elegir para mostrar algunos patrones estandar, las
extensiones polinomiales ortogonales se pueden obtener implementan-
do O((m
i
+g) p) operaciones, llamando g al grado del polinomio.
6. Base de funciones constantes
Las trayectorias de procesos puntuales y de recuento son constantes
en intervalos aleatorios denidos por los instantes en los que se pro-
ducen nuevas llegadas. La base adecuada para reconstruir las fun-
ciones muestrales de este tipo de procesos es la base ortogonal de
funciones constantes sobre los intervalos de una particion jada.
Dada una particion del intervalo de observacion T denida por los
nodos 0 = a
0
< a
1
< . . . < a
p
, una base ortonormal del subes-
pacio de las funciones constantes sobre cada uno de los intervalos
(a
j1
, a
j
] (j = 1, . . . , p) esta denida como

j
(t) = (a
j
a
j1
)
1/2
I
j
(t),
donde I
j
(t) es la funcion indicadora en el intervalo (t
j1
, t
j
] que toma
el valor uno en dicho intervalo y el valor cero fuera de el.
16 Estimacion penalizada con datos funcionales
Captulo 3
Estimacion aproximada de los
coecientes basicos
Existen diferentes formas de aproximar los coecientes basicos depen-
diendo del tipo de observaciones con que estemos trabajando.
Si el predictor funcional es observado con error
x
ik
= x
i
(t
ik
) +
ik
k = 0, . . . , m
i
, , i = 1, . . . , n,
podemos utilizar una aproximaci on suave, como la aproximaci on de mni-
mos cuadrados, despues de elegir funciones base adecuadas.
Si consideramos que las curvas muestrales son observadas sin error
x
ik
= x
i
(t
ik
) k = 0, . . . , m
i
, , i = 1, . . . , n,
utilizaramos alg un metodo de interpolacion, como por ejemplo la interpo-
lacion Spline C ubica.
Ambos metodos, suavizado e interpolacion, nos permiten obtener la
forma funcional de trayectorias muestrales mediante la aproximaci on de
coecientes base a
ij
a partir de observaciones de las curvas muestrales en
tiempo discreto.
3.1. Interpolacion Spline C ubica con base de
B-splines
Las funciones base B-splines son muy usadas en la practica dado su
buen comportamiento local.
17
18 Estimacion penalizada con datos funcionales
Consideremos los mismos tiempos de observacion t
0
< . . . < t
m
para
todas las trayectorias muestrales (m
i
= m, i). Entonces, la funcion spline
c ubico que interpola a cada una de las trayectorias muestrales x
i
(t) sobre
los nodos de observacion, se puede expresar en terminos de la base de B-
splines c ubicos B
1
(t) , B
0
(t) , . . . , B
m+1
(t) en la forma
x
i
(t) =
m+1

j=1
a
ij
B
j
(t) ,
donde los coecientes base se obtienen resolviendo el siguiente sistema de
ecuaciones lineal
x
ik
= x
i
(t
k
) =
m+1

j=1
a
ij
B
j
(t
k
) , k = 0, . . . , m. (3.1)
Este es un sistema con (m+ 1) ecuaciones y (m+ 3) incognitas, luego hay
que imponer dos condiciones adicionales para resolverlo. Dependiendo de
las condiciones que se impongan, la interpolacion spline c ubica recibe dis-
tintos nombres. La mas usada es la interpolacion spline c ubica natural, la
cual impone que la segunda derivada del spline de interpolacion sea cero
en los nodos extremos t
0
y t
m
. En Aguilera et al (1996) se usa esta in-
terpolacion para la estimacion del Analisis de Componentes Principales
Funcional (ACPF) de un conjunto de funciones muestrales.
Si consideramos todas las trayectorias muestrales x
1
(t) , . . . , x
n
(t) ob-
servadas en los nodos t
0
, . . . , t
m
, el sistema lineal (3.1) nos lleva a X
I
= AB

donde A es una matriz cuyas las son los coecientes base de cada una de
las trayectorias muestrales x
i
(t) , X
I
= (0 [ A [ 0) con 0 = (0, . . . , 0)

y
A
n(m+1)
= (x
i
(t
k
)) , i = 1, . . . , n, k = 0, . . . , m, con B denido por
B =
_
_
_
_
_
_
B
2)
1
(t
0
) B
2)
0
(t
0
) B
2)
m+1
(t
0
)
B
1
(t
0
) B
0
(t
0
) B
m+1
(t
0
)

B
1
(t
m
) B
0
(t
m
) B
m+1
(t
m
)
B
2)
1
(t
m
) B
2)
0
(t
m
) B
2)
m+1
(t
m
)
_
_
_
_
_
_
(m+3)(m+3)
siendo B
2)
j
(t) la segunda derivada del j-esimo B-spline en el tiempo t. Re-
solviendo esta ecuacion matricial obtenemos la matriz A de coecientes
base para todas las trayectorias muestrales, dada por A = X
I
(B

)
1
.
Estimacion aproximada de los coecientes basicos 19
Otro tipo de interpolacion spline c ubica es la interpolacion spline c ubi-
ca quasi-natural que utiliza valores generados uniformemente (proximos a
cero) como condiciones lmite. En este caso, la matriz de interpolacion es
X
I
= (u
1
[ A [ u
2
) con u
1
y u
2
vectores de valores uniformemente genera-
dos en el intervalo [0, 1]. Este tipo de interpolacion ha sido introducida en
Escabias et al. (2005) para la estimacion del modelo de regresion logstica
funcional.
3.2. Proyecci on ortogonal
Otra aproximaci on suave para estimar los coecientes basicos consiste
en aproximar cada curva muestral por su proyeccion ortogonal sobre el
subespacio de L
2
(T) generado por una base ortonormal
1
(t) , . . . ,
p
(t) .
La proyeccion ortonormal de cada curva muestral x
i
(t) en este subespa-
cio p-dimensional viene dado por
P
p
(x
i
(t)) =
p

j=1
__
T
x
i
(t)
j
(t)dt
_

j
(t) i = 1, . . . , n j = 1, . . . , p.
El problema es estimar los coecientes base
a
ij
=
_
T
x
i
(t)
j
(t)dt
a partir de observaciones en tiempo discreto de las trayectorias muestrales.
Una posible solucion para calcular de forma aproximada estas integrales
consiste en aplicar metodos de cuadratura compuesta, como el metodo de
integraci on de Romberg. Para aplicar este metodo es necesario aproximar
los valores de las funciones muestrales en particiones cada vez mas nas del
intervalo de observacion. Estos valores pueden ser aproximados mediante
interpolacion spline c ubica natural (Aguilera et al., 1995).
3.3. Aproximacion de mnimos cuadrados
Nuestro objetivo es ajustar una curva a las observaciones discretas x
ik
,
con i = 1, . . . , n y k = 0, . . . , m
i
, usando el modelo
x
ik
= x
i
(t
ik
) +
ik
20 Estimacion penalizada con datos funcionales
y una expansion en terminos de funciones basicas para x
i
(t
ik
) dada por
x
i
(t
ik
) =
p

j=1
a
ij

j
(t
ik
) ,
en forma matricial
x
i
(t
ik
) = a

i
(t
ik
) ,
donde a
i
= (a
i1
, . . . , a
ip
)

y (t) = (
1
(t) , . . . ,
p
(t))

.
Como consecuencia y considerando

i
= (
j
(t
ik
))
m
i
p
y
x
i
= (x
i1
, x
i2
, . . . , x
im
i
)

,
los valores estimados por el modelo en los nodos de observaci on seran de la
forma
x
i
= a
i
.
Los coecientes de la expansion basica, a
ij
, se determinan por el criterio
de mnimos cuadrados, y en forma matricial se tiene que
ECM (x
i
a
i
) = (x
i

i
a
i
)

(x
i

i
a
i
) . (3.2)
Derivando la ecuacion (3.2) respecto a a
i
se tiene la ecuacion
2
i

i
a
i
2

i
x
i
= 0. (3.3)
De este modo, el estimador de a
i
que minimiza el error de mnimos cuadra-
dos es
a
i
= (

i
)
1

i
x
i
. (3.4)
Los valores ajustados en los nodos de observaci on son
x
i
=
i
a
i
=
i
(

i
)
1

i
x
i
.
Y la curva ajusta es
x
i
(t) = a

i
(t) .
La aproximacion por mnimos cuadrados es adecuada cuando asumimos
que los residuos sobre la verdadera curva son independientes e igualmente
distribuidos con media cero y varianza constante.
Estimacion aproximada de los coecientes basicos 21
3.3.1. Ajuste por mnimos cuadrados ponderados
Cuando tratamos con errores no estacionarios y/o autocorrelados, de-
beramos aportar un peso diferente a los distintos residuos. Ello se consigue
extendiendo el criterio de mnimos cuadrados de la forma
ECM (x
i
a
i
) = (x
i

i
a
i
)

W (x
i

i
a
i
) , (3.5)
donde W es una matriz simetrica, denida positiva. Si la matriz de varianzas-
covarianzas
e
es conocida, entonces
W =
1
e
.
En aplicaciones donde no es factible estimar
e
, se asume que las cova-
rianzas entre errores son cero, y en ese caso, W, preferiblemente, es diagonal
con recprocos de la varianza del error asociadas con las x
ik
en la diagonal.
De este modo, el estimador de mnimos cuadrados ponderados para los
coecientes a
i
es
a
i
= (

i
W
i
)
1

i
Wx
i
. (3.6)
3.3.2. Como elegir el n umero de funciones base
La literatura sobre regresion m ultiple presenta muchas ideas para de-
cidir el n umero de funciones base a utilizar. Por ejemplo el metodo de
seleccion de variables stepwise. Este u otro metodo similar se puede usar
en este caso, pero siempre teniendo en cuenta sus limitaciones.
Cuando se suaviza una curva, la cantidad total de informacion de la que
se dispone no sirve para mucho mas que para estimar una varianza con-
stante
2
, asumiendo un modelo estandar con error, o una funcion varianza
con valores
2
(t), con leves variaciones sobre t.
Asumiendo un modelo estandar con error, es mas adecuado utilizar un
estimador para la varianza del tipo
s
2
=
1
n p
m
i

k=0
(x
ik
x
ik
)
2
, i = 1, . . . , n.
que utilizar el estimador de maxima verosimilitud, el cual implica dividir
por n. Esta estimacion se considera en un metodo mas general denomina-
do validaci on cruzada generalizada, el cual es utilizado en la eleccion del
parametro de suavizado.
22 Estimacion penalizada con datos funcionales
Un posible metodo para elegir p, el n umero de funciones base adecua-
do, es a nadir funciones base hasta que el valor de s
2
tienda a disminuir
considerablemente. Hay que destacar la carencia de rigor de esta tecnica,
debiendo tener especial cuidado si se emplea, ya que a veces se puede dar
lugar a un sobre-ajuste de los datos si se consideran mas funciones base de
las necesarias.
3.4. Mnimos cuadrados localizados
Para un metodo de suavizado, el valor de la funcion estimada en un pun-
to t puede estar inuenciada por las observaciones proximas a t. Este rasgo
es una propiedad implcita de los estimadores que hemos considerado hasta
ahora. En este apartado, se consideran estimadores donde la dependencia
local se hace mas explcita mediante funciones de peso local.
De acuerdo con el dominio del suavizado lineal, el estimador de la fun-
cion x (t
ik
) es de la forma
x (t
ij
) =
m
i

k
w
ik
x
ik
,
de modo que los pesos w
ik
seran relativamente grandes para valores mues-
trales t
ik
proximos al valor jado t
ij
.
Ahora buscamos metodos de suavizado que hagan explcito este prin-
cipio de ponderacion localizada. Las ponderaciones w
ik
se construyen me-
diante un cambio de origen y escala de una funcion n ucleo con valores
kern(u) . Esta funcion kernel esta dise nada para tener la mayora de su
masa concentrada proxima a cero, y o decaer rapidamente, o desaparece
por completo para u 1. Algunos de los kernels mas usados son
Uniforme : Kern(u) = 0,5 para u 1, 0 en otro caso.
Cuadr atico : Kern(u) = 0,75 (1 u
2
) para u 1, 0 en otro caso.
Gaussiano : Kern(u) = (2)
1
2
exp (u
2
/2) .
Si denimos los valores de los pesos o ponderaciones como
w
ik
(t) = Kern
_
t
ik
t
ij
h
_
, (3.7)
Estimacion aproximada de los coecientes basicos 23
se tiene que valores grandes de w
ik
(t) se concentran en los t
ik
proximos a t
ij
.
El grado de concentracion se controla mediante el parametro h (conocido
con el nombre de ancho de ventana bandwidth). Valores peque nos de h
implican que solo las observaciones cercanas a t (punto en el que se estima)
tiene peso signicativo en la estimacion.
Para un estudio mas detallado de distintos estimadores n ucleo ver Ram-
say y Silverman (2005).
24 Estimacion penalizada con datos funcionales
Captulo 4
Estimacion por mnimos
cuadrados penalizados
En la actualidad, las tecnicas de suavizado tienen un papel muy rele-
vante debido a la complejidad de los datos con los que se trabaja. Ademas,
los avances informaticos han reducido el coste computacional que supone
ajustar modelos de suavizado.
En el ajuste de curvas como expansiones basicas por mnimos cuadrados
no es facil controlar el grado de suavidad de la curva ajustada. Por otro lado,
tecnicas como el suavizado n ucleo (kernel smoothing) y el ajuste polinomial
local (local polynomial tting) se basan en algoritmos que son simples
modicaciones de tecnicas estadsticas clasicas. Estos ofrecen un control
continuo de la suavidad de las aproximaciones, pero rara vez son soluciones
optimas a un problema estadstico, como por ejemplo, la minimizacion del
error cuadratico medio.
En el suavizado con splines hay varios enfoques. Los splines de regresion
(regression splines) estudiados en el captulo anterior se obtienen mediante
el ajuste por mnimos cuadrados sin penalizar con base de B-splines. Y los
splines de suavizado (Green y Silverman, 1994) que utilizan tantos paramet-
ros como observaciones y se obtienen penalizando la integral del cuadrado
de la derivada de cierto orden. Este hecho provoca que su implementaci on
no sea eciente cuando el n umero de datos es muy elevado. Los splines de
regresion se pueden ajustar utilizando el metodo de mnimos cuadrados una
vez que se ha seleccionado el n umero de nodos. Sin embargo, la seleccion
de los nodos se hace mediante algoritmos bastante complicados.
Recordemos el estimador de mnimos cuadrados de los coecientes de la
expansion basica, a
i
= (

i
)
1

i
x
i
. Es evidente que las curvas ajustadas
25
26 Estimacion penalizada con datos funcionales
usando splines de regresion, x
i
(t) = a

i
(t), dependen del tama no de la
base ((t)). Cuanto mayor es la base, menos suave es la curva. Cuando
el n umero de nodos es igual al n umero de datos se obtiene una curva que
interpola los datos.
En la gura ( 4.1) vemos el efecto que tiene el tama no de la base en la
curva ajustada.
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
Splines de regresin
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
5 nodos
15 nodos
25 nodos
Figura 4.1: Curva ajustada (utilizando splines de regresion) con 5, 15 y
25 nodos basicos. Se parte de 50 datos simulados para la funcion f (t) =
cos (2 t).
Para solucionar esta situacion, OSullivan (1986) introdujo una penal-
izacion en la segunda derivada de la curva (metodo de penalizacion de la
rugosidad o regularizacion).
Los splines con penalizaciones basadas en diferencias entre coecientes
adyacentes (a los que denominamos P-splines) combinan lo mejor de am-
bos enfoques: utilizan menos parametros que los splines de suavizado, pero
la seleccion de los nodos no es tan determinante como en los splines de
regresion. Los P-splines fueron introducidos por Eilers y Marx (1996), al-
canzando su maxima popularidad en la actualidad (Ruppert et al., 2003).
Dentro de los usuarios de P-splines hay dos variantes: los que utilizan
Estimacion por mnimos cuadrados penalizados 27
las bases de polinomios truncados y los que utilizan los B-splines. De ahora
en adelante, y al igual que en el ajuste sin penalizacion, nos centraremos
en los ultimos.
A continuacion se enumeran algunas de las razones por las que utilizar
los P-splines:
1. Son splines de rango bajo, es decir, el tama no de la base utilizada
es mucho menor que la dimension de los datos. Esto contrasta con
lo que ocurre con los splines de suavizado, donde hay tantos nodos
como datos, lo que provoca que haya que trabajar con matrices de
grandes dimensiones. En el caso de los P-splines, el n umero de nodos
no supera los 40, con lo cual son computacionalmente ecientes, sobre
todo si se trabaja con gran cantidad de datos.
2. La introduccion de penalizaciones relaja la importancia de la eleccion
del n umero y la localizacion de los nodos (Rice y Wu, 2001).
3. La correspondencia entre los P-splines y el BLUP (mejor predictor
lineal e insesgado) en un modelo mixto permite, en algunos casos,
utilizar la metodologa existente en el campo de los modelos mixtos y
el uso de software estadstico como la librera nlme en S-PLUS y R.
4.1. Penalizacion de la suavidad
La integral de la segunda derivada de la curva ajustada x
i
(t) = a

i
(t) al
cuadrado en un instante t, [D
2
x
i
(t)]
2
, es una penalizacion bastante com un
(es la que se utiliza en los splines de suavizado), y es considerada como la
curvatura de dicha funcion en t. Sin embargo, no hay nada de particular
en la segunda derivada, se pueden utilizar derivadas de cualquier orden.
Con objeto de cuanticar la suavidad (roughness) de cada una de las
curvas, x
i
(t), se dene la funcion
PEN
m
(x
i
) =
_
[D
m
x
i
(s)]
2
ds =
_
[D
m
a

i
(s)]
2
ds
=
_
a

i
D
m
(s) D
m

(s) a
i
ds
= a

i
[
_
D
m
(s) D
m

(s) ds]a
i
28 Estimacion penalizada con datos funcionales
= a

i
Ra
i
, (4.1)
donde R es una matriz que contiene integrales de productos externos de
vectores de funciones, y se dene como
R =
_
D
m
(s) D
m
(s)

ds. (4.2)
con (s) = (
1
(s) , . . . ,
p
(s))

.
A la hora de calcular la matriz R se suele aproximar la integral, dada
en (4.2), por formulas de cuadratura numerica, aunque si se utilizan bases
de B-splines y bases de fourier se pueden obtener expresiones exactas. La
precision a la hora de aproximar es muy importante. Una muestra de ello es
que si reemplazamos R por una matriz de operadores de diferencia de orden
m aplicados a sus propios coecientes, parece funcionar tan bien como una
tecnica de suavizado para puntos muestrales igualmente espaciados (Eilers
y Marx, 1996).
Del mismo modo que en el caso de la estimacion por mnimos cuadra-
dos sin penalizar, podemos utilizar bases de B-splines, bases de fourier,
wavelets, etc. En la practica, cuando apliquemos la penalizacion de la ru-
gosidad vamos a trabajar con bases de B-splines. El planteamiento que se
presenta a continuacion motiva y corrobora esta decision.
Considerese la funcion x
i
con la unica condicion de que la integral de la
derivada de segundo orden al cuadrado es nita. Ademas, se asume que los
puntos muestrales t
ik
k = 0, . . . , m
i
son distintos. La cuestion que nos
planteamos es encontrar la funcion minimiza el error de mnimos cuadrados
penalizado
ECMPEN

i
(x[x
i
) = (x
i
w
i
)

(x
i
w
i
)
2
+
i
PEN
2
(x)
donde w
i
= (w
i1
, . . . , w
im
i
) es el vector que resulta de evaluar w
ik
= x
i
(t
ik
).
Un teorema que podemos encontrar en de Boor (2002) llega a la con-
clusion de que la curva x
i
que minimiza la ecuacion de mnimos cuadrados
penalizados es un spline c ubico cuyos nodos coinciden con los puntos t
ik
.
Esto justica que la tecnica computacional mas com un dentro de los
splines de suavizado es utilizar expansiones de funciones basicas de B-
splines de orden 4. (B-splines c ubicos).
Estimacion por mnimos cuadrados penalizados 29
4.2. Spline de suavizado
Asumiendo una representaci on basica de cada curva muestral en termi-
nos de B-splines, el spline de suavizado se obtiene minimizando la siguiente
funcion objetivo:
ECMPEN
m
(x
i
,
i
[a
i
) = (x
i

i
a
i
)

(x
i

i
a
i
) +
i
a

i
Ra
i
. (4.3)
Tomando la derivada con respecto al vector de parametros a
i
, tenemos
2

i
x
i
+ 2

i
a
i
+ 2
i
Ra
i
= 0,
A partir de lo cual se obtiene la expresion del vector de coecientes
estimados
a
i
= (

i
+
i
R)
1

i
x
i
(4.4)
La aportacion de OSullivan (1986) no es mas que reducir lo anterior al
caso en que m = 2, de modo que
ECMPEN
2
(x
i
,
i
[a
i
) = (x
i

i
a
i
)

(x
i

i
a
i
)+
i
a

i
(
_
D
2
(s) D
2

(s) ds)a
i
,
(4.5)
y el vector de coecientes estimados es
a
i
=
_

i
+
i
(
_
D
2
(s) D
2

(s) ds)
_
1

i
x
i
(4.6)
A continuacion abordaremos el problema de suavizado spline como un
problema de mnimos cuadrados generalizados. Es decir, la expresion ( 4.3)
se puede expresar como un problema de mnimos cuadrados generalizados.
En primer lugar, dado que R es una matriz semidenida positiva, debido a
su estructura de producto cruzado, se puede expresar como
R = L

L
aplicando la descomposicion de Choleski, entre otras posibles.
Consideremos ahora
x
i
=
_
x
i
0
_
30 Estimacion penalizada con datos funcionales
donde el vector 0 tiene la misma longitud que a
i
. As, podemos igualar este
vector respuesta generalizado con la matriz de dise no generalizada

i
=
_

i

i
L
_
Finalmente, expresamos la matriz de pesos W con la matriz identidad I
sobre la diagonal y ceros en el resto para conseguir la matriz de pesos
generalizada

W.
Ahora, podemos expresar el vector de coecientes a
i
utilizando la pena-
lizacion de la rugosidad como solucion del problema de mnimos cuadrados
ponderados
ECM ( x
i
[a
i
) =
_
x
i

i
a
i
_

W
_
x
i

i
a
i
_
(4.7)
En denitiva, hemos convertido un problema de penalizacion de la ru-
gosidad en un problema de mnimos cuadrados, donde los x
i
se han am-
pliado con un vector de ceros, con matriz de dise no generalizada

i
L.
Es preferible usar la descomposicion QR para minimizar (4.7), en lugar de
usar (4.4) directamente, desde el punto de vista del error de redondeo en
el calculo de a
i
.
4.3. P-splines
La novedad que introducen los P-splines es que la penalizacion es discre-
ta y que se penalizan los coecientes basicos de las curvas directamente, en
lugar de penalizar la curva, lo que reduce la dimensionalidad del problema.
El tipo de penalizacion depende del tipo de base que se utilice. Eilers y
Marx (1996) utilizan una penalizacion basada en las diferencias de orden d
entre los coecientes adyacentes de la base de B-splines. Este tipo de pe-
nalizacion es mas exible, ya que es independiente del grado del polinomio
utilizado para construir los B-splines. Ademas, es una buena aproximaci on
discreta de la integral de la d-esima derivada al cuadrado. La penalizacion
se a nade a la funcion de mnimos cuadrados, dando lugar a una funcion de
mnimos cuadrados penalizados
S (x
i
,
i
[a
i
) = (x
i

i
a
i
)

(x
i

i
a
i
) +
i
a

i
P
d
a
i
,
Estimacion por mnimos cuadrados penalizados 31
cuya solucion es
a
i
= (

i
+
i
P
d
)
1

i
x
i
, (4.8)
con P
d
=
_

d
_

d
. Si d = 0 obtenemos una penalizacion ridge.
En general, se utiliza d = 2, aunque se pueden utilizar ordenes superiores
o inferiores, dependiendo de la variabiliad de la curva y de la cantidad de
ruido en los datos. Una penalizacion de orden dos equivale a
(a
i1
2a
i2
+a
i3
)
2
+ + (a
ip2
2a
ip1
+a
ip
)
2
= a

i
D

Da
i
donde
D =
_

_
1 2 1 0
0 1 2 1
0 0 1 2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
_

_
En la Figura (4.2) se muestran los ajustes de una curva mediante B-
splines, sin penalizacion y con penalizacion los (mediante splines de suaviza-
do y P-splines). Para el ajuste con Splines de regresion podemos ver como
el patron erratico de los coecientes da lugar a una curva poco suave. En
cambio, en el ajuste con P-splines, cuando se impone a los coecientes
que se pase de uno a otro de forma suave, la curva resultante tambien es
suave. En este caso, podemos apreciar, que dada la igualdad de parametros
(n umero de nodos y
i
, este ultimo en el caso de penalizacion) el P-spline
da lugar a una curva mas suave que el Spline de suavizado.
En las propiedades de los P-splines con bases de B-splines hay que
destacar que no padecen de efecto frontera. El efecto frontera es el que hace
que al extender la curva fuera del dominio de x la curva decrezca rapida-
mente hacia 0. Ademas los P-splines ajustan de forma exacta los polinomios,
es decir, si la curva es polinomica, un P-spline la recuperara exactamente.
Por ultimo, se conservan los momentos, es decir, que la media y la varianza
de los valores ajustados es la misma que la de los datos, sea cual sea el
parametro de suavizado.
La seleccion y localizacion de los nodos no esta hecha de antemano,
como en el caso de los splines de suavizado (smoothing splines). Si se elige
un n umero de nodos sucientemente grande basta con elegirlos de forma
equidistante.
32 Estimacion penalizada con datos funcionales
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
Diferentes ajustes con 50 observaciones
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
Splines de regresin
Splines de suavizado
Psplines
Figura 4.2: Curva ajustada sin penalizacion (mediante un Spline de Regre-
sion), penalizando la curva (mediante Splines de suavizado) y penalizando
los coecientes (mediante P-splines), utilizando 5 nodos para las bases de
B-splines. Para la penalizacion se ha considerado = 1. (Se parte de 50
datos simulados para la funcion f (t) = cos (2 t).)
4.3.1. P-splines como modelos mixtos
La gran revoluci on de los P-splines producida en los ultimos a nos se
debe en gran parte a la posibilidad de escribir un modelo no parametrico o
semiparametrico como un modelo mixto (o modelo con efectos aleatorios).
La ventaja que tiene utilizar este enfoque es doble. Por un lado, se puede
utilizar todo la metodologa desarrollada para los modelos mixtos, y por
otro, es posible utilizar el software para modelos mixtos que esta disponible
en la mayora de los paquetes estadsticos.
Las primeras relaciones entre regresion no parametrica y modelos mixtos
se remonta a principios de los 90 (Speed, 1991). Autores como Brumback
Estimacion por mnimos cuadrados penalizados 33
y Rice (1998) y Verbyla et al (1999) desarrollaron con mas profundidad
el tema del suavizado con modelos mixtos (en el contexto de los splines
c ubicos) y mas tarde Wand (2003) en el contexto de los P-splines con poli-
nomios truncados como bases. Sin embargo, no se haba intentado buscar
una representacion de los P-splines con bases de B-splines como modelos
mixtos, lo cual, entre otras cosas, dara lugar a bases mas estables.
El interes de los P-splines como modelos mixtos nace por los proble-
mas de identicaci on del modelo que presentaban los modelos aditivos de
suavizado. El uso de P-splines hace que no sea necesario un metodo itera-
tivo (como el backtting algorithm) para la estimacion de las curvas. Sin
embargo, es necesario modicar las bases de forma que una curva se pueda
descomponer como suma de un componente polinomico (del mismo orden
que la penalizacion) y otro no polinomico. Es decir, dado el modelo
x
i
= a
i

i
+
i

i
N
_
0,
2
i
I
_
se puede reformular como
x
i
= X
i

i
+Z
i
u
i
+
i
, u
i
N
_
0,
2
u
i
I
p2
_
,
con p el n umero de columnas de la base original
i
.
Si utilizamos como bases los B-splines, X
i
y Z
i
tendran la siguiente
forma
X
i
= [1 : t
i
] , Z
i
=
i
U
1/2
donde U y son matrices que forman parte de la descomposicion en valores
singulares de la matriz de penalizacion P = D

D, es decir, D

D = UU

El parametro de suavizado es
i
=
2
i
/
2
u
i
. Utilizando el modelo mixto es
posible estimar el parametro de suavizado junto con el resto de parametros
del modelo, en lugar de emplear los criterios comentados en el apartado
4.4.
El metodo estandar para la estimacion de las componentes de varian-
za en modelos mixtos es el metodo de maxima verosimilitud restringida
(REML)

R
_

2
u
i
,
2

i
_
=
=
1
2
log [X

i
V
1
i
X
i
[
1
2
x

i
_
V
1
i
V
1
i
X
i
_
X

i
V
1
i
X
i
_
1
X

i
V
1
i
_
x
i
,
donde V
i
=
2
u
i
Z
i
Z

i
+
2
i
I.
34 Estimacion penalizada con datos funcionales
El vector de parametros
i
y el vector de coecientes aleatorios u
i
se
estiman como

i
=
_
X

V
1
i
X
i
_
1
X

V
1
i
x
i
u
i
=
2
u
i
Z

V
1
i
_
x
i
X
i

i
_
,
donde

V
1
i
=
1

2
i
_
I Z
i
_
Z

i
Z
i
_

2
i
/
2
u
i
_
I
p2
_
1
Z

i
_
.
4.4. Seleccion del parametro de suavizado
El papel del parametro de suavizado en los P-splines es el mismo que
tiene cualquier otro metodo de suavizado: controlar la suavidad de la curva.
Los P-splines penalizan los coecientes que estan muy separados entre s.
Cuanto mayor el
i
, mas se aproximan los coecientes a cero de modo
que si
i
obtenemos un ajuste polinomico. Por el contrario, cuando

i
0 estaremos utilizando mnimos cuadrados ordinarios y por tanto
nos aproximamos a un ajuste lineal. El la gura (4.3) se muestran curvas
ajustadas usando diversos valores del parametro de suavizado.
En los criterios disponibles para elegir
i
se encuentran los criterios
clasicos de seleccion de modelos como el AIC o criterio de informacion de
Akaike (Akaike information criterium), CV o criterio de validacion cruza-
da (cross validation), GCV o criterio de validaci on cruzada generalizado
(genelalized cross validation).
El metodo de validacion cruzada (leave one out) consiste en seleccionar,
para cada curva, el parametro de suavizado
i
que minimiza la expresion
ECMCV (
i
) =
m
i

k=0
_
x
ik
x
k)
ik
_
2
donde x
k)
ik
son los valores de la i-esima trayectoria muestral estimados en
el instante de tiempo t
ik
siguiendo los siguientes pasos
Se extrae el primer nodo de observaci on x
i0
= x
i
(t
i1
) y se ajusta la
curva, x
i
(t), con los m
i
nodos restantes.
A continuaci on, se obtiene x
1)
i0
= x
i
(t
i0
).
Estimacion por mnimos cuadrados penalizados 35
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
Psplines con diferentes lambdas
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
lamba=0.005
lamba=5
lamba=50
lamba=300
lamba=3000
Figura 4.3: Curva estimada mediante P-splines para distintos valores de
i
.
(Se parte de datos simulados para la funcion f (t) = cos (2 t)).
Se repite el procedimiento con las m
i
observaciones restantes de ma-
nera, que se obtienen todas las x
k)
ik
, con k = 0, . . . , m
i
.
Este metodo presenta varios problemas. El primero es que para grandes
vol umenes de datos, supone un gran coste computacional. El segundo es
que minimizando CV podemos provocar un sobre suavizado de los datos.
La medida GCV (genelalized cross validation) es muy utilizada en la
literatura sobre splines de suavizado. Fue desarrollada por Craven y Wahba
(1979). Se ha comprobado que es mas efectiva que la validaci on cruzada,
ya que presenta menor tendencia al sobre suavizado.
Para el caso de un suavizado spline se tiene que
GCV (
i
) =
m
i
1
ECM
[m
i
1
traza (I S
,
i
)]
2
donde S

i
,
i
=
i
(

i
+
i
R)
1

i
, R viene dada por la expresion (4.2) y
36 Estimacion penalizada con datos funcionales
ECM es el error cuadratico medio denido por
ECM =
m
i

k=0
(x
ik
x
ik
)
2
= |x
i

i
a
i
|
2
.
Puede resultar mas interpretable usar la siguiente expresion equivalente
GCV (
i
) =
_
m
i
m
i
df(
i
)
__
ECM
m
i
df(
i
)
_
,
donde df(
i
) = traza(S
,
i
).
Observemos que en el caso de errores Gaussianos, de forma analoga al
modelo de regresion lineal, la varianza residual se estima en la forma

2
i
=
|x
i

i
a
i
|
2
m
i
df(
i
)
,
aunque este estimador no es insesgado, ya que depende del sesgo introduci-
do por el suavizado.
Si se trabaja con P-splines, se tiene que df(
i
) = traza(H
i
) con H
i
dada
por
H
i
=
i
(

i
+
i
P
d
)
1

i
, (4.9)
con P
d
=
_

d
_

d
.
Los criterios de validacion cruzada no tienen en cuenta la dimensiona-
lidad del modelo y a veces seleccionan valores de
i
que dan lugar a curvas
mas suaves de lo que deberan. La ventaja de los P-splines respecto de otro
tipo de suavizadores es que es mucho mas rapido el calculo de la traza de
H
i
.
Finalmente, el criterio de informacion de Akaike, consiste en elegir para
cada curva el valor de
i
que minimice la siguiente expresion para los P-
splines
AIC = 2log
_
m
i

k=0
(x
ik
x
ik
)
2
_
2 log (m
i
) + 2 log (traza (H
i
))
donde
H
i
=
i
(

i
+
i
P
d
)
1

i
.
Para los splines de suavizado la matriz H
i
se sustituye por la matriz S
,
i
.
Captulo 5
Aplicaciones con R
Uno de los objetivos de este trabajo es la implementaci on en el entorno
de programacion R de todos los metodos de suavizado con bases de B-
splines estudiados. Para ilustrar el comportamiento de cada uno de ellos
en la practica se ha desarrollado un estudio de simulaci on y una aplicacion
con datos reales.
5.1. Ejemplo simulado
El objetivo de este estudio de simulaci on es aproximar la funcion
x (t) = cos (2 t)
a partir de observaciones discretas contaminadas por un ruido gaussiano.
En primer lugar, se ha recurrido a la simulacion de m (Caso I con
m=150 y Caso II con m=50) observaciones comprendidas en el intervalo
[0,1] (rango jo de valores de t). A continuaci on se evalua la funcion f (t)
en cada uno de esos valores y se les suma a cada uno de ellos un error
(valor simulado de una Normal(0,1)). De este modo se han generado las
observaciones correspondientes a una trayectoria muestral. El proceso se
repite n = 100 veces con la intenci on de obtener una muestra de 100 datos
funcionales. Por lo tanto, los datos simulados son de ls forma
x
ik
= x(t
k
) +
ik
k = 1, . . . , m; i = 1, . . . , 100,
con
k
N(0, 1).
37
38 Estimacion penalizada con datos funcionales
En principio se va a estudiar una sola curva. Posteriormente, se ver a el
comportamiento de las curvas medias ajustadas y el error cuadratico-medio
(ECM) de las mismas respecto de los nodos de observaci on..
Comenzamos con el ajuste de la curva correspondiente a una trayectoria
muestral mediante una expansion basica, tomando como base los B-splines.
Paralelamente se realiza el ajuste de la curva utilizando Splines de regresion,
Splines de suavizado, P-splines y P-splines como modelos mixtos. Se toman
diferentes n umero de nodos basicos con objeto de ver el comportamiento
de las curvas.
Para el ajuste de Splines de regresion se ha implementado una funcion en
R partiendo de la formula de de Boor(2001) para el calculo de los B-splines.
Del mismo modo se ha procedido para el ajuste con P-splines. Para estos
ultimos ha sido necesario implementar el metodo de validacion cruzada
(cross validation: leave-one-out) que nos informara del valor
i
idoneo (en
el sentido de que minimiza el ECMCV de la curva) para la penalizacion de la
curva (la tabla con los ECMCV obtenidos se pueden ver en el chero Cross-
Validation ejemplo.txt del CD adjunto a este trabajo de investigaci on). En
el ajuste de Splines de suavizado se ha empleado una funcion disponible
en las libreras de R, llamada smooth.splines. Esta funcion internamente
ejecuta una validacion cruzada generalizada, la cual aporta el parametro
mas adecuado para dicho ajuste. Para el ajuste de curvas mediante P-
splines como modelos mixtos, se han utilizado herramientas sobre modelos
mixtos disponibles en la librera nlmede R. El codigo R de las funciones
implementadas gura en el Anexo de este trabajo de investigaci on.
A continuaci on se presentan los resultados obtenidos para m = 150 y
para m = 50.
5.1.1. Caso I (150 nodos de observacion)
En la gura (5.1) se representan las curvas obtenidas por cada metodo
y para diferentes n umero de nodos de la base de B-splines. Es evidente que
los metodos de penalizacion mejoran el ajuste. Como se puede observar, el
ajuste mediante P-splines como modelos mixtos es muy preciso, indepen-
dientemente del n umero de nodos basicos utilizados.
Para poder comparar de una forma mas completa las diferentes metodolo-
gas, se han calculado las curvas medias ajustadas por cada metodo con 5
nodos basicos, considerando el mismo
i
para todas las curvas. (lambda = 2
Aplicaciones con R 39
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
3
Splines de regresin
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
5 nodos
15 nodos
25 nodos
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
3
Splines de suavizado
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
5 nodos y lambda=0.01
15 nodos y lambda=0.013
25 nodos y lambda=0.013
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
3
Psplines
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
5 nodos y lambda=2
15 nodos y lambda=0.70
25 nodos y lambda=1.20
0.0 0.2 0.4 0.6 0.8 1.0

2
0
2
4
Psplines con Modelos mixtos
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
5 nodos
15 nodos
25 nodos
Figura 5.1: Caso I (m=150). Curva ajustada mediante Splines de regresion,
Splines de suavizado, P-splines y P-splines como modelos mixtos, para los
distintos n umero de nodos de la base (5, 15, 25) y diferentes valores de
i
.
40 Estimacion penalizada con datos funcionales
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
Splines de regresin
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
5 nodos
15 nodos
25 nodos
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
Splines de suavizado
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
5 nodos y lambda=0.004
15 nodos y lambda=0.005
25 nodos y lambda=0.006
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
Psplines
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
5 nodos y lambda=2
15 nodos y lambda=0.10
25 nodos y lambda=1.20
0.0 0.2 0.4 0.6 0.8 1.0

1
0
1
2
Psplines con Modelos mixtos
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
f(t)
5 nodos
15 nodos
25 nodos
Figura 5.2: Caso II (m=50). Curva ajustada mediante Splines de regresion,
Splines de suavizado, P-splines y P-splines como modelos mixtos, para los
distintos n umero de nodos de la base (5, 15, 25) y diferentes valores de
i
.
Aplicaciones con R 41
para el caso de los P-splines y lambda = 0,01 en el caso de Splines de
suavizado). En la graca (5.3) se representan las curvas medias. Pode-
mos ver que las cuatro curvas medias correspondientes a las diferentes
metodologas se aproximan bastante bien a la funcion x(t) = cos(2 pi t).
Sin embargo, si se aumenta el n umero de nodos basicos el spline de regresion
presenta muchas oscilaciones con respecto a la funcion original.
Tambien se ha calculado el error cuadratico medio respecto de la funcion
en los instantes de observacion
ECM =
1
m
m

k=0
(x
i
(t
k
) x
i
(t
k
))
2
,
para cada curva y metodo. En la gura (5.4) se presentan los diferentes
diagramas de cajas y bigotes para estos errores. Se puede ver como las
metodologas con Splines de suavizado y P-splines tienen distribuciones
muy similares.
5.1.2. Caso II (50 nodos de observacion)
En la gura (5.2) se representan las curvas obtenidas por cada metodo y
para diferentes n umero de nodos de la base de B-splines. De una forma mas
clara que en el caso anterior, se observa que los metodos de penalizacion
mejoran el ajuste. El ajuste mediante P-splines como modelos mixtos, en
la lnea del caso anterior, es muy preciso, independientemente del n umero
de nodos basicos utilizados.
Se han calculado las curvas medias ajustadas por cada metodo con 5
nodos basicos, considerando el mismo
i
para todas las curvas. (lambda = 2
para el caso de los P-splines y lambda = 0,004 en el caso de Splines de
suavizado). En la graca (5.3) se representan las curvas medias. Podemos
ver que las cuatro curvas medias se aproximan bastante bien a la funcion
x(t) = cos(2 pi t). Si se utiliza un n umero de nodos basicos mayor que 5
el spline de regresion presenta muchas oscilaciones con respecto a la funcion
original (ver gura (5.1), graco correspondiente a Splines de regresion).
De nuevo se ha calculado el error cuadratico medio respecto de la funcion
en los instantes de observaci on para cada curva y metodo. En la gura (5.4)
se presentan los diferentes diagramas de cajas y bigotes para estos errores.
Las metodologas con Splines de suavizado y P-splines tienen distribuciones
muy similares, aunque en este caso, los P-splines presentan una distribucion
mas adecuada que los Splines de suavizado, en el sentido de que los ECM
son menores.
42 Estimacion penalizada con datos funcionales
0.0 0.2 0.4 0.6 0.8 1.0

1
.
0

0
.
5
0
.
0
0
.
5
1
.
0
Funciones medias
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
Curva Media
C.Media de Splines Regresin
C.Media Splines de suavizado
C.Media de Psplines
C. Media Modelos Mixtos
0.0 0.2 0.4 0.6 0.8 1.0

1
.
0

0
.
5
0
.
0
0
.
5
1
.
0
Funciones medias
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
Curva Media
C.Media de Splines Regresin
C.Media Splines de suavizado
C.Media de Psplines
C. Media Modelos Mixtos
m=150 m= 50
Figura 5.3: Comparacion de la funcion original con las curvas medias de
las curvas ajustadas mediante Splines de regresion, Splines de suavizado, P-
splines y P-splines como modelos mixtos, usando 5 nodos en la construccion
de las bases.
5.2. Suavizado de las curvas de temperat-
uras en Andaluca
Se dispone de las temperaturas medias para 13 zonas geogracas de
Andaluca, en un periodo de 120 meses. Dado el comportamiento cclico de
las mismas, y con objeto de apreciar las diferencias con mas claridad, se ha
trabajado con 13 trayectorias muestrales de 24 observaciones cada una.
En primer lugar se trabaja solo con las observaciones correspondientes
a la zona del Alto Guadalquivir.
En la gura (5.5) se representan las curvas obtenidas por cada metodo y
para diferentes n umero de nodos basicos, con bases de B-splines. Tambien
se muestra el graco con las funciones medias.
Se ha jado el n umero de nodos basicos en 5, y = 0,001 para los P-
splines y para los Splines de suavizado se han elegido mediante el procedi-
miento interno de validacion cruzada generalizada que contiene la funcion
smooth.splines. Con ello, se ha trabajado con las 13 curvas, calculando
los errores cuadraticos medios respecto de la funcion en los instantes de
observaci on para cada curva y metodo. En la gura (5.6) se presentan los di-
Aplicaciones con R 43
S.Regresin S.Suavizado Psplines Modelos.Mixtos
0
.
0
5
0
.
1
0
0
.
1
5
0
.
2
0
0
.
2
5
0
.
3
0
0
.
3
5
Diagrama de cajas y bigotes
E
C
M
S.Regresin S.Suavizado Psplines Modelos.Mixtos
0
.
1
0
.
2
0
.
3
0
.
4
0
.
5
0
.
6
Diagrama de cajas y bigotes
E
C
M
m=150 m= 50
Figura 5.4: Diagramas de cajas con bigotes para el ECM de las curvas
ajustadas con Splines de regresion, Splines de suavizado, P-splines y P-
splines como modelos mixtos, usando 5 nodos para las bases y
i
= 2, 0,01
respectivamente para P-splines y Splines de suavizado.
ferentes diagramas de cajas y bigotes para estos errores. Se puede ver como
las metodologas con Splines de regresion y P-splines tienen distribuciones
muy similares. Es de destacar que en esta aplicacion los ajustes con splines
de suavizado presentan mayores errores cuadraticos medios.
Finalmente, en la gura (5.7) se presentan las 13 curvas ajustadas me-
diante P-splines como modelos mixtos, para las trayectorias muestrales con
120 observaciones, utilizando 40 nodos para las bases de B-splines.
44 Estimacion penalizada con datos funcionales
5 10 15 20
0
1
0
2
0
3
0
4
0
Splines de regresin
Mes
T
e
m
p
e
r
a
t
u
r
a
xi(t)
5 nodos
15 nodos
20 nodos
5 10 15 20
0
1
0
2
0
3
0
4
0
Splines de suavizado
Mes
T
e
m
p
e
r
a
t
u
r
a
xi(t)
5 nodos
15 nodos
20 nodos
5 10 15 20
0
1
0
2
0
3
0
4
0
Psplines
Mes
T
e
m
p
e
r
a
t
u
r
a
xi(t)
5 nodos
15 nodos
20 nodos
5 10 15 20
1
0
1
5
2
0
2
5
3
0
Funciones medias
t
f
(
t
)
=
c
o
s
(
2
*
p
i
*
t
)
xi(t)
C.Media de Splines Regresin
C.Media Splines de suavizado
C.Media de Psplines
Figura 5.5: Curva ajustada mediante Splines de regresion, Splines de
suavizado y P-splines para los distintos n umero de nodos de la base (5,
15, 20) y diferentes valores de
i
. El ultimo graco corresponde a las curvas
medias para los distintos ajustes.
Aplicaciones con R 45
S.Regresin S.Suavizado Psplines
6
.
5
7
.
0
7
.
5
8
.
0
8
.
5
9
.
0
9
.
5
1
0
.
0
Diagrama de cajas y bigotes
E
C
M
Figura 5.6: Diagramas de cajas con bigotes para el ECM de las curvas
ajustadas con Splines de regresion, Splines de suavizado y P-splines, usando
5 nodos para las bases y
i
= 0,001, 0,000014 respectivamente para P-
splines y Splines de suavizado.
5.3. Conclusiones
El objetivo principal de este trabajo era comprobar la efectividad de
los ajustes con penalizacion. En la teora se han expuesto diferentes formas
de penalizar motivando su uso en referencia a algunas de sus ventajas. En
los ejemplo simulados, sobre todo en la simulaci on con 50 observaciones, se
puede ver como mejoran los ajustes cuando utilizamos P-splines, Splines de
suavizado o P-splines como modelos mixtos. En el caso de las temperaturas
para las diferentes zonas geogracas de Andaluca, como se observa en la
distribucion de los ECM, los splines de regresion parecen hacer un ajuste
adecuado, pero hay que tener en cuenta que las observaciones de temper-
46 Estimacion penalizada con datos funcionales
aturas no tienen mucho error y tal vez por eso no sea necesario utilizar
un suavizado. Otra cuestion a tener en cuenta es que dada la periodici-
dad de estos datos, lo mas adecuado sera trabajar con bases de fourier,
cuestion que se considera para posteriores estudios. No obstante, hay que
destacar que el ajuste de los P-splines como modelos mixtos proporciona
buenos ajustes tanto para los datos simulados como para las observaciones
reales(caso con m = 120). Ademas, esta forma de ajuste de los P-splines
no depende del n umero de nodos basicos y selecciona de forma automatica
el parametro de suavizado optimo.
En conclusion, se comprueba que en los casos en que se dispone de datos
con ruido, el uso de suavizado mejora el ajuste de las curvas. Ademas, se
han observado mejoras en los ajuste cuando se utilizan las metodologas de
ajuste de P-splines, es decir usando una penalizacion discreta basada en las
diferencias entre los coecientes basicos adyacentes.
La metodologa sobre P-splines como modelos mixtos presenta muchas
ventajas desde el punto de vista computacional. En trabajos como Wen-
sheng, G. (2004) se ha comprobado la efectividad de estos modelos en el
terreno de los datos longitudinales. No obstante, queda como objetivo para
proximos trabajos el estudio de dicha tecnica con mayor profundidad.
Aplicaciones con R 47
0 20 40 60 80 100 120
5
1
0
1
5
2
0
2
5
Modelos Mixtos para 13 zonas geogrficas de Andaluca
Mes
T
e
m
p
e
r
a
t
u
r
a
Figura 5.7: Suavizado mediante P-splines ajustados como modelos mixtos
con 40 nodos para las 13 curvas de temperaturas estudiadas
48 Estimacion penalizada con datos funcionales
Captulo 6
Lneas abiertas
Este trabajo ha sido el primer paso para el desarrollo de una Tesis
Doctoral sobre Estimacion Penalizada de Modelos para Datos Funcionales
en la que se abordaran principalmente las siguientes lneas de investigacion:
1. Estimacion del ACP funcional mediante penalizacion de la rugosidad
de los factores principales (ACP funcional regularizado).
2. Estimacion penalizada de modelos lineales de regresion funcional.
3. Estimacion penalizada de modelos lineales generalizados funcionales,
como por ejemplo los modelos logit funcionales.
4. Implementaci on computacional con el software estadstico R de los
metodos de estimacion penalizada estudiados.
5. Aplicaciones con datos reales y simulados. Comparacion de resultados
con los metodos de estimacion no penalizada.
49
50 Estimacion penalizada con datos funcionales
Captulo 7
Referencias bibliogracas
Aguilera, A.M., Oca na, F.A. y Valderrama, M.J. (1995). Computa-
tional approaches to estimation in the Principal Component Analysis
of a stochastic process. Applied Stochastic Models and Data Analysis,
11, 279-299.
Aguilera A.M., Gutierrez, R. and Valderrama, M.J. (1996) Approx-
imation of estimators of the PCA of a stochastic process using B-
splines. Communications in Statistics. Simulation and Computation,
25(3), 671-691.
Aguilera, A.M., Oca na, F.A. y Valderrama, M.J. (1999). Stochastic
modelling for evolution of stock prices by means of functional PCA.
Applied Stochastic Models in Business and Industry, 15(4), 227-234.
Aguilera, A.M., Escabias, M. y Valderrama, M.J. (2008). Discus-
sion of dierent logistic models with functional data. Application to
Systemic Lupus Erythematosus. Computational Statistics and Data
Analysis, 53(1), 151-163.
Aguilera, A.M., Escabias, M. y Valderrama, M.J. (2008). Forecasting
binary longitudinal data by a functional PC-ARIMA model. Compu-
tational Statistics and Data Analysis, 52(6), 3187-3197.
Bouzas, P.R., Valderrama, M.J., Aguilera, A.M. y Ruiz-Fuentes, N.
(2006). On the structure of the stochastic process of mortgages in
Spain. Computational Statistics, 21(1), 73-89.
51
52 Estimacion penalizada con datos funcionales
Brumback, B. y Rice, J. (1998). Smoothing spline models for the anal-
ysis of nested and crossed samples of curves. Journal of the American
Statistical Association, 93, 961-994.
Consejera de Medioambiente (2007). Estadstica de climatologa medioam-
biental en Andaluca.
Craven, P. y wahba, G. (1979) Smoothing noisy data with splines
functions: estimating the correct degree of smoothing by the method
of generalized cross-validation, Numerische Mathematik, 31, 377-403.
De Boor, C. (1977). Package for calculating with B-splines. Journal
of Numerical Analysis, 14, 441-472.
Durban, M. y Dae-Jin, L. (2008). Splines con penalizaciones (P-
Splines). Teora y aplicaciones. Universidad P ublica de Navarra.
Eilers, P. y Marx, B. (1996). Flexible smoothing with B-splines and
penalties. Statistical Science, 11, 89-121.
Escabias, M., Aguilera, A. M. y Valderrama, M. J. (2005). Modeling
environmental data by functional principal component logistic regres-
sion. Environmetrics, 16 (1), 95-107.
Ferraty, F. y Vieu, P. (2006). Nonparametric functional data analysis.
Springer-Verlag.
Green, P. y Silverman, B. (1994). Nonparametric regression and gen-
eralized linear models. Monographs on Statistics and applied proba-
bility. Chapman & Hall, London.
Julio, J. M. et al. (2002). La curva spot (cero cupon) estimacion con
splines c ubicos suavizados, usos y ejemplos. Banco de la Rep ublica
de Colombia.
Laird, N. M. y Ware, J. H. (1982). Random-eects models for longi-
tudinal data. Biometrics, 38, 963-974.
OSullivan, F. (1986). A stastical perspective on ill-posed inverse prob-
lems. Statistical Science, 1, 505-527.
Ramsay, J. O. y Silverman, B. W. (1997, 2005). Functional data anal-
ysis (First and Second editions). Springer-Verlag.
Referencias bibliogracas 53
Ramsay, J. O. y Silverman, B. W. (2002). Applied functional data
analysis: Methods and case studies. Springer-Verlag.
Rice, J. A. y Wu, C. O. (2001). Nonparametric mixed eects models
for unequally sampled noisy curves. Biometrics, 57, 253-259.
Ruppert, D., Wand, M. P. y Carroll, R. J. (2003). Semiparametric
Regression. Cambridge Series in Statistical and Probabilistic Mathe-
matics. Cambridge University Press.
Verbyla, A., Cullis, B., Kenward, M. y Welham, S. (1999). The anal-
ysis of designed experiments and longitudinal data using smoothing
splines. Applied Statistics, 48, 269-312.
Wand, M. P. (2003). Smoothing and mixed models. Computational
Statistics, 18, 223-249.
Valderrama, M.J., Oca na, F.A. y Aguilera, A.M. (2009). Forecasting
Pollen Concentration by a Two-Step Functional Model. Biometrics,
en prensa (DOI: 10.1111/j.1541-0420.2009.01293.x).
Wensheng, G. (2004). Functional data analysis in longitudinal set-
tings using smoothing splines. Statistical Methods in Medical Re-
search.
54 Estimacion penalizada con datos funcionales
Captulo 8
Anexo: Funciones
implementadas en R
En este apartado se muestra el codigo R programado para la realizacion
de la parte practica de este trabajo. Se han utilizado tanto funciones ya im-
plementadas en R como nuevas funciones que se han ido creando y adaptan-
do a los requisitos necesarios para cumplir nuestro objetivo que no es otro
que la comparacion de las diferentes metodologa expuestas en la teora.
A continuaci on se muestra un resumen comentado de las principales
funciones utilizadas.
Funci on para crear un B-spline (Propuesto por De Boor (2001))
library(splines)
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,outer.ok=TRUE)$design
B}
Parametros de la funcion
x: dominio de estudio
xl: valor proximo a x, pero fuera del dominio por la izquierda
55
56 Estimacion penalizada con datos funcionales
xr: valor proximo a x, pero fuera del dominio por la derecha
bdeg: grado del spline
ndx: n umero de nodos (si el spline es de grado p, son necesarios p+2
nodos)
Funcion para ajustar un spline de suavizado (smoothing spline)
smooth.spline(x, y, spar=0, cv=FALSE, all.knots=TRUE, nknots=NULL)
Parametros de la funcion
y: vector de temperaturas medias mensuales recogidas para una de
las zonas geogracas.
x: vector con el mes al que corresponden cada una de las temperaturas
medias de y.
spar: parametro de suavizado empleado en esta funcion. El coeciente
lambda de la integral de la derivada de segundo orden de la funcion
al cuadrado, en el criterio de ajuste de los coecientes basicos, es una
funcion monotona de spar.
Si spar=NULL y df= (es decir, se omite en la funcion), automatica-
mente se aplica el criterio de Validacion cruzada (leave-one-out).
cv: si cv=FALSE -se aplica Validaci on Cruzada Generalizada (VCG).
En otro caso, se aplicara V. C. Ordinaria.
all.knots=TRUE:indica que hay tantos nodos como datos distintos
observados.
nknots: permite jar el n umero de nodos (solo toma valor DISTINTO
DE null si all.knots=FALSE).
Metodo de Validaci on cruzada (leave-one-out)
library(splines)
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
Funciones implementadas en R 57
B
}
datos <-read.table(file="datos_ejemplo.txt", header=TRUE)
Variables
te <- datos[,1]
y<- datos[,2]
Las trayectorias xi(te)muestrales van desde datos[,3] hasta datos[,102]
Fijamos una trayectoria
w <- datos[,30]
bdeg<-3
m<-150
lambda<-c(0.1,0.15,0.20,0.25,0.30,0.35,0.40,0.45,0.50,0.55,0.60,0.65,0.70,0.75,
0.80,0.85,0.90,0.95,1,1.1,1.15,1.20,1.25,1.30,1.35,1.40,1.45,1.50,1.55,1.60,
1.65,1.70,1.75,1.80,1.85,1.90,1.95,2)
valor<-matrix(0,ncol=1,nrow=m)
ECM<-matrix(0,ncol=35,nrow=length(lambda))
for (i in 3:35){
for (p in 1: length(lambda)){
suma=0
for(k in 1:m){
x<-te[-k]
xl<-min(x)-0.0001
xr<-max(x)+0.0001
z<-w[-k]
B=bspline(x,xl,xr,i,bdeg) Base de splines cbicos
d=ncol(B)
D1=diff(diff(diag(d)))
P=t(D1)%*%D1
lam=lambda[p]
a=solve(t(B)%*%B+lam*P)%*%t(B)%*%z
curva<- B%*%a
58 Estimacion penalizada con datos funcionales
B2<-bspline(te[k],te[k]-0.0001,te[k]+0.0001,i,bdeg)
valor[k]<-B2%*%a
suma<-suma+(y[k] - valor[k])^2
}
ECM[p,i]<- sqrt(suma/m)
}
}
CV<-data.frame(ECM)
write.table(CV,file="CrossValidation_ejemplo.txt",sep=" ",col.names=TRUE,
row.names=FALSE)
Simulacion de los n=100 trayectorias muestrales. Ajuste de las
curvas usando las diferentes metodologas.
n <- 100 m <- 150 te <- seq(0,1,length=m) #secuencia ordenada de
valores entre (0,1) y <- cos(2*pi*te) #Funci\{o}n original f <-
matrix(0,ncol=n,nrow=m) #Cada columna es una trayectoria muestral
for (i in 1:n) {
f[,i] <- cos(2*pi*te) + rnorm(m) #Funci\{o}n de partida con ruido
}
Guardamos los datos simulados.
datos<-data.frame(te,y,f) write.table(datos,
file="datos_ejemplo.txt", sep=" ", col.names=TRUE, row.names=FALSE)
Cargamos los datos datos <-read.table(file="datos_ejemplo.txt",
header=TRUE)
Variables
z<-seq(0,1,length=200)
x <- datos[,1] y <- datos[,2]
Fijamos una trayectoria
w <- datos[,30] #Trayectoria 28
xl <- min(x)-0.00001 xr <- max(x)+0.00001 bdeg <-3 #Grado del spline
Funciones implementadas en R 59
library(splines)
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,outer.ok=TRUE)$design
B}
#-------------------------------------------------------------------------------
#Ajuste de la curva mediante regression splines para 5, 15 y 25
nodos.
#Curva con 5 nodos
BBB1=bspline(x,xl,xr,5,bdeg) #Base de cubic splines
a1=solve(t(BBB1)%*%BBB1)%*%t(BBB1)%*%w #a1 son los coeficientes estimados(a^)
B<- bspline(z,xl,xr,5,bdeg)
curva1<- B%*%a1
#Plot
plot(x,w,pch=".",cex=3, main=paste("Splines de regresi\{o}n"), xlab="t",
ylab="f(t)=cos(2*pi*t)", col.main="black")
lines(x,y,col=1,lwd=2) # f(t)=cos(2*pi*t).
lines(z,curva1,col=2,lwd=2) #Curva ajustada con 5 nodos.
#Curva con 15 nodos
BBB2=bspline(x,xl,xr,15,bdeg)
a2=solve(t(BBB2)%*%BBB2)%*%t(BBB2)%*%w
B<- bspline(z,xl,xr,15,bdeg)
curva2<- B%*%a2
#Plot
lines(z,curva2,col=3,lwd=2) #Curva ajustada con 15 nodos.
#Curva con 25 nodos
BBB3=bspline(x,xl,xr,25,bdeg)
a3=solve(t(BBB3)%*%BBB3)%*%t(BBB3)%*%w
B<- bspline(z,xl,xr,25,bdeg)
curva3<- B%*%a3
#Plot
60 Estimacion penalizada con datos funcionales
lines(z,curva3,col=4,lwd=2) #Curva ajustada con 25 nodos.
legend(0.3,2.9, c("f(t)","5 nodos","15 nodos","25 nodos"),col=c(1,2,3,4)
,bty="n",lty = c(1, 1, 1))
#-------------------------------------------------------------------------------
#Ajuste de la curva mediante spline de suavizado (smoothing spline)
#Curva con 5 nodos
curva4<- smooth.spline(x, w, spar=NULL, cv=FALSE, all.knots=FALSE,
nknots=5)
#Plot
plot(x,w,pch=".",cex=3, main=paste("Splines de suavizado"), xlab="t",
ylab="f(t)=cos(2*pi*t)", col.main="black")
lines(x,y,col=1, lwd=2) # f(x)=cos(2*pi*x).
lines(predict(curva4, z),col = 2,lwd=2)
#Curva con 15 nodos
curva5<- smooth.spline(x, w, spar=NULL, cv=FALSE, all.knots=FALSE,
nknots=15)
#Plot
lines(predict(curva5, z),col = 3,lwd=2)
#Curva con 25 nodos
curva6<- smooth.spline(x, w, spar=NULL, cv=FALSE, all.knots=FALSE,
nknots=25)
#Plot
lines(predict(curva6, z),col = 4,lwd=1)
legend(0.2,3, c("f(t)","5 nodos y lambda=0.01","15 nodos y lambda=0.013",
"25 nodos y lambda=0.013"),col=c(1,2,3,4),bty="n",lty = c(1, 1, 1))
#-------------------------------------------------------------------------------
#Ajuste de la curva mediante P-splines
#Curva con 5 nodos
BBB7=bspline(x,xl,xr,5,bdeg) #Base de cubic splines
d7=ncol(BBB7)
D7=diff(diff(diag(d7)))
P7=t(D7)%*%D7 #matriz de penalizaci\{o}n
Funciones implementadas en R 61
lambda=2
a7=solve(t(BBB7)%*%BBB7+lambda*P7)%*%t(BBB7)%*%w #coeficientes estimados
B<- bspline(z,xl,xr,5,bdeg)
curva7<- B%*%a7
#Plot
plot(x,w,pch=".",cex=3, main=paste("P-splines"), xlab="t",
ylab="f(t)=cos(2*pi*t)", col.main="black")
lines(x,y,col=1,lwd=2) #f(x)=cos(2*pi*x).
lines(z,curva7,col=2,lwd=2) #Curva ajustada con 15 nodos.
#Curva con 15 nodos
BBB8=bspline(x,xl,xr,15,bdeg) #Base de cubic splines
d8=ncol(BBB8)
D8=diff(diff(diag(d8)))
P8=t(D8)%*%D8 #penalized matrix
lambda=0.70
a8=solve(t(BBB8)%*%BBB8+lambda*P8)%*%t(BBB8)%*%w #coeficientes estimados
B<- bspline(z,xl,xr,15,bdeg)
curva8<- B%*%a8
#Plot
lines(z,curva8,col=3,lwd=2) #Curva ajustada con 15 nodos.
#Curva con 25 nodos
BBB9=bspline(x,xl,xr,25,bdeg) #Base de cubic splines
d9=ncol(BBB9)
D9=diff(diff(diag(d9)))
P9=t(D9)%*%D9 #penalized matrix
lambda= 1.2
a9=solve(t(BBB9)%*%BBB9+lambda*P9)%*%t(BBB9)%*%w #coeficientes estimados
B<- bspline(z,xl,xr,25,bdeg)
curva9<- B%*%a9
#Plot
lines(z,curva9,col=4,lwd=2) #Curva ajustada con 25 nodos.
legend(0.2,3, c("f(t)","5 nodos y lambda=2","15 nodos y lambda=0.70",
"25 nodos y lambda=1.20"),col=c(1,2,3,4),bty="n",lty = c(1, 1, 1))
#-------------------------------------------------------------------------------
#Ajuste de las curvas mediante P-splines como modelos mixtos
62 Estimacion penalizada con datos funcionales
#Guardamos los datos con el formato adecuado
x_mxm<-matrix(x,ncol=1,nrow=m*n)
trayectorias <- datos[,-c(1,2)]#Elimino las columnas correspondientes a x e y
#para quedarme con las trayectorias.
trayectorias_mxm<- matrix(0,ncol=1,nrow=m*n)
cual_tray_mxm<- matrix(0,ncol=1,nrow=m*n)
k<-1
while (k<=n*m){
for (i in 1:n){
for (j in 1:m){
trayectorias_mxm[k,1]=trayectorias[j,i]
cual_tray_mxm[k,1]=i
k=k+1
}
}
}
datos_mxm<-data.frame(x_mxm,trayectorias_mxm,cual_tray_mxm)
#Guardamos los datos en el formato adecuado para la funci\{o}n de modelos mixtos.
write.table(datos_mxm, file="datos_mxm_ejemplo.txt", sep=" ", col.names=TRUE,
row.names=FALSE)
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
#Cargamos los datos
datos_mxm <-read.table(file="datos_mxm_ejemplo.txt",header=TRUE)
#Par\{a}metros
n=100
m=150
x<- datos_mxm$x_mxm
y<- datos_mxm$trayectorias_mxm
zona<- datos_mxm$cual_tray_mxm
ndx<-25
bdeg<-3
xl <- min(x)-0.00001
xr <- max(x)+0.00001
#-------------------------------------------------------------------------------
Funciones implementadas en R 63
#Funciones para ajustar un P-spline como un Modelo Mixto.
library(splines)
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
}
library(nlme)
#Con B-splines
mixed.model.B<-function (x,xl,xr,ndx,bdeg)
{B=bspline(x,xl,xr,ndx,bdeg)
pord<-bdeg-1
m=ncol(B)
D=diff(diag(m),differences=pord)
#svd: descomposici\{o}n en valores singulares
P.svd=svd(t(D)%*%D)
U=(P.svd$u)[,1:(m-pord)]
d=(P.svd$d)[1:(m-pord)]
Delta=diag(1/sqrt(d))
Z=B%*%U%*%Delta
X=NULL
for(i in 0:(pord-1)){X=cbind(X,x^i)}
list(X,Z)}
#Ajuste con 5 nodos para la base
MM=mixed.model.B(x,min(x)-0.00001,max(x)+0.00001,5,3)
Z=MM[[2]]
X=model.matrix(y~x)
Id=factor(rep(1,length(y)))
Z.block<-list(Id=pdIdent(~Z-1), zona=pdSymm(~x))
data.fr<- groupedData( y ~ X[,-1] | Id,data =data.frame(y,X,Z,zona,x))
model<- lme(y~X[,-1],data=data.fr,random=Z.block)
d=ncol(model$fitted)
fit.model=model$fitted[,d]
64 Estimacion penalizada con datos funcionales
#Creamos una matriz "Y" cuyas columnas son las curvas ajustadas
Y<-matrix(0,nrow=m,ncol=n)
for(i in 1:n){
Y[,i]=fit.model[zona==i]
}
curvas1_mxm<-data.frame(Y)
#Curva correspondiente a la trayectoria muestral 28 ajustada con 5 nodos
curva1<-curvas1_mxm[,28]
#Guardamos los datos en el formato adecuado para la funci\{o}n de modelos mixtos.
write.table(curvas1_mxm, file="curvas_5_nodos_mxm_ejemplo.txt", sep=" ",
col.names=TRUE, row.names=FALSE)
#Ajuste con 15 nodos para la base
MM=mixed.model.B(x,min(x)-0.00001,max(x)+0.00001,15,3)
Z=MM[[2]]
X=model.matrix(y~x)
Id=factor(rep(1,length(y)))
Z.block<-list(Id=pdIdent(~Z-1), zona=pdSymm(~x))
data.fr<- groupedData( y ~ X[,-1] | Id,data =data.frame(y,X,Z,zona,x))
model<- lme(y~X[,-1],data=data.fr,random=Z.block)
d=ncol(model$fitted)
fit.model=model$fitted[,d]
Q<-matrix(0,nrow=m,ncol=n)
for(i in 1:n){
Q[,i]=fit.model[zona==i]
}
curvas2_mxm<-data.frame(Q)
write.table(curvas2_mxm, file="curvas_15_nodos_mxm_ejemplo.txt", sep=" ",
col.names=TRUE, row.names=FALSE)
#Curva correspondiente a la trayectoria muestral 28 ajustada con 15 nodos
curva1_2<-curvas2_mxm[,28]
Funciones implementadas en R 65
#Ajuste con 25 nodos para la base
MM=mixed.model.B(x,min(x)-0.00001,max(x)+0.00001,25,3)
Z=MM[[2]]
X=model.matrix(y~x)
Id=factor(rep(1,length(y)))
Z.block<-list(Id=pdIdent(~Z-1), zona=pdSymm(~x))
data.fr<- groupedData( y ~ X[,-1] | Id,data =data.frame(y,X,Z,zona,x))
model<- lme(y~X[,-1],data=data.fr,random=Z.block)
d=ncol(model$fitted)
fit.model=model$fitted[,d]
G<-matrix(0,nrow=m,ncol=n)
for(i in 1:n){
G[,i]=fit.model[zona==i]
}
curvas3_mxm<-data.frame(G)
write.table(curvas3_mxm, file="curvas_25_nodos_mxm_ejemplo.txt", sep=" ",
col.names=TRUE, row.names=FALSE)
#Curva correspondiente a la trayectoria muestral 28 ajustada con 25 nodos
curva1_3<-curvas3_mxm[,28]
#Cargamos los datos de partida datos
<-read.table(file="datos_ejemplo.txt", header=TRUE) #Variables x <-
datos[,1] y <- datos[,2] w <- datos[,30]
#Plot plot(x,w,pch=".",cex=3, main=paste("P-splines con Modelos
mixtos"), xlab="t",
ylab="f(t)=cos(2*pi*t)", col.main="black")
lines(x,y,col=1,lwd=2) #Funci\{o}n original_ f(x)=cos(2*pi*x).
lines(x,curva1,col=2,lwd=2) #Curva ajustada con 5 nodos.
lines(x,curva1_2,col=3,lwd=2) #Curva ajustada con 15 nodos.
lines(x,curva1_3,col=4,lwd=2) #Curva ajustada con 25 nodos.
legend(0.4,3.9, c("f(t)","5 nodos","15 nodos","25 nodos"),col=c(1,2,3,4)
,lty = c(1, 1, 1))
66 Estimacion penalizada con datos funcionales
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
#Guardamos las curvas ajustadas por diferentes m\{e}todos
#Cargamos los datos de partida datos
<-read.table(file="datos_ejemplo.txt", header=TRUE) n=100 m=150 x <-
datos[,1] y <- datos[,2] w<-datos[,-c(1,2)] xl <- min(x)-0.00001 xr
<- max(x)+0.00001 bdeg <-3 nodos=5 lambda=2 #Fijada mediante la C.V.
#-------------------------------------------------------------------------------
ajuste_n_curvas<-function (n,m,bdeg,x,y,w,nodos,lambda){
#simulaci\{o}n de las curvas
curva_reg<-matrix(0,ncol=n,nrow=m) #Matriz con columnas las curvas
ajustadas
#mediante spline de regresi\{o}n.
curva_smth<-matrix(0,ncol=n,nrow=m) #Matriz con columnas las curvas
ajustadas
#mediante spline de suavizado.
curva_P<-matrix(0,ncol=n,nrow=m) #Matriz con columnas las curvas
ajustadas
#mediante spline de suavizado.
for (i in 1:n) {
pord=bdeg-1
#Spline de regresi\{o}n
BBB2=bspline(x,xl,xr,nodos,bdeg)
a2=solve(t(BBB2)%*%BBB2)%*%t(BBB2)%*%w[,i]
curva_reg[,i]<- BBB2%*%a2
#Spline de suavizado
curva5<- smooth.spline(x, w[,i], spar=NULL,cv=FALSE, all.knots=FALSE,
nknots=nodos)
pred<-predict(curva5, x)
curva_smth[,i]<-pred$y
Funciones implementadas en R 67
#P-spline
BBB8=bspline(x,xl,xr,nodos,bdeg)
d8=ncol(BBB8)
D8=diff(diff(diag(d8)))
P8=t(D8)%*%D8
a8=solve(t(BBB8)%*%BBB8+lambda*P8)%*%t(BBB8)%*%w[,i]
curva_P[,i]<- BBB8%*%a8
}
return(curva_reg,curva_P,curva_smth) } #Guardamos las trayectorias
para cada ajuste #Llamamos a la funci\{o}n
n_curvas<-ajuste_n_curvas(n,m,bdeg,x,y,w,nodos,lambda) #Curvas
ajustadas por splines.Reg
write.table(data.frame(n_curvas$curva_reg),
file="ncurvas_5_nodos_reg_ejemplo.txt",sep=" ",col.names=TRUE,
row.names=FALSE)
#Curvas ajustadas por splines.Suav
write.table(data.frame(n_curvas$curva_smth),
file="ncurvas_5_nodos_smth_ejemplo.txt",sep="
",col.names=TRUE,row.names=FALSE)
#Curvas ajustadas por P-splines
write.table(data.frame(n_curvas$curva_P),
file="ncurvas_5_nodos_P_spl_ejemplo.txt",sep="
",col.names=TRUE,row.names=FALSE)
#-------------------------------------------------------------------------------
ECM y curvas medias para las diferentes curvas y metodologas
#Cargamos los datos datos <-read.table(file="datos_ejemplo.txt",
header=TRUE) n=100 m=150 x <- datos[,1] y <- datos[,2]
curv_regresion<-read.table(file="ncurvas_5_nodos_reg_ejemplo.txt",header=TRUE)
curv_suavizado<-read.table(file="ncurvas_5_nodos_smth_ejemplo.txt",header=TRUE)
curv_P<-read.table(file="ncurvas_5_nodos_P_spl_ejemplo.txt",header=TRUE)
curv_P_mxm<-read.table(file="curvas_15_nodos_mxm_ejemplo.txt",header=TRUE)
suma_reg<-matrix(0,ncol=1,nrow=m) suma_suav<-matrix(0,ncol=1,nrow=m)
68 Estimacion penalizada con datos funcionales
suma_p<-matrix(0,ncol=1,nrow=m) suma_p_mxm<-matrix(0,ncol=1,nrow=m)
media_reg<-matrix(0,ncol=1,nrow=m)
media_suav<-matrix(0,ncol=1,nrow=m) media_p<-matrix(0,ncol=1,nrow=m)
media_mxm<-matrix(0,ncol=1,nrow=m) ECM_reg<-matrix(0,ncol=1,nrow=n)
ECM_suav<-matrix(0,ncol=1,nrow=n) ECM_p<-matrix(0,ncol=1,nrow=n)
ECM_p_mxm<-matrix(0,ncol=1,nrow=n)
for (i in 1:n){
suma_reg<-suma_reg+curv_regresion[,i]
suma_suav<-suma_suav+curv_suavizado[,i]
suma_p<-suma_p+curv_P[,i]
suma_p_mxm<-suma_p_mxm+curv_P_mxm[,i]
}
media_reg<-suma_reg/n media_suav<-suma_suav/n media_p<-suma_p/n
media_p_mxm<-suma_p_mxm/n
#Guardamos las funciones medias
MEDIAS<-data.frame(media_reg,media_suav,media_p,media_p_mxm)
write.table(MEDIAS,file="MEDIAS_5_nodos_ejemplo.txt",sep="
",col.names=TRUE, row.names=FALSE)
#Plot: Func. media media
<-read.table(file="MEDIAS_5_nodos_ejemplo.txt", header=TRUE) datos
<-read.table(file="datos_ejemplo.txt", header=TRUE)
#Variables x <- datos[,1] y <- datos[,2]
plot(x,y,pch="",ylab="f(t)=cos(2*pi*t)",xlab="t",
main="Funciones medias")
lines(x, y, col=1,lwd=2)
lines(x, media[,1],col=2,lwd=2)
lines(x, media[,2],col=3,lwd=2)
lines(x, media[,3],col=4,lwd=2)
lines(x, media[,4],col=6,lwd=2)
legend(0.2,0.7, c("Curva Media","C.Media de Splines Regresi\{o}n",
"C.Media Splines de suavizado","C.Media de P-splines",
"C. Media Modelos Mixtos"),col=c(1,2,3,4,6) ,lty = c(1, 1, 1,1),yjust=0.5,
Funciones implementadas en R 69
bty="n")
#ECM for (i in 1:n){
ecm_reg<-0
ecm_suav<-0
ecm_p<-0
ecm_p_mxm<-0
for(j in 1:m){
ecm_reg<-ecm_reg+(y[j]-curv_regresion[j,i])^2
ecm_suav<-ecm_suav+(y[j]-curv_suavizado[j,i])^2
ecm_p<-ecm_p+(y[j]-curv_P[j,i])^2
ecm_p_mxm<-ecm_p_mxm+(y[j]-curv_P_mxm[j,i])^2
}
ECM_reg[i,]<-sqrt(ecm_reg/m)
ECM_suav[i,]<-sqrt(ecm_suav/m)
ECM_p[i,]<-sqrt(ecm_p/m)
ECM_p_mxm[i,]<-sqrt(ecm_p_mxm/m)
} #Guardamos los ECM
ECM<-data.frame(ECM_reg,ECM_suav,ECM_p,ECM_p_mxm)
write.table(ECM,file="sqrt_ECM_15_nodos_ejemplo.txt",sep="
",col.names=TRUE, row.names=FALSE)
#Box-plot ECM <- read.table(file="sqrtECM_15_nodos_ejemplo.txt",
header=TRUE)
boxplot(ECM,use.cols=TRUE,names=c("S.Regresi\{o}n","S.Suavizado",
"P-splines","Modelos.Mixtos"),notch=TRUE,ylab="ECM",col=c(2,3,4,7)
,main="Diagrama de cajas y bigotes")

Вам также может понравиться