Se presenta un método que últimamente conoce
gran interés en el área de la investigación estadística. Se trata del Análisis
de Datos Funcionales, método que pretendemos aplicar a un conjunto de datos
reales, datos que corresponden al número medio lunar de fallecimientos, por
culpa de una enfermedad pulmonar, en UK, durante 1974-1979. Vamos a aplicar las
técnicas de dicho método con la ayuda del software estadístico de licencia
gratuita R, utilizando el paquete fda. El análisis de datos funcionales dispone
de varias técnicas para su desarrollo, en función de las necesidades de cada
caso en parte. Para nuestro conjunto de datos nos ha parecido adecuado utilizar
el análisis de datos exploratorio funcional, descriptivo funcional y el
análisis de componentes principales funcionales. El fallecimiento, por
cualquier razón, es motivo suficiente como para intentar analizar, entender y
explicar todo lo que sea posible sobre el tema. Nuestro objetivo es presentar
los datos, calcular las medias funcionales, las desviaciones de la media y con
la ayuda de los componentes principales funcionales, intentar explicar la
variabilidad que pueda existir en los datos.
Palabras clave: Análisis de datos
funcionales; Análisis de componentes principales funcionales; Enfermedades
pulmonares; R y fda.
Introducción
Los datos que vamos a utilizar para nuestro
análisis están representados en la Figura 1. Se trata del número medio lunar de
fallecidos, por culpa de alguna enfermedad pulmonar, registrados durante
1974-1979 en UK. De esta forma tenemos seis variables (N=6) representadas sobre
el intervalo (T=1:12), intervalo que corresponde a los doce meses del año.
Analizando el primer gráfico se observa que para los seis años, el mayor número
de fallecidos se registra durante los meses del invierno y el menor número se registra durante los meses de verano.
Figura
1. Fallecidos por enfermedades pulmonares en UK
|
El análisis de datos funcionales transforma
los datos discretos en funciones, y a estas funciones se les aplica varias
técnicas con el objetivo de descubrir estructuras intrínsecas que con una
simple representación no sería posible evidenciar. Para la transformación
de los datos vamos a utilizar el suavizado y para la representación
de las funciones utilizaremos las funciones bases B-spline. El sistema de
funciones bases tiene ϕ_k (ϕ_1,…,ϕ_k) funciones independientes unas a
otras y tienen la propiedad de que podemos aproximar bastante bien cualquiera
función, tomando la suma de los coeficientes, o una combinación lineal de un
número bastante grande de K de estas funciones. Una función spline está
definida como:
S(t)=∑_(k=1→m+L-1)[c_k B_k (t,τ) ]
El segundo objetivo será el cálculo de las medias funcionales y la
representación de las varianzas funcionales que nos informará acerca de
la distribución de variabilidad.
Nuestros primeros objetivos van a ser:
suavizar las funciones, analizar el ajuste, los coeficientes y los errores.
El suavizado se realizará mediante la reducción de
rugosidad siguiendo el siguiente modelo:
En esta ecuación el parámetro de suavizado es lambda, más grande el
valor de lambda más suave será la función, pero hay que tener cuidado porque si
seleccionamos un valor demasiado grande entonces se llegaría a una línea recta,
que no será muy descriptiva (para una información más detallada el lector debe
consultar Ramsay (2005)) Los coeficientes de las funciones nos permiten buscar
más información acerca de la distribución de los datos, de igual modo que
los errores resultantes tras realizar dicho ajuste.
-x(t)=N^(-1) ∑_(i=1→N) [x_i (t)]
var_X (t)=(N-1)^(-1) ∑_(i=1→N)[x_i (t)-x(t) ]^2
Nuestro tercer objetivo será la exploración de la variabilidad mediante
el análisis de componentes principales funcionales. Dado
que las variaciones entra-funciones se analizan con el suavizado, en esta
ocasión analizaremos las variaciones inter-funcionales. Queremos ver qué tipo
de variaciones existen en los datos y cuantas de estas variaciones son
substanciales. Como es el caso del análisis multivariante, los eigenvalues de
la función de varianza-covarianza bivariante ν(s,t) son indicadores de la importancia de estos componentes principales y
la gráfica de los eigenvalues es un método para
determinar cuantas componentes principales son necesarias para explicar los
datos ( Peña, 2002). En el análisis de componentes principales funcionales es
preferible una eigenfunction asociada a cada eigenvalue y no a cada
eigenvector. Estos eigenfunctions describen la mayor variabilidad. Muchas
veces, aplicando una rotación a los componentes, podemos obtener una
representación más descriptiva (para mayor información se recomienda al lector
el libro de M.J. Valderrama, A.M. Aguilera y F.A Ocaña, 2000).
Notamos que en el análisis la variación se puede calcular con la ayuda de
la matriz de covarianzas o con la matriz de correlaciones. En el análisis
multivariante, normalmente se utiliza la matriz de correlación, porque la
escala y la locación influyen de manera desinteresada. En cambio, en el caso
funcional los valores x_j (t),x_s (t) tienen las
mismas escalas y orígenes. Entonces la función de covarianza estimada
ν(s,t)=(N-1)^(-1) ∑_(i=1→N) [x_i (s)-x(s)][x_j (s)-x(t)]
, o el producto cruzado funcional
ν(s,t)=N^(-1) ∑_(i=1→N) x_i (s) x_i (t)
tienden a ser más útiles que la correlación funcional. Más información
sobre análisis de componentes principales funcionales también en Ramsay
(2005) y Horvath (2012).
Para el análisis de los datos se ha utilizado el software de licencia gratuita R,
que es un lenguaje de alto nivel y un entorno para el análisis de datos y
gráficos. Puede descargarse libremente del sitio llamado CRAN (Comprehensive R
Archive Network) en la siguiente dirección: http://cran.r-project.org/
Entre otras
características dispone de:
- almacenamiento y manipulación
efectiva de datos;
- operadores para cálculo sobre
variables indexadas (Arrays), en particular matrices;
- una amplia, coherente e integrada
colección de herramientas para análisis de datos;
- posibilidades gráficas para
análisis de datos, que funcionan directamente sobre pantalla o impresora;
- un lenguaje de programación bien
desarrollado, simple y efectivo, que incluye: condicionales, ciclos, funciones
recursivas y posibilidad de entradas y salidas.
El término “entorno" lo caracteriza como un sistema completamente
diseñado y coherente, antes que como una agregación incremental de herramientas
muy específicas e inflexibles. R es en gran parte un vehículo para el
desarrollo de nuevos métodos de análisis interactivo de datos.
Aunque R puede entenderse como un lenguaje de programación, los programas
escritos en R deben considerarse esencialmente efímeros. Para su uso se pone a
la disposición del usuario un número bastante grande de librerías (paquetes),
cada una diseñada para algún tipo de análisis especifico. Nosotros, para el
análisis de datos funcionales, vamos a utilizar el paquete estadístico fda, paquete diseñado por
J.O. Ramsay, Hadley Wickham y Giles Hooker en 2012.
Metodología
Primero se definen las funciones
bases ϕ_k, que en este caso van a ser 7 funciones
B-spline elegidas en un intervalo T=1…12 .
Se utilizarán splines de orden cuatro, consistiendo en polinomios cúbicos de
grado tres y un solo nudo para cada punto de corte. Para ello hemos dividido
nuestro intervalo T en sub-intervalos (1-4, 4-8 y 8-12). En cada sub-intervalo
suponemos un solo nudo interno, en total tres. Para el cálculo del K se
utilizó la fórmula K=O+N, donde O(4) es el orden y N(3)) es el número de nudos internos, por lo
cual K=4+3=7.
Figura
2. Siete funciones bases B-splines
|
Type: bspline
Range: 1
to 12
Number of basis
functions: 7
Order of spline: 4
[1] " Interior knots"
[1] 3.75 6.50 9.25
Observamos que los nudos internos están calculados automáticamente en los
puntos 3,75; 6,50 y 9,25.Tenidas ya las funciones bases ϕ_k podemos ocuparnos del cálculo de los coeficientes c_k ,y después podemos construir el objeto
funcional y representarlo mediante una gráfica. Los coeficientes se pueden
calcular mediante la ecuación que se utiliza para el cálculo de los
coeficientes en regresión: b=(X’X)^(-1) X'y.
La posibilidad de utilizar derivadas de una función es quizá la tarea
más distintiva de los datos funcionales. Proponiendo una combinación lineal de
derivadas llegaremos a operadores lineales diferenciales. Nosotros utilizaremos
para el suavizado la segunda derivada y un valor mínimo para el lambda 0,01.
Figura
3. Reducción de rugosidad utilizando la segunda derivada y el lambda de 0.01
|
Podemos dibujar las segundas derivadas en busca de puntos de inflexión. En la
Figura 4 se observa que para 1979 e incluso para el 1975 no hay puntos de
inflexión (la segunda derivada se mantiene a cero por todo el recorrido),
pero no es el caso de los otros años donde se observa un punto de inflexión
importante en el cuarto mes (Abril). Remarcamos también que el cambio de las
funciones no es para los cuatro años en el mismo sentido, dos cambia a
concavidad y dos a convexidad.
Figura
4. Las segundas derivadas de las funciones
|
Antes de pasar al análisis descriptivo
funcional podemos analizar la calidad del ajuste mediante las 7 funciones bases
B-splines. Para ello se compara cada curva con los datos de donde provienen. En
R se puede hacer con la ayuda de la función plotfit. fd(), que nos devuelve también la varianza de dicho
ajuste.
Figura 5.
El ajuste de las curvas y la deviación estándar de sus variaciones
|
En la Figura 5 se observa que el ajuste de los datos mediante las funciones
bases utilizadas es bastante bueno, con una varianza residual baja, la más
grande 102, 08 para el año 1977.
A continuación realizaremos el análisis
descriptivo funcional, donde calcularemos la media funcional y la matriz de varianza-covarianza funcional,
y para entender mejor la variabilidad funcional, lo que podemos hacer es
dibujar las varianzas mediante un gráfico de superficie.
Figura 6. Covarianza
funcional
|
Más información acerca de la variabilidad podemos encontrar analizando los componentes
principales funcionales (ACPF).
Los componentes principales representan variaciones alrededor de la media. Los
más y menos indican las consecuencias de añadir o sustraer una pequeña parte de
cada componente principal. Es usual que las CPF no rotados representen la
misma secuencia de variación, indiferente de lo que se analiza. La primera
componente será un movimiento constante, la segunda tendrá un contraste
entre la primera y la segunda mitad cruzando cero sólo una vez, la tercera
tendrá un patrón cuadrático, etc. Se vendrán las secuencias de un polinomio
ortogonal. Por lo cual surge la necesidad de rotar los componentes principales,
descubriéndose de esta forma más variaciones. Para este objetivo el algoritmo Varimax
es bastante utilizado.
Figura 7. La varianza explicada con los CPF rotados con
Varimax
|
Como en el caso del análisis multivariante estudiar los residuos nos puede
ayudar a descubrir nuevas informaciones. En este caso vamos a calcular
los residuos funcionales como diferencia entre los valores funciones
ajustadas y los valores funcionales sin error (para poder obtener las
funciones sin error hemos considerado unas funciones bases Bspline con K=n) y
vamos a dibujar dichos residuos tras aplicarles un suavizado lineal. El
resultado se puede ver en la figura 8, donde remarcamos que lo que más influye
en la variabilidad de los primeros 6 meses es el año 1976 y lo que más influye
en la variabilidad de los últimos 6 meses es el año 1977.
Figura 8. Residuos suavizados
|
Conclusiones
Recordamos que en este trabajo nuestro objetivo ha sido la presentación de
algunas de las técnicas del ADF con la ayuda de unos datos reales. Nuestros
datos corresponden a los fallecimientos medios lunares, registrados durante
seis años, por culpa de alguna enfermedad pulmonar, en UK.
Se ha empezado con la presentación gráfica de los datos (véase la Figura 1)
donde se observa, en general, que los datos siguen una distribución descendente
empezando con Enero hasta Agosto-Septiembre y luego otra vez
empiezan a ascender de nuevo, con una mayor variabilidad inter-funcional en los
primeros tres meses.
Se ha procedido a la transformación de datos discretos en funciones,
mediante siete funciones bases Bspline, utilizándose también la reducción de
rugosidad. Esta reducción se realiza con la ayuda del cuadrado de la segunda
derivada, nivel de suavizado controlado con el parámetro de
suavizado lambda.
Una vez obtenidas las funciones y calculados los coeficientes de ajuste se
ha podido calcular y representar la segunda derivada de las funciones (véase
Figura 4), descubriéndose un importante punto de inflexión existente en el mes
de abril, donde los años 1976 y 1978 cambian de la concavidad la convexidad y
los años 1977 y 1974 cambian de convexidad a concavidad. También se ha podido
comprobar (Figura 5) que los ajustes mediante las siete funciones bases Bspline
han sido bastante buenos, con valores de las desviaciones menores de 100,03.
Representando la gráfica de las varianzas-covarianzas funcionales (Figura
5) se ha podido demonstrar que la variabilidad existe no solamente en los
primeros cuatro meses sino también en los últimos dos. Algo de variabilidad
existe también en el mes de Agosto, aunque pequeña.
Gracias al análisis de componentes principales funcionales se ha podido
ver que más de 64 % de la variabilidad total está en los primeros tres
meses, y 32 % de la variabilidad está en los últimos 4 meses y en primavera.
Después de observar las fechas con mayor variabilidad, nos interesa saber
cual son los años, las funciones, las variables que más influyen en la
variabilidad. Para ello hemos calculado y representado los residuos funcionales
suavizados (Figura 8), donde remarcamos que la variabilidad de los primeros
meses está en principal explicada por la función que representa el año 1976 y
la variabilidad de los últimos meses está explicada, en su mayor parte, por el
año 1977.
Bibliografía
1. Daniel Peña; Análisis
de Datos Multivariantes, 2002.
2. J.O. Ramsay, B.W. Silverman; Functional
Data Analysis, Editorial Springer, 2005.
3. J.O.
Ramsay, Giles Hooker, Spencer Graver; Functional Data Analysis with R and Matlab,
Editorial Springer, 2009.
4. Lajos
Horvath, Piotr Kokoszka; Inference for Functional Data with
Applications, Editorial Springer, 2012.
5. M.J.
Valderrama, A.M. Aguilera y F.A Ocaña, Predicción Dinámica mediante Análisis de
Datos Funcionales, Editorial La Muralla, Madrid, 2000.
muy bueno el material que se presenta. Agradeceré si a este material se insertase alguna bibliografía complementaria.
ResponderEliminar...o si podrías poner los códigos,por favor y muchas gracias
ResponderEliminarThe casino has a no deposit bonus: play now with a bonus
ResponderEliminarPlay Now! The Casino 파주 출장마사지 has a no deposit bonus 제주도 출장안마 available for new players. 의정부 출장마사지 It will automatically fill out a form to 창원 출장안마 enter it. Players can opt-in 파주 출장마사지 to