Regressão Polinomial

Pretende-se aplicar uma regressão polinomial aos dados obtidos com a intenção de os suavizar (e interpolar). Suponha-se Pmn(X, Y) $ \in$ $ \mathscr$Pmn o elemento de ordem mn de uma base de polinómios bivariadosA.1. Pode-se então escrever o polinómio numa combinação linear de termos desta base:

P(X, Y) = $\displaystyle \sum_{{i,j=0}}^{N}$aijPij(X, Y)

onde N é a ordem máxima do polinómio pretendido nas duas variáveis.

Supondo que se pretende minimizar o erro quadrático da regressão, pode-se definir uma medida de erro

el2 = $\displaystyle \left(\vphantom{P(X_l,Y_l)-Z_l}\right.$P(Xl, Yl) - Zl$\displaystyle \left.\vphantom{P(X_l,Y_l)-Z_l}\right)^{2}_{}$ = $\displaystyle \left(\vphantom{\sum_{i,j=0}^N a_{ij} P_{ij}(X,Y)-Z_l}\right.$$\displaystyle \sum_{{i,j=0}}^{N}$aijPij(X, Y) - Zl$\displaystyle \left.\vphantom{\sum_{i,j=0}^N a_{ij} P_{ij}(X,Y)-Z_l}\right)^{2}_{}$

e então temos o erro global (onde (Xl, Yl, Zl) é a amostra l das K às quais pretendemos aplicar a regressão)

E = $\displaystyle \sum_{{l=1}}^{K}$el2 = $\displaystyle \sum_{{l=1}}^{K}$$\displaystyle \left(\vphantom{\sum_{i,j=0}^N a_{ij} P_{ij}(X_l,Y_l)-Z_l}\right.$$\displaystyle \sum_{{i,j=0}}^{N}$aijPij(Xl, Yl) - Zl$\displaystyle \left.\vphantom{\sum_{i,j=0}^N a_{ij} P_{ij}(X_l,Y_l)-Z_l}\right)^{2}_{}$

Dado que se pretende minimizar um funcional quadrático (sempre positivo), sem restrições, temos a condição necessária e suficiente de optimalidade

$\displaystyle {\frac{{\partial E}}{{\partial a_{ij}}}}$ = 0

Então

$\displaystyle {\frac{{\partial E}}{{\partial a_{mn}}}}$ = 2$\displaystyle \sum_{{l=1}}^{K}$$\displaystyle \left(\vphantom{\sum_{i,j=0}^N a_{ij} P_{ij}(X_l,Y_l)-Z_l}\right.$$\displaystyle \sum_{{i,j=0}}^{N}$aijPij(Xl, Yl) - Zl$\displaystyle \left.\vphantom{\sum_{i,j=0}^N a_{ij} P_{ij}(X_l,Y_l)-Z_l}\right)$Pmn(Xl, Yl) = 0    
$\displaystyle \Leftrightarrow$ $\displaystyle \sum_{{i,j=0}}^{N}$aij$\displaystyle \sum_{{l=1}}^{K}$Pij(Xl, Yl)Pmn(Xl, Yl) = $\displaystyle \sum_{{l=1}}^{K}$ZlPmn(Xl, Yl)    

Definindo então N2 equações lineares com N2 variáveis, que podem ser reescritas em forma matricial, onde para abreviar se usa a notação ( . ) $ \equiv$ $ \sum_{{l=1}}^{K}$( . ) e Pij $ \equiv$ Pij(Xl, Yl):

$\displaystyle \underbrace{{
\begin{bmatrix}
\left( P_{00}^2 \right) & \left( P_...
...NN} \right)&\ldots & \left( P_{NN}^2 \right)\\
\end{bmatrix}}}_{\mathbf}^{}\,$A$\displaystyle \underbrace{{
\begin{bmatrix}
a_{00}\\
a_{10}\\
a_{01}\\
\vdots\\
a_{NN}
\end{bmatrix}}}_{\mathbf}^{}\,$x = $\displaystyle \underbrace{{
\begin{bmatrix}
\left( Z_l P_{00}\right)\\
\left(...
...ght)\\
\vdots\\
\left( Z_l P_{NN}\right)\\
\end{bmatrix}}}_{\mathbf}^{}\,$b

A solução procurada é então obtida através de x = A-1b. De notar porém que o sistema é muito mal condicionado numericamente como se descreve de seguida. Suponha-se que se pretende calcular um polinómio de ordem 5 que melhor se ajuste a dados que apresentem uma variação de 10n unidades em cada variável. Se se usar a base de polinómios ``convencional'' ( Pij(X, Y) = XiYj) a diferença de ordem das entradas da última linha da matriz face à primeira seria da ordem de 1010n, tornando as linhas quase linearmente dependentes devido a problemas de precisão finita. De forma a aliviar este problema (ver [16]), escolhe-se uma base de polinómios ortogonal num intervalo de -1 a 1 (em particular escolhem-se polinómios de Legendre), ou seja:

