Prof. Doherty Andrade –www.metodosnumericos.com.br
- Introdução A interpolação polinomial pode não ser confiável
para pontos das regiões próximas aos extremos do intervalo e para
pontos fora do intervalo do ajuste realizado por causa da grande oscilação dos polinômios. E isso aumenta com o o grau do polinômio (efeito Runge). Surge, então a necessidade de um outro enfoque. Um enfoque é o método de ajuste por meio de mínimos quadrados.
A questão que se coloca agora é: desejamos ajustar aos dados $(x_1,y_1), (x_2,y_2),\ldots, (x_m,y_m)$, onde $y_i=f(x_i)$, uma função do tipo $$\phi(x)= \alpha_1 g_1(x) + \alpha_2 g_2(x) + \ldots + \alpha_n g_n(x),\,\, m
\geq n,$$ onde as funções $g_1,g_2, \cdots, g_n$ são conhecidas em função do comportamento dos dados.
Assim, devemos determinar os coeficientes
$\alpha_i=1,2,\ldots,n$ da função $\phi$ tais que
$$\vert f(x_k)- \phi(x_k)\vert^2 ,k=1,2,\ldots,m$$ seja mínimo.
Portanto, devemos minimizar a função
$$E(\alpha_1,\alpha_2, \ldots, \alpha_n)= \sum_{k=1}^m
\vert f(x_k)- \phi(x_k)\vert^2,$$ que é uma função de $n$ variáveis $\alpha_i, i=1,2,\ldots, n.$ Isto é um problema de otimização.
Como $E$ é quadrática e não negativa, o ponto de mínimo global de $\phi$ é o ponto crítico de $E$. Para determinar os pontos críticos de $E$ é necessário determinar os pontos tais que
$$\displaystyle\frac{\partial E}{\partial \alpha_j}=0,j=1,2,\ldots,
n.$$
Para ilustrar a teoria, vamos tratar do caso particular de ajustar aos dados uma reta.
2. Caso particular: reta
Neste caso, desejamos ajustar aos dados $ (x_1,y_1), (x_2,y_2),\ldots,
(x_m,y_m)$, onde $y_i=f(x_i)$, uma função do tipo $$\phi(x)=
\alpha_1 g_1(x) + \alpha_2 g_2(x),$$ onde as funções $g_1(x)=1,g_2(x)=x$ são dadas.
Assim, devemos determinar os coeficientes $\alpha_1,\alpha_2$ da função $\phi $ tais que
$$\vert f(x_k)- \phi(x_k)\vert^2 ,k=1,2, \ldots, n$$ seja mínimo.
Portanto, devemos minimizar a função
$$E(\alpha_1,\alpha_2)= \sum_{k=1}^m
\vert f(x_k)- \phi(x_k)\vert^2,$$ que é uma função de 2 variáveis
\(\alpha_i, i=1,2.\)
Como $E$ é quadrática e não negativa, o ponto de mínimo global de $\phi$ é o ponto crítico de $E$. Para determinar os pontos críticos de $E$ é
necessário determinar os pontos tais que
$$\displaystyle\frac{\partial E}{\partial \alpha_j}=0,j=1,2.$$
Assim, para cada $j=1,2$
$ $$0 =\displaystyle\frac{\partial
E}{\partial \alpha_j}= 2 \sum_{k=1}^m\left[ f(x_k)-\phi(x_k)\right](
g_j(x_k)),$$ que é um sistema de equações lineares:
$$\sum_{k=1}^m\left[ f(x_k)-\phi(x_k)\right] g_j(x_k)=0,j=1,2.$$
Reescrevendo e colocando os coeficientes em evidência, temos:
Para simplificar, vamos usar a seguinte notação, por
$\overline{g_i}$ representaremos o vetor em $\mathbb{R}^m$ dado por
$$\overline{g_i}= (g_i(x_1), g_i(x_2),\ldots, g_i(x_m)),
i=1,2.$$ Notação análogo para $f$:
$$\overline{f}= (f(x_1), f(x_2),\ldots, f(x_m)).$$
Assim, podemos esrever na forma matricial:
Note que após usar as funções $g_1$ e $g_2$, o sistema acima pode ser escrito como:
em que $m$ é a quantidade de pontos.
Muitas calculadoras possuem rotina para determinar a reta $y=\alpha_1+\alpha_2x$ que melhor se ajusta aos dados pelo método dos mínimos quadrados, os termos do sistema acima são facilmente apresentados, pois todos os valores presentes no sistema podem ser calculados diretamente pela sua calculadora. Se a sua calculadora tiver a opção de apresentar $r^2$, quanto mais próximo de 1 melhor a qualidade da aproximação.
3. Exemplo 1
Dados os pares $(x_i,y_i)$ abaixo aproxime esses dados por uma reta,
\begin{matrix}x_i \vert & -1 & -0.75& -0.5 & -0.25 & 0 & 0.25 & 0.5& 0.75& 0.9& 1 &1.5\\ \hline y_i \vert & 3 & 3.5& 4 & 4.5& 5& 5.5& 6& 6.5& 6.8& 7& 8\end{matrix}
Como queremos aproximar $f(x)$ por uma reta $\alpha_0 +\alpha_1 x $, as funções são $g_1(x)=1$ e $g_2(x)=x$.
Escrevendo o sistema
\begin{bmatrix}
m & \sum x_k \\
\sum x_k & \sum x_k^2
\end{bmatrix}\begin{bmatrix} \alpha_0\\
\alpha_1\\
\end{bmatrix}
= \begin{bmatrix}
\overline{f}\cdot \overline{g_1}\\
\overline{f}\cdot \overline{g_2}\\
\end{bmatrix}.
Ou seja,
$$ \begin{bmatrix}
11 & 2.40 \\
2.40 & 6.81
\end{bmatrix}
\begin{bmatrix}
\alpha_0\\
\alpha_1\\
\end{bmatrix}
= \begin{bmatrix}
59.80\\
25.62\\
\end{bmatrix}. $$
Resolvendo o sistema de equações lineares, obtemos $\alpha_0=5$ e $\alpha_1=2$. Segue que a reta procurada é $$\phi(x)=2 x + 5. $$
4. Exemplo no Maple
O Maple tem a função fit na biblioteca stats para calcular a aproximação por mínimos quadrados discreto. Veja o exemplo que determina a reta.
Exemplo de Código Maple
>> with(stats): >> xvals := [0, 1, 2, 3, 4]; >> yvals := [1, 3.10, 5.0, 6.9996, 8.8996]; >> z := fit[leastsquare[[x, y], y = a*x + b, {a, b}]]([xvals, yvals]);
Exemplo de Código Python
O código abaixo realiza um ajuste de mínimos quadrados linear utilizando a biblioteca NumPy:
import numpy as np
xvals = np.array([0, 1, 2, 3, 4])
yvals = np.array([1, 3.10, 5.0, 6.9996, 8.8996])
a, b = np.polyfit(xvals, yvals, 1)
print(f"O ajuste linear resultou na equação: y = {a:.4f}*x + {b:.4f}")