Metodo dos Minimos Quadrados

Matemática
Essencial
Ensino Superior
O Método dos Mínimos Quadrados

Introdução à Regressão Linear

Consideremos uma coleção de pares ordenados obtidos em função de algum experimento, como:

Xx1x2 x3x4x5 ...xn-1xn
Yy1y2 y3y4y5 ...yn-1yn

A colocação destes pares ordenados num plano cartesiano, depende dos valores de xi e yi, (i=1..n) e pode fornecer um gráfico como:

Um fato que atrai pesquisadores aplicados das mais diversas áreas é a possibilidade de obter uma função real que passe nos pontos ou pelo menos passe próximo dos pontos (xi,yi) dados.

Estudando uma Matemática mais aprofundada existe a Teoria de Interpolação que é a área que estuda tais processos para obter funções que passam exatamente pelos pontos dados, enquanto que a Teoria de Aproximação estuda processos para obter funções que passem o mais próximo possível dos pontos dados.

É óbvio que se pudermos obter funções que passem próximas dos pontos dados e que tenham uma expressão fácil de ser manipulada, teremos obtido algo positivo e de valor científico.

Dentre os processos matemáticos que resolvem tal problema, com certeza, um dos mais utilizados é o Método dos Mínimos Quadrados, que serve para gerar o que se chama em Estatística: Regressão Linear ou Ajuste Linear.

As curvas mais comuns utilizadas pelos estatísticos são:

Ordem Função Nome
1 y = ao + a1 x Reta
2 y = ao + a1 x + a2 x2 Parábola
3 y = ao + a1 x + a2 x2 + a3 x3 Cúbica
4 y = ao + a1 x + a2 x2 + a3 x3 + a4 x4 Quártica

A idéia básica para qualquer uma das funções acima citadas é tentar descobrir quais são os valores dos coeficientes ao, a1, a2 e a3, de tal modo que a soma dos quadrados das distâncias (tomadas na vertical) da referida curva y=f(x) a cada um dos pontos dados (yi) seja a menor possível, daí o nome Método dos Mínimos Quadrados.

Para obter tais coeficientes, deve-se conhecer conceitos de Derivadas Parciais, a Teoria de Máximos e Mínimos de funções de várias variáveis e as características de formas quadráticas positivas definidas de funções de várias variáveis envolvidas com o Teorema de Sylvester. Tais teoremas são normalmente encontrados em bons livros de Álgebra Linear e Cálculo Avançado.

Para não nos perdermos em considerações teóricas, apresentarei aqui as fórmulas para a obtenção da Regressão Linear para a Reta, a Parábola e a Cúbica.

Observação Se está interessado em aprender o "processo", fique atento às mudanças que ocorrem quando passamos da reta para a parábola e da parábola para a cúbica. Não construirei o processo para a quártica mas julgo que você saberá construí-lo com o material apresentado.


Notações usadas na sequência

n = Número de pares ordenados
SX = x1 + x2 + x3 + ... + xn = Soma dos xi
SY = y1 + y2 + y3 + ... + yn = Soma dos yi
SXY = x1 y1 + x2 y2 + x3 y3 + ... + xn yn = Soma dos xiyi
SX2 = (x1)2 + (x2)2 + (x3)2 + ... + (xn)2 = Soma dos xi2
SX3 = (x1)3 + (x2)3 + (x3)3 + ... + (xn)3 = Soma dos xi3
SX4 = (x1)4 + (x2)4 + (x3)4 + ... + (xn)4 = Soma dos xi4
SX5 = (x1)5 + (x2)5 + (x3)5 + ... + (xn)5 = Soma dos xi5
SX6 = (x1)6 + (x2)6 + (x3)6 + ... + (xn)6 = Soma dos xi6
SX2Y = (x1)2y1+ (x2)2y2 +... + (xn)2yn = Soma dos xi2yi
SX3Y = (x1)3y1+ (x2)3y2+ ... + (xn)3yn = Soma dos xi3yi


A reta dos mínimos quadrados

Para obter a reta dos mínimos quadrados, basta resolver o sistema de equações com 2 equações e 2 incógnitas ao e a1 :

ao n + a1 SX = SY
ao SX + a1 SX2 = SXY

Na forma matricial este sistema pode ser escrito como:

n
SX . ao = SY
SX SX2 a1 SXY

Para resolver este sistema, existem vários métodos, mas a Regra de Cramer dá uma resposta rápida para os coeficientes:

ao = ( SY . SX2 - SX . SXY) / ( n SX2 - SX . SX )
a1 = ( n SXY - SX . SY) / ( n SX2 - SX . SX )


A parábola dos mínimos quadrados

Para obter a parábola de melhor ajuste, basta resolver o sistema com as 3 incógnitas ao, a1 e a2:

