Identificação de Sistemas
Universidade Federal do Pará
Calibração: - Sensor de temperatura: \(n\) amostras e gráfico de dispersão:
Padrão sugere que uma reta (modelo) pode ser adequada para a relação:
\[V = \theta_1 T + \theta_0 + e\]
\(V\): Tensão medida; \(T\): Temperatura; \(\theta_i\): Parâmetros do modelo; \(e\): Erro aleatório.
Equação do modelo linear: \(y = V\) (variável dependente) e \(x = T\) (variável independente).
\[y = \theta_1 x + \theta_0 + e\]
Aplicando os dados ao modelo:
\[\begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix} = \begin{bmatrix} x_1 & 1 \\ x_2 & 1 \\ \vdots & \vdots \\ x_n & 1 \end{bmatrix} \begin{bmatrix} \theta_1 \\ \theta_0 \end{bmatrix} + \begin{bmatrix} e_1 \\ e_2 \\ \vdots \\ e_n \end{bmatrix}\]
\[\huge\longrightarrow\]
\[\mathbf{y} = \mathbf{A} \boldsymbol{\theta} + \mathbf{e}\]
Nesta notação vetorial-matricial, o modelo pode ser interpretado da seguinte forma:
\[\mathbf{y} = \mathbf{A} \boldsymbol{\theta} + \mathbf{e}\]
\(\mathbf{y} \in \mathbb{R}^{n \times 1}\): vetor de saídas observadas: \(\mathbf{y} = [y_1, y_2, \dots, y_n]^T\).
\(\mathbf{A} \in \mathbb{R}^{n \times 2}\): matriz de regressores, cada coluna é um termo do modelo.
\[\mathbf{A} = \begin{bmatrix} x_1 & 1 \\ x_2 & 1 \\ \vdots & \vdots \\ x_n & 1 \end{bmatrix}\]
\(\boldsymbol{\theta} \in \mathbb{R}^{2 \times 1}\): vetor de parâmetros \(\boldsymbol{\theta} = [\theta_1, \theta_0]^T\) a serem estimados.
\(\mathbf{e} \in \mathbb{R}^{n \times 1}\): vetor de erros aleatórios. \(\mathbf{e} = [e_1, e_2, \dots, e_n]^T\)
A partir de \(\mathbf{y} = \mathbf{A} \boldsymbol{\theta} + \mathbf{e}\), o erro é: \[\mathbf{e} = \mathbf{y} - \mathbf{A} \boldsymbol{\theta}\]
Cada escolha de \(\boldsymbol{\theta}\) gera um vetor de erros diferente:
Para comparar escolhas, agregamos \(\mathbf{e}\) em um único número: a função de custo \(J(\boldsymbol{\theta})\).
Problema de otimização: \[\min_{\boldsymbol{\theta}} J(\boldsymbol{\theta})\]
Erros são a distância vertical entre os pontos medidos e a reta do modelo.
O erro residual para cada amostra \(i\) é a diferença entre o valor medido e o predito \(\hat{y}_i\) pelo modelo:
\[e_i = y_i - \hat{y}_i\]
É necessário agregar os erros individuais \(e_i\) em um único valor. A soma simples
\[J(\boldsymbol{\theta}) = \sum_{i=1}^{n} e_i\]
não serve — erros positivos e negativos se cancelam. Por isso, usamos a soma dos quadrados:
\[J(\boldsymbol{\theta}) = \sum_{i=1}^{n} e_i^2 = \sum_{i=1}^{n} [y_i - \hat{y}_i]^2 = \sum_{i=1}^{n} [y_i - (\theta_1 x_i + \theta_0)]^2\]
Minimizar \(J(\boldsymbol{\theta}) = \mathbf{e}^T \mathbf{e} = (\mathbf{y} - \mathbf{A} \boldsymbol{\theta})^T(\mathbf{y} - \mathbf{A} \boldsymbol{\theta})\) equivale a zerar o gradiente em relação a \(\boldsymbol{\theta}\):
\[\frac{\partial J}{\partial \boldsymbol{\theta}} = -2\mathbf{A}^T(\mathbf{y} - \mathbf{A}\boldsymbol{\theta}) = \mathbf{0}\]
O que resulta nas equações normais:
\[\mathbf{A}^T \mathbf{A}\, \boldsymbol{\theta} = \mathbf{A}^T \mathbf{y}\]
Se o produto \(\mathbf{A}^T \mathbf{A}\) for inversível:
\[\boldsymbol{\theta} = (\mathbf{A}^T \mathbf{A})^{-1} \mathbf{A}^T \mathbf{y}\]
Em python os dados podem ser gerados como:
A matriz de regressores \(\mathbf{A}\) é construída como:
Estimação de parâmetros por mínimos quadrados:
O grafico comparativo:
Universidade Federal do Pará