$\displaystyle \int_{{-1}}^{{1}}$$\displaystyle \int_{{-1}}^{{1}}$PijPmndXdY = cij$\displaystyle \delta_{{im}}^{}$$\displaystyle \delta_{{jn}}^{}$    $\displaystyle \forall$i, j, m, n $\displaystyle \in$ [0..N] (A.1)

onde cij são constantes diferentes de 0 e $ \delta_{{ij}}^{}$ é a função delta de kroneckerA.2. Se cij = 1  $ \forall$i, j $ \in$ [0..N] a base diz-se ortonormada. Repare-se que assim, se os dados forem uniformemente distribuídos no intervalo (como é o nosso caso), a matriz A será quase diagonal e portanto não singular.

Repare-se que se pode usar a base de polinómios de uma variável para construir os polinómios bivariados, ou seja Pij(X, Y) = Pi(X)Pj(Y). É fácil demonstrar que a construção resulta em polinómios ortogonais:

$\displaystyle \int_{{-1}}^{{1}}$$\displaystyle \int_{{-1}}^{{1}}$Pij(X, Y)Pmn(X, Y)dXdY = $\displaystyle \int_{{-1}}^{{1}}$$\displaystyle \int_{{-1}}^{{1}}$Pi(X)Pj(Y)Pm(X)Pn(Y)dXdY    
  = $\displaystyle \int_{{-1}}^{{1}}$Pi(X)Pm(X)$\displaystyle \int_{{-1}}^{{1}}$Pj(Y)Pn(Y)dYdX    
  = cj$\displaystyle \delta_{{jn}}^{}$$\displaystyle \int_{{-1}}^{{1}}$Pi(X)Pm(X)dX    
  = cicj$\displaystyle \delta_{{im}}^{}$$\displaystyle \delta_{{jn}}^{}$    

Alternativamente, os polinómios ortogonais (univariados ou bivariados) podem ser construídos através do processo de ortogonalização de Gram-Schmidt aplicado à base já previamente designada por ``convencional''. Apresenta-se de seguida a base ortogonal de polinómios univariados usada (Legendre):

P0(X) = 1    
P1(X) = X    
P2(X) = $\displaystyle {\frac{{1}}{{2}}}$(3X2 - 1))    
P3(X) = $\displaystyle {\frac{{1}}{{2}}}$(5X3 - 3X)    
P4(X) = $\displaystyle {\frac{{1}}{{8}}}$(35X4 -30X2 + 3)    
P5(X) = $\displaystyle {\frac{{1}}{{8}}}$(63X5 -70X3 + 15X)    
P6(X) = $\displaystyle {\frac{{1}}{{16}}}$(231X6 -315X4 +105X2 - 5)    
P7(X) = $\displaystyle {\frac{{1}}{{16}}}$(429X7 -693X5 +315X3 - 35X)    
P8(X) = $\displaystyle {\frac{{1}}{{128}}}$(6435X8 -12012X6 +6930X4 -1260X2 + 35)    
P9(X) = $\displaystyle {\frac{{1}}{{128}}}$(12155X9 -25740X7 +18018X5 -4620X3 + 315X)    

Repare-se porém que a base é ortogonal apenas no intervalo X $ \in$ [- 1..1] portanto exige um pré-escalamento dos dados de entrada a este intervalo. No caso de polinómios bivariados o mesmo se aplica às duas variáveis. Repare-se que se os dados estiverem espalhados uniformemente neste intervalo, a condição A.1 é aproximada (tanto melhor quanto mais densos forem os dados), tornando a matriz A praticamente diagonal. Assim, a complexidade de computação diminui substancialmente, sendo a inversão da matriz de tamanho (N + 1) x (N + 1) reduzida a N + 1 divisões.

Uma particularidade adicional do uso de polinómios ortogonais sobre dados uniformemente distribuídos no intervalo [- 1..1] x [- 1..1] é que a solução para uma regressão de certa ordem inclui toda a informação para regressões de ordem inferior. Em particular, se

$\displaystyle \left[\vphantom{\begin{array}{ccccccc}a_{00} & a_{01} & a_{10} & \ldots & a_{nn}\end{array}}\right.$$\displaystyle \begin{array}{ccccccc}a_{00} & a_{01} & a_{10} & \ldots & a_{nn}\end{array}$$\displaystyle \left.\vphantom{\begin{array}{ccccccc}a_{00} & a_{01} & a_{10} & \ldots & a_{nn}\end{array}}\right]^{T}_{}$

for a solução para uma regressão de determinada ordem,

$\displaystyle \left[\vphantom{\begin{array}{ccccccc}a_{00} & a_{01} & a_{10} & \ldots&a_{ll}\end{array}}\right.$$\displaystyle \begin{array}{ccccccc}a_{00} & a_{01} & a_{10} & \ldots&a_{ll}\end{array}$$\displaystyle \left.\vphantom{\begin{array}{ccccccc}a_{00} & a_{01} & a_{10} & \ldots&a_{ll}\end{array}}\right]^{T}_{}$

será a solução para a regressão de ordem l, onde l < n.
Ricardo 2004-11-06