ao n + a1 SX + a2 SX2 = SY
ao SX + a1 SX2 + a2 SX3 = SXY
ao SX2 + a1 SX3 + a2 SX4 = SX2Y

Este sistema pode ser escrito na forma matricial como:

n
SX SX2 . ao = SY
SX SX2 SX3 a1 SXY
SX2 SX3 SX4 a2 SX2Y

Observação Encontre as diferenças entre este sistema e o sistema obtido no caso anterior da reta.

Como todos os termos da primeira matriz (matriz dos coeficientes) e da última matriz (matriz das constantes) são conhecidos, fica fácil resolver o sistema pelo processo de inverter a primeira delas e multiplicar pela última para obter os coeficientes ao, a1 e a2 .


A cúbica dos mínimos quadrados

Para obter a cúbica dos mínimos quadrados resolve-se o sistema de equações com 4 equações e 4 incógnitas ao, a1, a2 e a3, colocado na forma matricial:

n
SX SX2 SX3 . ao = SY
SX SX2 SX3 SX4 a1 SXY
SX2 SX3 SX4 SX5 a2 SX2Y
SX3 SX4 SX5 SX6 a3 SX3Y

Como os termos da primeira e última matrizes são conhecidos, pode-se resolver o sistema invertendo a primeira matriz e multiplicando pela última.


A quártica dos mínimos quadrados

Observação Observe novamente as diferenças entre o sistema obtido para a cúbica e os sistemas obtidos nos casos da reta e da parábola. De posse de tais informações, você estaria capacitado a produzir a curva quártica de melhor ajuste dos mínimos quadrados apenas com o material apresentando aqui?

É possível estender o método para a construção de uma superfície de melhor ajuste no espaço tridimensional.


Regressão Linear no espaço

Agora estudaremos uma situação no espaço R3 onde é conhecido um conjunto de pontos (ternos) dados por:
C = { (xi, yi, zi) : i=1,2,3,...,n }

Desejamos ajustar uma superfície da forma

z = f(x,y) = a + b x + c y + d x2 + e xy + f y2

Usando procedimentos semelhantes ao caso do plano, poderemos construir uma função:

S(a,b,c,d,e,f) = Soma (z-zi)2

onde esta soma é tomada sobre todos os i=1,2,3,4,...,n.

Esta função S é não negativa e diferenciável, assim podemos garantir que o ponto de mínimo para S ocorrerá quando o gradiente da função S for nulo, isto é, quando:

Sa = Sb = Sc = Sd = Se = Sf = 0

o que equivale a:

Sa = 2 Soma (z-zi).(1) = 0
Sb = 2 Soma (z-zi).(xi) = 0
Sc = 2 Soma (z-zi).(yi) = 0
Sd = 2 Soma (z-zi).(xi2) = 0
Se = 2 Soma (z-zi).(xiyi) = 0
Sf = 2 Soma (z-zi).(yi2) = 0

A notação Sm usada significa a derivada parcial da função S em relação à variável m, onde m pode ser a,b,c,d,e ou f.

Temos aqui um sistema com 6 equações e 6 incógnitas, que pode ser reescrito como:

Soma (a + bxi + cyi + dxi2 + exiyi + fyi2 - zi) = 0
Soma (a + bxi + cyi + dxi2 + exiyi + fyi2 - zi)(xi) = 0
Soma (a + bxi + cyi + dxi2 + exiyi + fyi2 - zi)(yi) = 0
Soma (a + bxi + cyi + dxi2 + exiyi + fyi2 - zi)(xi2) = 0
Soma (a + bxi + cyi + dxi2 + exiyi + fyi2 - zi)(xiyi) = 0
Soma (a + bxi + cyi + dxi2 + exiyi + fyi2 - zi)(yi2) = 0

Passando as constantes para o segundo membro da igualdade de cada equação, teremos o sistema com 6 equações e 6 incógnitas:

      a n + b X1Y0 + c X0Y1 + d X2Y0 + e X1Y1 + f X0Y2 = Z1X0Y0
a X1Y0 + b X2Y0 + c X1Y1 + d X3Y0 + e X2Y0 + f X1Y2 = Z1X1Y0
a X0Y1 + b X1Y1 + c X0Y2 + d X2Y0 + e X1Y2 + f X0Y3 = Z1X0Y1
a X2Y0 + b X3Y0 + c X2Y1 + d X4Y0 + e X3Y1 + f X2Y2 = Z1X2Y0
a X1Y1 + b X2Y1 + c X1Y2 + d X3Y1 + e X2Y2 + f X1Y3 = Z1X1Y1
a X0Y2 + b X1Y2 + c X0Y3 + d X2Y2 + e X1Y3 + f X0Y4 = Z1X0Y2

onde

