Controle Baseado em Dados
Universidade Federal do Pará
Formulação matemática para a descrição de sistemas físicos, biológicos, econômicos, sociais, etc… onde as variáveis evoluem no tempo.
Sistemas dinâmicos modernos foram introduzidas por Henri Poincaré (1854-1912) e Andrey Kolmogorov (1903-1987), apos um longo período de desenvolvimento da mecânica clássica, que começou com Isaac Newton (1642-1727) e Leonhard Euler (1707-1783).
Sistemas dinâmicos compreendem um dos campos mais importantes da matemática, reunindo conceitos de álgebra linear, cálculo diferencial, análise numérica e geometria.
A abordagem moderna está experimentando uma renascença, com aborgagens baseadas em dados tomando o lugar dos princípios analíticos clássicos.
A disponibilidade de dados e o aumento do poder computacional estão permitindo que os sistemas dinâmicos sejam estudados de maneiras que não eram possíveis antes.
Áreas da ciência, engenharia, computação e da própria matemática estão se beneficiando dessa abordagem baseada em dados. É o caso da aprendizagem de máquina, da predição climática, da neurociência, da biologia de sistemas, da economia e da engenharia de controle.
Uma perspectiva que se destaca é a baseada em operadores, que passam a ser formulados com estratégias de dados reais medidos, ao invés de modelos matemáticos derivados de princípios físicos. Como é o caso do Koopman operator, que é um operador linear que atua em funções de observáveis de sistemas dinâmicos não lineares.
Obter representações lineares de sistemas não lineares é um dos principais objetivos do controle baseado em dados, pois permite a aplicação de técnicas de controle linear para sistemas complexos.
Representação de estados:
\[ \frac{d}{dt}\bm{x}(t) = f(\bm{x}(t), \bm{u}(t), t; \theta) \] onde: \(\bm{x}(t) \in \mathbb{R}^n\) - estados, \(\bm{u}(t) \in \mathbb{R}^m\) - entradas, \(t\) - tempo e \(\theta\) - parâmetros.
Exemplo clássico - sistema de Lorenz:
\[ \begin{align} \frac{dx}{dt} &= \sigma (y - x) \\ \frac{dy}{dt} &= x (\rho - z) - y \\ \frac{dz}{dt} &= xy - \beta z \end{align} \]
Sem perda de generalidade serão considerados sistemas autônomos na forma:
\[ \frac{d}{dt}\bm{x}(t) = \bm{f}(\bm{x}(t)) \]
Como \(t \in \mathbb{R}\) é contínuo;
O caso discreto é obtido por amostragem, com \(t \in \mathbb{Z}\), e a equação de estado é dada por:
\[ \bm{x}_{k+1} = F(\bm{x}_k) \]
Exemplo clássico - mapa logístico:
\[ x_{k+1} = r x_k (1 - x_k) \]
Um sistema linear pode ser representado na forma:
\[ \frac{d}{dt}\bm{x}(t) = \bm{A} \bm{x}(t) \]
Cuja solução é dada por: \[ \bm{x}(t) = e^{\bm{A}t} \bm{x}(t_0) \]
Esta dinâmica é inteiramente caracterizada pelos autovalores e autovetores da matriz \(\bm{A}\), que podem ser obtidos através da decomposição espectral:
\[\bm{A}\bm{T} = \bm{T} \Lambda\]
Quando \(\bm{A}\) é diagonalizável, a matriz \(\bm{T}\) é composta pelos autovetores e \(\Lambda\) pelos autovalores de \(\bm{A}\). Neste caso, a solução pode ser expressa como:
\[ \bm{x}(t) = \bm{T} e^{\Lambda t} \bm{T}^{-1} \bm{x}(t_0) \]
Para o caso discreto, a solução é dada por: \[ \bm{x}_k = \bm{A}^k \bm{x}_0 = \bm{T} \Lambda^k \bm{T}^{-1} \bm{x}_0 \]
A matríz \(\bm{T}ˆ{-1}\) define a transformação \(z = \bm{T}^{-1} \bm{x}\), em autovetores instrinsecos onde a dinâmica é diagonalizada, e a solução é dada por:
\[ \dfrac{dz(t)}{dt} = \Lambda z(t) \longleftrightarrow z(t) = e^{\Lambda t} z(t_0) \]
Cada coordenada \(z_i(t)\) evolui de forma independente, com taxa de crescimento ou decaimento determinada pelo autovalor \(\lambda_i\) correspondente.
\[ z_i(t) = e^{\lambda_i t} z_i(t_0) \]
Predição de estados futuros;
Projeto e otimização;
Estimação e controle;
Interpretabilidade física;
Desafios fundamentais:
Não-linearidade;
Dinâmica desconhecida;
Alta dimensionalidade;
DMD é uma técnica de análise de dados que permite decompor um sistema dinâmico em modos dinâmicos, cada um associado a uma frequência e taxa de crescimento/decadência. A DMD é particularmente útil para sistemas não lineares, pois permite aproximar a dinâmica do sistema por uma combinação linear de modos.
DMD é inerentemente baseada em dados, e não requer conhecimento prévio da equação de estado do sistema. Ela pode ser aplicada a dados experimentais ou simulados, tornando-a uma ferramenta poderosa para análise de sistemas complexos.
Os dados medidos dos estados do sistema são organizados em duas matrizes de amostras, uma representando os estados no instante \(t_k\) e a outra representando os estados no instante \(t_{k+1}\). A partir dessas matrizes, é possível estimar a matriz de transição que descreve a evolução do sistema.
Tomando medidas \[ {(x_k, x_{k+1})}_{k=1}^m\] pode-se organizar os dados em duas matrizes:
\[ X = \begin{bmatrix} | & | & & |\\ x_1 & x_2 & \cdots & x_m\\ | & | & & |\\ \end{bmatrix} \]
\[ X' = \begin{bmatrix} | & | & & |\\ x_2 & x_3 & \cdots & x_{m+1}\\ | & | & & | \end{bmatrix} \]
O algoritmo DMD busca determinar a matriz \(\bm{A}\) que melhor aproxime as duas matrizes de dados, de forma que:
\[ X' \approx \bm{A} X \]
O operador \(\bm{A}\) é estimado através da minimização do erro quadrático entre \(X'\) e \(\bm{A} X\), na forma:
\[ \bm{A} = argmin_{\bm{A}} \|X' - \bm{A} X\|_F^2 = \bm{X}' \bm{X}^\dagger \]
Onde \(\|\cdot\|_F\) denota a norma de Frobenius e \(\bm{X}^\dagger\) é a pseudoinversa de Moore-Penrose da matriz \(\bm{X}\).
A DMD pode ser vista como uma aproximação do operador de Koopman, que é um operador linear que atua em funções de observáveis de sistemas dinâmicos não lineares. A DMD fornece uma maneira prática de estimar o operador de Koopman a partir de dados medidos, permitindo a análise e controle de sistemas não lineares usando técnicas lineares.
Como \(\bm{A}\) é uma aproximação do operador de Koopman, os autovalores e autovetores de \(\bm{A}\) fornecem informações sobre a dinâmica do sistema, que são expressas em termos de modos dinâmicos, ou seja, os autovetores \(\bm{\Psi}\) e os autovalores \(\Lambda\) de \(\bm{A}\).
\[\bm{A} \bm{\Psi} = \bm{\Psi} \Lambda\]
Para vetores de estado \(\bm{x} \in \mathbb{R}^n\) com \(n\) grande, a matriz \(\bm{A}\) é de dimensão \(n \times n\), o que pode tornar a análise computacionalmente inviável. Para contornar esse problema, a DMD utiliza uma decomposição em valores singulares (SVD) para reduzir a dimensionalidade dos dados antes de estimar a matriz \(\bm{A}\).
A pseudoinversa \(\bm{X}^\dagger\) é calculada através da SVD, que permite a redução da dimensionalidade dos dados, mantendo apenas os modos mais significativos.
Como a matriz \(\bm{X}\) possui dimensão \(n \times m\), com \(m\) o número de amostras, a SVD permite reduzir a dimensão da matriz \(\bm{A}\) para \(r \times r\), com \(r\) o número de modos significativos, onde \(r << n\), resultando em \(\bm{\tilde{A}}\).
A determinação de \(\bm{\tilde{A}}\) é realizada sem a necessidade de calcular a matriz \(\bm{A}\) completa, bastando calcular a SVD de \(\bm{X}\) e projetar os dados em um subespaço de menor dimensão.
Passo 1: Organizar os dados em duas matrizes de amostras, \(X\) e \(X'\).
Passo 2: Calcular a SVD da matriz \(\bm{X}\).
\[\bm{X} \approx \bm{\tilde{U}} \tilde{\Sigma} \bm{\tilde{V}}^*\]
onde \(\bm{\tilde{U}} \in \mathbb{R}^{n \times r}\), \(\tilde{\Sigma} \in \mathbb{R}^{r \times r}\) e \(\bm{\tilde{V}} \in \mathbb{R}^{m \times r}\). Com \(r\leq m\).
Na prática, a escolha do rank \(r\) é feita buscando manter apenas os modos mais significativos, que melhor capturam a dinâmica do sistema.
As colunas de \(\bm{\tilde{U}}\) são os modos dinâmicos, conhecidos como POD (Proper Orthogonal Decomposition), enquanto as colunas de \(\bm{\tilde{V}}\) são os modos de entrada. Essas matrizes satisfazem a relação: \(\bm{\tilde{U}}^* \bm{\tilde{U}} = \bm{I}_r\) e \(\bm{\tilde{V}}^* \bm{\tilde{V}} = \bm{I}_r\).
Passo 3: Determinar a matriz \(\bm{\tilde{A}}\) a partir da SVD.
\[\bm{A} = \bm{X}'\bm{\tilde{V}} \bm{\tilde{\Sigma}}^{-1}\bm{\tilde{U}}^* \]
Contudo, o interesse é apenas nor \(r\) modos mais significativos, e portanto, a matriz \(\bm{\tilde{A}}\) é definida como:
\[ \bm{\tilde{A}} = \bm{\tilde{U}}^* \bm{A} \bm{\tilde{U}} = \bm{\tilde{U}}^* \bm{X}'\bm{\tilde{V}} \bm{\tilde{\Sigma}}^{-1} \]
Passo 4: Calcular os autovalores e autovetores de \(\bm{\tilde{A}}\).
Passo 5: Utilizar \(\bm{\tilde{A}}\) como o modelo reduzido do sistema, e os autovalores e autovetores para análise da dinâmica do sistema.
\[\tilde{x}_{k+1} = \bm{\tilde{A}} \tilde{x}_k\]
Descarte que \(\tilde{x}_k = \bm{\tilde{U}}^* x_k\) é a projeção do estado \(x_k\) no subespaço de menor dimensão.
\[ \bm{\tilde{A}} \bm{W} = \bm{W}\Lambda \]
A diagonal de \(\Lambda\) contém os autovalores de \(\bm{\tilde{A}}\) (DMDs), enquanto as colunas de \(\bm{W}\) são os autovetores correspondentes.
Prof. Dr. Raphael Teixeira
Universidade Federal do Pará