Metodo dos Minimos Quadrados MatemáticaEssencial 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 dasconstantes 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]
Consideremos uma coleção de pares ordenados obtidos em função de algum experimento, como:
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:
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.
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
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 :
Na forma matricial este sistema pode ser escrito como:
Para resolver este sistema, existem vários métodos, mas a Regra de Cramer dá uma resposta rápida para os coeficientes:
Para obter a parábola de melhor ajuste, basta resolver o sistema com as 3 incógnitas ao, a1 e a2:
Este sistema pode ser escrito na forma matricial como:
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 .
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:
Como os termos da primeira e última matrizes são conhecidos, pode-se resolver o sistema invertendo a primeira matriz e multiplicando pela última.
É possível estender o método para a construção de uma superfície de melhor ajuste no espaço tridimensional.
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
Usando procedimentos semelhantes ao caso do plano, poderemos construir uma função:
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:
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:
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:
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.
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:
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:
=
Consideremos os dados fornecidos na tabela:
30
10
4
1
1,5
2
3
5
73
41,2
18,4
6,8
43,5
23,7
10,5
3,9
26,7
15
2,2
13,5
7
3,7
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:
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:
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 é:
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.