n é o número de ternos ordenados
XpYq = x1p y1q + x2p y2q + ... + xnp ynq
Z1XpYq = z1x1p y1q + z2x2p y2q +...+ znxnp ynq

sendo que p e q podem assumir os valores 0,1,2,3 ou 4.

Este sistema pode ser escrito na forma matricial:

n
X1Y0 X0Y1 X2Y0 X1Y1 X0Y2 . a = Z1X0Y0
X1Y0 X2Y0 X1Y1 X3Y0 X2Y0 X1Y2 b Z1X1Y0
X0Y1 X1Y1 X0Y2 X2Y0 X1Y2 X0Y3 c Z1X0Y1
X2Y0 X3Y0 X2Y1 X4Y0 X3Y1 X2Y2 d Z1X2Y0
X1Y1 X2Y1 X1Y2 X3Y1 X2Y2 X1Y3 e Z1X1Y1
X0Y2 X1Y2 X0Y3 X2Y2 X1Y3 X0Y4 f Z1X0Y2

Para a resolução deste sistema, sugiro utilizar a excelente planilha de cálculo Kyplot (freeware), que pode "baixada" através da Internet ou qualquer outra que você possua.

Em qualquer uma delas, deve-se montar a planilha como a que aparece abaixo, dando uma forte ênfase na última linha que é a mais importante e que contem as somas necessárias à montagem do sistema.

 ABCDE FGHIJK LMNOPQ RST
1xyzx2 x yy2x2y xy2x3y x3y3 x2yx4 x2y2xy3 zxzyzx2 zxyzy2
2                         
3                         
4                         
...                         
n                         
n+1                         
Soma                         

Após a construção da tabela acima, deve-se construir uma segunda tabela com a matriz aumentada do sistema. Nesta nova tabela aparecerão todas as somas calculadas na tabela anterior (indicadas na linha em amarelo) e pode-se observar que a nova matriz será simétrica:

n X1Y0 X0Y1 X2Y0 X1Y1 X0Y2 Z1X0Y0
X1Y0 X2Y0 X1Y1 X3Y0 X2Y0 X1Y2 Z1X1Y0
X0Y1 X1Y1 X0Y2 X2Y0 X1Y2 X0Y3 Z1X0Y1
X2Y0 X3Y0 X2Y1 X4Y0 X3Y1 X2Y2 Z1X2Y0
X1Y1 X2Y1 X1Y2 X3Y1 X2Y2 X1Y3 Z1X1Y1
X0Y2 X1Y2 X0Y3 X2Y2 X1Y3 X0Y4 Z1X0Y2
Matriz dos
coeficientes
Matriz das
constantes

Na sequência, deve-se obter a inversa da matriz dos coeficientes e multiplicá-la pela matriz das constantes para obter uma matriz com 6x1, que é exatamente a matriz dos coeficientes procurados:

a

=

...
b...
c...
d...
e...
f...


Resolução de um problema prático

Consideremos os dados fornecidos na tabela:

X

30

30

30

30

10

10

10

10

4

4

4

4

1

1

1

1

Y

1,5

2

3

5

1,5

2

3

5

1,5

2

3

5

1,5

2

3

5

Z

73

41,2

18,4

6,8

43,5

23,7

10,5

3,9

26,7

15

6,8

2,2

13,5

7

3,7

1,5

Pergunta: Qual é a função matemática que relaciona as variáveis x e y com a variável z?

Resposta: Tentei encontrar uma função quadrática da forma:

z = a + b x + c y + d x2 + e xy + f y2

que se ajustasse aos dados. Como a soma dos quadrados dos erros ficou muito grande, alterei a estratégia de análise.

Observei que os dados x e z eram grandes em relação aos dados y, assim, tomei os logaritmos naturais dos dados x e z e refiz todas as operações e obtive um ajuste muito bom!

Na sequência eu apresento alguns detalhes dos cálculos.

Os coeficientes calculados são:

a= -0,08519

b= 0,069359

c= 0,349672

d= -0,0096

e= -0,01209

f= 0,000927

A função deveria ser a seguinte:

z = -0,08519 + 0,069359 x + 0,349672 y - 0,0096 x2 - 0,01209 x y + 0,000927 y2

mas como eu usei Ln(x) e Ln(z), respectivamente nos lugares de x e z, então a forma que resolve o problema com grande precisão é:

Ln(z) = -0,08519 + 0,069359 Ln(x) + 0,349672 y -0,0096 (Ln(x))2 -0,01209 y.Ln(x) + 0,000927 y2

Para obter o valor de z, basta calcular a exponencial de Ln(z) uma vez que a função exponencial é a inversa da função logaritmo natural.


Material construído pelo Prof. Ulysses Sodré
Atualizado em Wednesday, July 12, 2000 12:22 AM

[matweb/superior/mmq/inclusao_dasecretaria.htm]