Tamanho atual da fonte:

Introdução

Após estudar a regressão linear e a regressão polinomial, veremos agora o caso geral. Suponha que temos uma função que é dada por uma combinação linear de várias funções, na forma:

$$ y = a_0f_0(x) + a_1f_1(x) + a_2f_2(x) + ... + a_mf_m(x), $$
onde $f_0, f_1, ... , f_m$ são $m + 1$ funções-base.

A regressão linear é um caso particular do modelo acima, bastando tomar $m=1$, $f_0 = 1$ e $ f_1 = x$. A regressão polinomial é obtida quando as funções-base forem monômios simples: $f_0 = x^0 = 1, f_1 = x, f_2 = x^2, ... , f_m = x^m$.

Suponha que temos um conjunto de $n+1$ pontos $\left\{{(x_0,y_0), (x_1, y_1), ... , (x_n, y_n)}\right\}$ e queremos obter o conjunto de coeficientes ${a_0, a_1, ..., a_m}$ que melhor aproximem uma função $y$ como descrito acima. Devemos resolver um sistema da forma:
$$ \begin{cases}a_0f_0(x_0) + a_1f_1(x_0)+ \dots+a_mf_m(x_0) = y_0 \\a_0f_0(x_1) + a_1f_1(x_1)+ \dots+a_mf_m(x_1) = y_1 \\ \vdots \\ a_0f_0(x_n) +a_1f_1(x_n)+ \dots + a_mf_m(x_n) = y_n \end{cases} $$
Podemos utilizar o método dos mínimos quadrados para achar a melhor solução para esse sistema. De forma similar como fizemos anteriormente, devemos minimizar a soma dos quadrados dos resíduos, dada nesse caso por
$$ S_r = \sum_{i=1}^n \left(y_i - \sum_{j=0}^m a_jf_{ji}(x_i)\right)^2. $$
Tomando a derivada dessa quantidade em relação a cada uma dos coeficientes e igualando a equação resultante a zero, podemos escrever as equações resultantes na forma matricial $$ (F^TF)A = F^TY, $$ onde a matriz $A$ é o vetor coluna de coeficientes (incógnitas) e a matriz $F$ é uma matriz de de dimensão $n(m+1)$, sendo $n$ o número de pontos coletados e $m$ o número de funções-base:
$$ F = \begin{bmatrix} f_{0}(x) \space f_{1}(x)\space \dots \space f_{m}(x) \\f_{0}(x) \space f_{1}(x)\space \dots \space f_{m}(x) \\ \vdots \\f_{0}(x) \space f_{1}(x)\space \dots \space f_{m}(x) \end{bmatrix}. $$
De forma alternativa, podemos expressar a equação matricial da seguinte forma:
$$ \begin{bmatrix} \sum f_{0}(x)f_{0}(x) \space \sum f_{0}(x)f_{1}(x)\space \dots \space \sum f_{0}(x)f_{m}(x) \\ \sum f_{1}(x)f_{0}(x) \space \sum f_{1}(x)f_{1}(x)\space \dots \space \sum f_{1}(x)f_{m}(x) \\ \vdots \\ \sum f_{m}(x)f_{0}(x) \space \sum f_{m}(x)f_{1}(x)\space \dots \space \sum f_{m}(x)f_{m}(x) \end{bmatrix} * \begin{bmatrix} a_0 \\ a_1 \\ \vdots \\ a_m \end{bmatrix} = \begin{bmatrix} \sum f_0(x)y \\ \sum f_1(x)y \\ \vdots \\ \sum f_m(x)y \end{bmatrix}. $$


Exemplo 1

Encontre a função $f(x) = a_0cos(x) + a_1e^x$ que melhor se ajusta ao conjunto de pontos:

${x_i}$ ${y_i}$
${0}$ ${3.18}$
${1}$ ${3.9}$
${2}$ ${6.5}$
${3}$ ${17.82}$
Solução: Para achar os melhores coeficientes $a_0$ e $a_1$ que ajustam nossa função, devemos resolver um sistema matricial na forma:

