Tamanho atual da fonte:

Introdução

Sistemas físicos podem não apresentar uma relação linear entre entrada e saída. Dessa forma, nem sempre iremos utilizar a regressão linear para obter a "melhor" função que se encaixa em um conjunto de dados.

Existem muitos casos em que o modelo obedece a um comportamento polinomial. Sendo assim, é necessário adaptar o ajuste para uma função polinomial de grau superior.

Para compreendermos melhor isso, podemos observar a Figura $1$, que mostra uma regressão linear aplicada à um conjunto de dados em comparação a uma regressão polinomial aplicada ao mesmo conjunto de dados.


(Figura 1)


Para entender a metemática por trás disso, veremos abaixo como é feita a regressão polinomial, que é uma generalização da regressão linear.



Ajustes

O procedimento dos mínimos quadrados pode ser prontamente estendido para ajustar dados por um polinômio de grau mais alto. Por exemplo, suponha que se queira ajustar um polinômio de segundo grau

$$y = a_0 + a_1x + a_2x^2 + e.$$
Nesse caso, a soma dos quadrados dos resíduos é:
$$ S_{r} = \sum_{i=1}^{n} \left(y_i - a_0 - a_1x_1 - a_2x_2^2\right)^2. $$
Agora vamos tomar a derivada com relação a cada um dos coeficientes desconhecidos do polinômio. Assim:
$$ \frac{\partial S_r}{\partial a_0} = -2\sum \left(y_i - a_0 - a_1x_i - a_2x_i^2\right), $$
$$ \frac{\partial S_r}{\partial a_1} = -2\sum x_i\left(y_i - a_0 - a_1x_i - a_2x_i^2\right), $$
$$ \frac{\partial S_r}{\partial a_2} = -2\sum x_i^2\left(y_i - a_0 - a_1x_i - a_2x_i^2\right). $$

Para minimizar os resíduos, igualamos essas equações a zero e reorganizamos para determinar o seguinte conjunto de equações normais:
$$ (n)a_0 + \left(\sum x_i\right)a_1 + \left(\sum x_i^2\right)a_2 = \sum y_i, $$
$$ \left(\sum x_i\right)a_0 + \left(\sum x_i^2\right)a_1 + \left(\sum x_i^3\right)a_2 = \sum x_iy_i, $$
$$ \left(\sum x_i^2\right)a_0 + \left(\sum x_i^3\right)a_1 + \left(\sum x_i^4\right)a_2 = \sum x_{i}^2y_{i}, $$
onde todos os somatórios vão de $i = 1$ até $n$. Podemos observar que as três equações são lineares e têm três incógnitas $a_0$, $a_1$ e $a_2$. Os coeficientes das incógnitas podem ser calculados diretamente dos dados observados.

Podemos expressar o resultado obtido na forma de produto matricial de maneira a obter um resultado semelhante ao o que obtivemos na regressão linear: $$ X^TXa = X^TY. $$ Dessa vez, a matriz $X$ é uma matriz de Vandermonde de grau $2$ com $n$ linhas e $3$ colunas: $$ \begin{bmatrix}1 & x & x^2 \\ 1 & x & x^2 \\ & \vdots \\ 1 & x & x^2 \end{bmatrix}. $$ Podemos expressar também esse resultado como:
$$ \begin{bmatrix} n & \sum x & \sum x^2 \\ \sum x & \sum x^2 & \sum x^3 \\ \sum x^2 & \sum x^3 & \sum x^4 \end{bmatrix} \begin{bmatrix}a_0 \\a_1 \\ a_2 \end{bmatrix} = \begin{bmatrix}\sum y \\ \sum xy \\ \sum x^2y \end{bmatrix}. $$
A regressão quadrática pode ser facilmente estendida para um polinômio de grau $m$ como
$$y = a_0 + a_1x + a_2x^2 + ... + a_mx^m + e.$$
Pode-se perceber que determinar os coeficientes de um polinômio de grau $m$ é equivalente a resolver um sistema de $m + 1$ equações lineares simultâneas. Nesse caso, os coeficientes do ajuste polinomial de grau $m$ serão dados pela relação: $$ X^TXa = X^TY, $$ onde a matriz X é uma matriz de Vandermonde de grau $m$ que contém $n$ linhas e $m+1$ colunas:
$$ \begin{bmatrix}1 & x & x^2 & \dots & x^{m-1} & x^m \\ 1 & x & x^2 & \dots & x^{m-1} & x^m \\ & & & \vdots \\ 1 & x & x^2 & \dots & x^{m-1} & x^m \end{bmatrix}. $$


Exemplo 1

Ajuste um polinômio do segundo grau ao conjunto de pontos abaixo.

