**El Teorema de Takens: cómo predecir un sistema a partir de información parcial** En muchas disciplinas aparecen fenómenos en los que interesa conocer bien la dinámica del sistema que interviene, su evolución en el tiempo, con el fin de poder predecir, aunque sea de forma cualitativa, el comportamiento futuro que mostrará el sistema. Lo más habitual en estos casos, por la eficacia que ha venido demostrando, es hacer uso de un sistema formal matemático para describir la evolución temporal que se observa, y más comúnmente por medio de una formulación ecuacional, aunque poco a poco empiezan a hacerse hueco otras alternativas no tan ecuacionales y más basadas en sistemas computacionales. Sin embargo, en esta entrada vamos a analizar qué hacer cuando elegimos un sistema ecuacional clásico y no disponemos de toda la información necesaria de todos los ingredientes de nuestro sistema. Podemos encontrar un ejemplo claro de este hecho en la descripción matemática que se da de cómo evoluciona el tamaño de poblaciones de especies presa/depredador que cohabitan por medio de las ecuaciones de **Lotka-Volterra**.  Es una realidad que muchos de estos fenómenos pueden precisar de una gran cantidad (a veces decenas) de parámetros que interactúan para conseguir un modelo matemático suficientemente fiable, y los sistemas ecuacionales clásicos de modelado ni se comportan bien ante un crecimiento excesivo de la dimensionalidad del espacio paramétrico, ni ante relaciones con un mínimo de complejidad, haciendo impracticable atacar directamente las ecuaciones resultantes. En estos casos, la única solución viable que nos permite seguir usando los métodos clásicos debe pasar por comprender la dinámica central del fenómeno y considerar únicamente un conjunto de variables que sean básicas en el proceso. Si seguimos con el ejemplo de competencia entre especies que cohabitan un ecosistema, varios factores, como son el tamaño del medio en el que habitan, la cantidad de alimento disponible para la presa, las condiciones climáticas, época del año, etc, que se sabe que influyen de manera directa o indirecta en el proceso, deben ignorarse en el modelado formal y se terminan considerando solo algunos de estos factores para formar parte de las ecuaciones que modelan el sistema. !!!side:1 Ver la entrada [Sistemas Dinámicos](Sistemas_Dinamicos.md.html). Pese a la reducción hecha para modelar este tipo de fenómenos, muchas veces las ecuaciones que modelan estas versiones simplificadas siguen resultando muy complejas de resolver analíticamente, ya que los posibles comportamientos asintóticos van desde converger a estados particulares (**puntos de equilibrio**), converger a conjuntos de estados que se repiten periódicamente (**ciclos límites**), o incluso mostrar comportamientos completamente irregulares que no pueden ser descritos de forma sencilla por medios matemáticos (**atractores extraños**). En general, estos conjuntos a los que convergen las soluciones de los sistemas dinámicos se llaman **atractores** [1]. !!!side:2 Ya sea porque no podemos acceder a todas las variables del fenómeno estudiado, o porque resultaría excesivamente costoso realizar una medida real de todas ellas. Además de los propios problemas que surgen por la complejidad matemática de resolver las ecuaciones resultantes, muchas veces el problema del modelado y la predicción provienen del hecho de no disponer en forma cuantitativa de todas las variables básicas necesarias [2]. En este caso, la pregunta obligada que ha de responderse es: !!!def ¿Se puede conocer, al menos cualitativamente, la dinámica de un sistema sin conocer todas las variables que lo determinan? !!!side:3 Por ejemplo, en el proceso de competencia de especies podría darse el caso de que solo contemos con mediciones del tamaño de una de las poblaciones involucradas. En este contexto, deberíamos preguntarnos: ¿Se puede aprovechar de alguna manera la información disponible?, ¿son estos datos suficientes para comprender la evolución del fenómeno completo? Más concretamente, supongamos que estamos analizando un sistema que viene determinado por la interacción de \(n\) variables, y que solo es posible obtener información de una de las \(n\) variables en forma de sucesión numérica. Si analizamos el comportamiento de esta variable, ¿podremos deducir con seguridad algo acerca del comportamiento del sistema completo? [3] Por extraño que pueda parecer, la respuesta a este interrogante es afirmativa: !!!side:Ref.1 F. Takens, Lectures Notes in Mathematics, en D.A. Rand, L.S. Young (eds), Dynamical Systems and Turbulence, Vol 898, Springer, Berlin, 1981. !!!def El [**Teorema de Takens**](https://www.wikiwand.com/en/Takens'_theorem) asegura que, bajo ciertas hipótesis sobre el sistema, resulta posible reconstruir la dinámica del sistema original completo a partir de mediciones de algunas de las variables involucradas y, de esta forma, conocer la evolución del mismo [Ref.1]. Para poder entender el contexto e implicaciones de este teorema, vamos a comenzar dando, muy brevemente, algunos de los conceptos básicos acerca de sistemas dinámicos. # Sistemas Dinámicos !!!side:Ref.2 K.T. Alligood, T.D. Sauer and J.A. Yorke, CHAOS: An introduction to Dynamical Systems, Springer, Berlin, 1996. !!!side:4 No interviene el azar ni ningún otro factor oculto. Esencialmente, un **Sistema Dinámico** [Ref.2] consta de un conjunto de posibles **estados** que evolucionan en el tiempo siguiendo una **regla** que expresa el presente estado en términos del estado anterior. Además, se requiere que la regla que define los estados sea **determinista**, lo que significa que se puede determinar completamente el estado actual haciendo uso únicamente de los estados anteriores [4]. Debemos entender por **estado** toda la información necesaria para poder describir el sistema en un instante determinado. Por ejemplo, si nuestro sistema es una piedra en caída libre, y queremos modelarlo siguiendo las leyes clásicas del movimiento puntual, el estado del sistema vendrá determinado por dos números: su altura y velocidad. En este caso, la regla que determina cómo calcular los estados sucesivos a partir de los anteriores viene dada por la ley de Newton, \(F = ma\), y las relaciones habituales entre *aceleración*, *velocidad* y *posición*. Una primera e importante clasificación de los sistemas dinámicos vendría dada por cómo se considera el paso del tiempo (y que influye en cómo se pueden determinar los estados a partir de los estados anteriores): una forma consiste en considerar el tiempo como **discreto** y la otra es considerarlo como **continuo**. De forma general, si el tiempo es discreto, la transición del estado \(x_n\), correspondiente al tiempo \(t_n\), al estado \(x_{n+1}\), correspondiente al tiempo \(t_{n+1} = t_n +\Delta t\), se realiza a través de una función, \(f\), de forma que \(x_{n+1} = f(x_n)\). En el contexto discreto, a \(f\) se le suele llamar **mapa**. Iterar el mapa representa la evolución del sistema actualizada cada ciertos pasos de tiempo (años, meses, días, etc). Dado un punto, \(x\), la **órbita** de \(x\) es el conjunto de estados por los que el sistema va pasando si parte del estado \(x\), esto es, \(O(x)=\{x,f(x),f^2(x) ,...\}\). Un punto \(x\) se dice **fijo** si \(x = f(x)\).  El caso del tiempo continuo se puede ver como un caso límite del discreto en el que los valores de \(\Delta t\) se hacen tender a \(0\). En la situación límite se obtiene una expresión ecuacional por medio de una **ecuación diferencial**, y en vez de expresar el estado actual como función de los anteriores, se expresa que la razón de cambio del estado actual es función de él mismo. Por ejemplo, si \(x(t)\) es la población en el instante \(t\), la ecuación: $$x'=\frac{dx}{dt}= f(x) = ax$$ !!!side:5 Teniendo en cuenta el signo de \(a\) se describe un proceso de crecimiento de la población (\(a>0\)) o decrecimiento (\(a < 0\)). indica que la razón de cambio de la población es proporcional a su cantidad en cada instante [5]. Las **ecuaciones diferenciales ordinarias** son un tipo particular de ecuaciones diferenciales en las que las soluciones son funciones de una única **variable independiente**, que en el caso de los sistemas dinámicos usualmente se denota por \(t\) y suele representar el tiempo. La solución de esta ecuación, \(x(t)\), suele representar alguna cantidad física medible del fenómeno modelado, y se denomina **variable dependiente**. En el caso de contar con más de una variable dependiente se tiene un **sistema de ecuaciones diferenciales**. En este caso, cada estado viene representado por un vector de la forma \(x = (x_1 ,x_2 ,\dots,x_n )\) y cada variable dependiente tiene asociada un ecuación diferencial ordinaria de la forma \(x'_i=\frac{dx_i}{dt} = f_i (x_1 ,x_2 ,\dots,x_n)\). Obteniéndose el sistema de \(n\) ecuaciones diferenciales ordinarias siguiente: $$x'_1 = f_1 (x_1 ,x_2 ,\dots,x_n )\\ x'_2 = f_2 (x_1 ,x_2 ,\dots,x_n )\\ \vdots\\ x'_n = f_n (x_1 ,x_2 ,\dots,x_n )$$ De forma comprimida, se suele escribir \(v' = f(v)\), donde \(v = (x_1 ,x_2 ,\dots,x_n )\) y \(f =(f_1 ,f_2 ,\dots,f_n )\). Una sistema/ecuación diferencial ordinaria se dice **autónoma** si la variable independiente no aparece explícitamente en la ecuación diferencial, es decir, si la ecuación es de la forma \(\frac{dx}{dt} = f(x)\). Una ecuación diferencial se dice **lineal** si la función \(f\) es lineal en las variables dependientes. En caso contrario, se dice **no lineal**.  A un sistema de ecuaciones diferenciales autónomo se le puede asociar una función, \(F\), que llamaremos **flujo**, y que es dependiente del tiempo \(t\) y de los estados iniciales, \(x_0\), que representa el conjunto de soluciones del sistema de ecuaciones. Es decir \(F(t,x_0)\) es el valor en el tiempo \(t\) de la solución (que se puede probar que es única) cuyo valor inicial es \(x_0\). !!!side:6 Ahora es fácil ver que también puede representar estados con tiempo negativo, que serían aquellos que preceden al estado inicial \(x_0\). Con estas definiciones, la **órbita** que pasa por \(x_0\) se puede escribir como una solución particular \(F(t,x_0) = F_{x_0} (t)\) [6]. # Espacio de Fases  El **Espacio de Fases** es una manera de representar un sistema dinámico. Consiste en la construcción de un espacio que tiene tantas dimensiones como variables necesarias para especificar el estado del sistema original. Cada eje coordenado de este espacio representa una de las variables que componen el sistema. En esencia, el espacio de fases representa, con cierta estructura vectorial, el conjunto de posibles estados en los que puede estar el sistema modelado. En este espacio, el conjunto de puntos que se obtienen de los valores de las variables para distintos tiempos proporciona una descripción del estado del sistema a lo largo del tiempo. La **órbita** de un estado particular vendrá representada por una curva o **trayectoria** en este espacio. Esta representación del sistema permite realizar una descripción cualitativa de la evolución temporal del modelo que estamos estudiando. # Atractores Nuestro objetivo es intentar predecir cómo va a evolucionar el sistema, por lo que estamos interesados en ver la tendencia que tienen las distintas órbitas que podrían darse. En este sentido, un sistema dinámico se dice **disipativo** si el volumen de cualquier conjunto en el espacio de fases disminuye con el transcurso del tiempo. Es decir: !!!def Dado un conjunto de puntos \(S_0\) en el espacio de fases, con volumen \(V(S_0)\), denotaremos por \(S_t=\{F(t,x):\ x\in S_0\}\), diremos que el sistema es disipativo si para cualquier instante de tiempo \(t>0\), se tiene que \(V(S_t) < V(S_0)\), es decir, el volumen en el espacio de fases se contrae bajo la acción del sistema de ecuaciones diferenciales. En todo sistema disipativo, si comenzamos con un conjunto de condiciones iniciales, las trayectorias eventualmente se aproximan a un conjunto de volumen cada vez menor hasta llegar a formar un conjunto de volumen nulo. De alguna forma, si el sistema es disipativo, estamos seguros de que finalmente las órbitas tenderán a acercarse a un conjunto pequeño de estados, que es lo que conocemos formalmente como un atractor del sistema. !!!side:7 Es decir, \(A\) atrae todas las trayectorias que comienzan suficientemente cerca de él. !!!def Un **atractor** \(A\) es un conjunto de volumen nulo en el espacio de fases que satisface: 1. \(A\) es un **conjunto invariante**: cualquier trayectoria que comienza en \(A\) permanece permanentemente en \(A\). 2. \(A\) atrae un conjunto de condiciones iniciales: existe un conjunto, \(U\), de volumen no nulo, que contiene a \(A\), tal que si \(x(0) \in U\), entonces [7] $$\lim_{t\rightarrow \infty}d(x(t),A)=0$$ El mayor \(U\) que satisface esta propiedad se llama **cuenca del atractor**. 3. \(A\) es **minimal**: no existe ningún subconjunto propio de \(A\) que satisface las condiciones anteriores.  Existen diferentes tipos de atractores dependiendo de la dimensión del espacio de fases asociado al sistema. Por ejemplo, una solución acotada (que no se va al infinito) de una ecuación diferencial autónoma en la recta debe converger a un punto, que se denomina **punto de equilibrio atractivo**. Para ecuaciones diferenciales autónomas en el plano las soluciones acotadas pueden converger a un punto de equilibrio o bien pueden converger a una curva cerrada, denominada **órbita periódica**. !!!side:8 De hecho, geométricamente pueden tener propiedades muy extrañas, llegando a ser conjuntos fractales. Por último, para sistemas de ecuaciones con 3 o más variables dependientes, los comportamientos de las soluciones son mucho más complejos y existen conjuntos de diversas formas que atraen las trayectorias de estos sistemas, no necesariamente puntos o curvas cerradas [8]. # Reconstrucción de Atractores !!!side:9 Entendemos por señal a las mediciones de una de las variables del espacio de fases a lo largo del tiempo (una función temporal). Para la gran mayoría de los fenómenos naturales y experimentales, tanto el espacio de fases como la descripción matemática del sistema son desconocidos. En estos casos, la **reconstrucción de atractores** se presenta como una metodología que permite reconstruir el espacio de fases y desarrollar métodos predictivos a partir de información incompleta. Para ello, se debe poder acceder a una **señal** del sistema [9]. Volvamos, pues, al problema originalmente propuesto en la entrada. Supongamos que estamos estudiando un fenómeno para el que, pese a saber que está determinado por un sistema de ecuaciones diferenciales con \(n\) variables, únicamente somos capaces de obtener medidas discretas en el tiempo sobre la evolución temporal de una de sus variables, que podemos suponer que es la primera, \(x_1\). Es decir, podemos tomar un muestreo de valores de la forma: $$s_0 = x_1(t), s_1 = x_1(t+\tau), s_2 = x_1 (t+2\tau), s_3 = x_1(t+3\tau), \dots, s_k = x_1(k\tau), \dots$$ tomados a intervalos de longitud \(\tau\). Este tipo de muestreos dan lugar a lo que se conocen como **series temporales**. A partir de los valores \(s_j\) se construyen los llamados **vectores con retardo** de dimensión \(2d+1\), definidos como: $$Y_j = (s_j ,s_{j−1} ,...,s_{j−2d})$$ donde, habitualmente, \(d\) corresponde a la dimensión del atractor del sistema. Por ejemplo, si el atractor es un estado particular, un punto en el espacio de fases (espacio de \(n\) dimensiones), entonces \(d=0\); si el atractor es un conjunto de estados que forman una curva en el espacio de fases, entonces \(d=1\). Hemos comentado antes que en dimensiones superiores los atractores pueden tener estructuras muy extrañas, pudiendo darse el caso de que aparezcan conjuntos de dimensión fraccionaria (estaríamos frente a atractores fractales), y en este caso \(d\) no sería un número entero. Por ejemplo, para una serie temporal \(\{s_1, s_2,...,s_{10}\}\), el atractor reconstruido con \(\tau=3\) de dimensión 2 será el formado por los puntos $$(s_1,s_4), (s_2,s_5), (s_3,s_6), (s_4,s_7), \dots, (s_7,s_{10})$$ El teorema demostrado por Takens en 1981 da respuesta al interrogante planteado anteriormente, ya que, grosso modo, nos dice que la órbita que siguen los estados en el espacio de fase \(n\)-dimensional, es equivalente (homeomorfa) a la órbita seguida por los vectores de retardo en el espacio \(2d+1\)-dimensional. Por ello, la dinámica del sistema y su comportamiento se pueden describir analizando la reconstrucción del atractor de una de las variables del sistema. La elección de \(\tau\) determina la exactitud del atractor reconstruido. Valores demasiado pequeños producirán el atractor a lo largo de una línea, y valores demasiado grandes tampoco revelarán su estructura de forma correcta. Fraser y Swinney sugieren usar el primer mínimo local de la información mutua entre las series con retardo y sin retardo para obtener un valor de \(\tau\) que pueda aportar máxima información. Además, se está suponiendo que los datos de la serie temporal no tienen ruido, lo que significa que no existe ningún tipo de error o perturbación de los valores tomados durante las mediciones, algo que en la realidad no es posible. Posteriormente, han salido ampliaciones del Teorema de Takens que tratan el tema de señales con ruido. Bajo ciertas condiciones es posible resolver este problema trabajando con dimensiones superiores a \(2d+1\). Debe observarse que el teorema trata sobre la equivalencia homeomorfa de los atractores a los que tienden las órbitas. Esto no significa que sean iguales ni mucho menos, sino que el comportamiento cualitativo de ambas es el mismo (tienen la misma dimensión topológica, el mismo carácter cíclico, etc.). Si la dimensión del atractor (\(d\)) es mucho menor que la dimensión del espacio de fases (\(n\)), entonces el proceso de inmersión dado por el Teorema de Takens adquiere todo su valor, ya que estamos trabajando con órbitas en un espacio mucho más pequeño y, por tanto, es más fácil extraer sus propiedades geométricas, dinámicas y topológicas. !!!side:Ref.3 S.H. Strogatz, Nonlinear Dynamics and Chaos with Applications to Physiscs, Biology, Chemestry and Engineering, Addison-Wesley, 1994. Como ejemplo podemos mostrar los diversos resultados que se obtienen con sistemas dinámicos con atractores extraños, como ocurre con el [**atractor de Lorenz**](https://www.wikiwand.com/es/Atractor_de_Lorenz) [Ref.3]:  (insert menu.md.html here)