$$ \begin{bmatrix} \sum f_0(x)f_0(x) & \sum f_0(x)f_1(x) \\ \sum f_1(x)f_0(x) & \sum f_1(x)f_1(x) \end{bmatrix} \begin{bmatrix}a_0 \\ a_1 \end{bmatrix} = \begin{bmatrix} \sum f_0(x)y \\ \sum f_1(x)y \end{bmatrix}, $$
onde temos que $f_0(x) = cos(x)$ e $f_1(x) = e^x$, ou seja,
$$ \begin{bmatrix} \sum cos(x)cos(x) & \sum cos(x)e^x \\ \sum e^xcos(x) & \sum e^x*e^x \end{bmatrix} \begin{bmatrix}a_0 \\ a_1 \end{bmatrix} = \begin{bmatrix} \sum cos(x)*y \\ \sum e^x*y \end{bmatrix}. $$

Calculando os somatórios:
$ \sum cos(x)cos(x) = \sum (cos(x))^2 = cos(0)^2 + cos(1)^2 + cos(2)^2 + cos(3)^2 = 2.4452$
$ \sum cos(x)e^x = cos(0)*e^0 + cos(1)*e^1 + cos(2)^*e^2 + cos(3)*e^3 = -20.491$
$ \sum e^xe^x = \sum e^{2x} = e^{2*0} + e^{2*1} + e^{2*2} + e^{2*3} = 466.42$
$ \sum cos(x)*y = cos(0)*3.18 + cos(1)*3.9 + cos(2)*6.5 + cos(3)*17.82 = -15.059$
$ \sum e^x*y = e^0*3.18 + e^1*3.9 + e^2*6.5 + e^3*17.82 = 419.73$
Montando o sistema, temos:
$$ \begin{bmatrix} 2.4452 & -20.491 \\ -20.491 & 466.42 \end{bmatrix} \begin{bmatrix}a_0 \\ a_1 \end{bmatrix} = \begin{bmatrix} -15.059 \\ 419.73 \end{bmatrix}. $$
Resolvendo esse sistema, obtemos:
$$ a_0 = 2.1882,\\ a_1 = 0.99603. $$ Dessa forma, encontramos a função que melhor aproxima o conjunto de pontos:
$$f(x) = 2.1882cos(x) + 0.99603e^x.$$
O gráfico na Figura 1 ilustra o resultado obtido.


(Figura 1)

Para obter o erro quadrático da aproximação, podemos calcular o vetor do erro $\vec e$ e fazer $EQ = |\vec e|^2 = e^Te$, sendo o vetor $\vec e$ dado pela diferença entre os valores de $Y$ e os valores da função obtidos para cada ponto:
$$ \vec e = \begin{bmatrix}3.18 \\3.9 \\6.5 \\17.82 \end{bmatrix} - \begin{bmatrix}2.1882cos(0) + 0.99603e^0 \\2.1882cos(1) + 0.99603e^1 \\2.1882cos(2) + 0.99603e^2 \\2.1882cos(3) + 0.99603e^3 \end{bmatrix} = \begin{bmatrix}3.18 \\3.9 \\6.5 \\17.82 \end{bmatrix} - \begin{bmatrix}3.1842 \\3.8898 \\6.4491 \\17.839 \end{bmatrix} = \begin{bmatrix}-0.0042 \\0.0102 \\0.0509 \\-0.019 \end{bmatrix} $$
e
$$ \begin{aligned} |\vec e|^2 &= e^Te \\ &= \begin{bmatrix}-0.0042 & 0.0102 & 0.0509 & -0.019 \end{bmatrix} \begin{bmatrix}-0.0042 \\0.0102 \\0.0509 \\-0.019 \end{bmatrix} \\ &= 3.0735\times 10^{-3}. \end{aligned} $$
Ou seja, o erro quadrático total cometido foi de $3.0735\times 10^{-3}$.

Exemplo com Geogebra


Exercícios - MMQ Caso Geral

Enunciado