${x_i}$ ${y_i}$
${0}$ ${2.1}$
${1}$ ${7.7}$
${2}$ ${13.6}$
${3}$ ${27.2}$
${4}$ ${40.9}$
${5}$ ${61.1}$

Solução:
Queremos achar o polinônio de segundo grau que melhor se ajusta ao conjunto de pontos. Defina $$ P_2(x) = a_0 + a_1x + a_2x^2. $$ Para encontrar os coeficientes $[a_0,a_1,a_2]$, devemos resolver o seguinte sistema:
$$ \begin{bmatrix} n & \sum x & \sum x^2 \\ \sum x & \sum x^2 & \sum x^3 \\ \sum x^2 & \sum x^3 & \sum x^4 \end{bmatrix} \begin{bmatrix}a_0 \\a_1 \\ a_2 \end{bmatrix} = \begin{bmatrix}\sum y \\ \sum xy \\ \sum x^2y \end{bmatrix}. $$
Calculando os somatórios:
$n = 6$
$ \sum x = 0 + 1 + 2 + 3 + 4 + 5 = 15 $
$ \sum x^2 = 0^2 + 1^2 + 2^2 + 3^2 + 4^2 + 5^2 = 55 $
$ \sum x^3 = 0^3 + 1^3 + 2^3 + 3^3 + 4^3 + 5^3 = 225 $
$ \sum x^4 = 0^4 + 1^4 + 2^4 + 3^4 + 4^4 + 5^4 = 979 $
$ \sum y = 2.1 + 7.7 + 13.6 + 27.2 + 40.9 + 61.1 = 152.6 $
$ \sum xy = 0*2.1 + 1*7.7 + 2*13.6 + 3*27.2 + 4*40.9 + 5*61.1 = 585.6 $
$ \sum x^2y = 0^2*2.1 + 1^2*7.7 + 2^2*13.6 + 3^2*27.2 + 4^2*40.9 + 5^2*61.1 = 2488.8 $
Portanto, as equações lineares simultâneas são
$$ \begin{bmatrix}6 & 15 & 55 \\ 15 & 55 & 225 \\ 55 & 225 & 979 \end{bmatrix} \begin{bmatrix}a_0 \\ a_1 \\ a_2 \end{bmatrix}= \begin{bmatrix}152.6 \\ 585.6 \\ 2488.8 \end{bmatrix}. $$
Se escrevermos a matriz aumentada, podemos resolver esse sistema pela técnica de eliminação de Gauss (se você não lembra dela, pode consultar a seção Sistemas Lineares e procurar por Método de Gauss).
$$ \begin{bmatrix} 6 & 15 & 55 &| \space 152.6\\ 15 & 55 & 225 &| \space 585.6\\ 55 & 225 & 979 &| 2488.8 \end{bmatrix}. $$
Ao fazermos o escalonamento, encontramos os seguintes coeficientes para compor o nosso polinômio: $$ a_0 = 2.47857,\\ a_1 = 2.35929,\\ a_2 = 1.86071. $$ Portanto, a equação quadrática por mínimos quadrados é:
$$y = 2.47857 + 2.35929x + 1.86071x^2.$$
A Figura 2 ilusta o resultado obtido.


(Figura 2)

Através dessa análise gráfica, podemos ver que a função que encontramos representa bem os pontos da amostra.

Para calcular o erro quadrático, primeiro calculamos o vetor erro $\vec e$ dado pela diferença dos $y$ da amostra e os $y$ aproximados:
$$ \vec e = \begin{bmatrix} 2.1 \\ 7.7 \\ 13.6 \\ 27.2 \\ 40.9 \\ 61.6 \end{bmatrix} - \begin{bmatrix} 2.47857 + 2.35929*0 + 1.86071*0^2 \\ 2.47857 + 2.35929*1 + 1.86071*1^2 \\ 2.47857 + 2.35929*2 + 1.86071*2^2 \\ 2.47857 + 2.35929*3 + 1.86071*3^2 \\ 2.47857 + 2.35929*4 + 1.86071*4^2 \\ 2.47857 + 2.35929*5 + 1.86071*5^2 \end{bmatrix} = \begin{bmatrix} -0.37857 \\ 1.00143 \\ -1.04000 \\ 0.89717 \\ -0.78709 \\ 0.30723 \end{bmatrix}. $$
O erro quadrático é dado por: $$ |\vec e|^2 = e^Te = 3.74657. $$

Exemplo com Geogebra

Considerando a tabela abaixo, faça uma regressão polinomial para encontrar um polinômio de grau 2 que melhor se ajusta aos pontos:


${y}$ ${x}$
${1.6}$ ${2.9}$
${5.17}$ ${5.37}$
${6}$ ${8}$
${13}$ ${2}$

Solução:


Implementação Scilab