ajuste por mínimos quadrados no scilab · pdf fileajuste por mínimos quadrados...

30
Ajuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser arranjados na equação de regressão na forma de um único vetor) que tem sua eficiância avaliada pelos quadrados dos resíduos que deixa, com objetivo de minimizá-los. Vejamos um exemplo de como aplicá-la aos dados obtidos por Boyle e que levaram a famosa equação pV = nRT. -->M=[48 29.125 -->46 30.5625 -->44 31.9375 -->42 33.5 -->40 35.3125 -->38 37 -->36 39.3125 -->34 41.625 -->32 44.1875 -->30 47.0625 -->28 50.3125 -->26 54.3125 -->24 58.8125 -->23 61.3125 -->22 64.0625 -->21 67.0625 -->20 70.6875 -->19 74.125 -->18 77.875 -->17 82.75 -->16 87.875 -->15 93.0625 -->14 100.4375 -->13 107.8125 -->12 117.5625] M = 48. 29.125 46. 30.5625 44. 31.9375 42. 33.5 40. 35.3125 38. 37. 36. 39.3125 34. 41.625 32. 44.1875 30. 47.0625 28. 50.3125 26. 54.3125 24. 58.8125 23. 61.3125 22. 64.0625

Upload: hoangcong

Post on 31-Jan-2018

224 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

Ajuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser arranjados na equação de regressão na forma de um único vetor) que tem sua eficiância avaliada pelos quadrados dos resíduos que deixa, com objetivo de minimizá-los. Vejamos um exemplo de como aplicá-la aos dados obtidos por Boyle e que levaram a famosa equação pV = nRT. -->M=[48 29.125 -->46 30.5625 -->44 31.9375 -->42 33.5 -->40 35.3125 -->38 37 -->36 39.3125 -->34 41.625 -->32 44.1875 -->30 47.0625 -->28 50.3125 -->26 54.3125 -->24 58.8125 -->23 61.3125 -->22 64.0625 -->21 67.0625 -->20 70.6875 -->19 74.125 -->18 77.875 -->17 82.75 -->16 87.875 -->15 93.0625 -->14 100.4375 -->13 107.8125 -->12 117.5625] M = 48. 29.125 46. 30.5625 44. 31.9375 42. 33.5 40. 35.3125 38. 37. 36. 39.3125 34. 41.625 32. 44.1875 30. 47.0625 28. 50.3125 26. 54.3125 24. 58.8125 23. 61.3125 22. 64.0625

Page 2: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

21. 67.0625 20. 70.6875 19. 74.125 18. 77.875 17. 82.75 16. 87.875 15. 93.0625 14. 100.4375 13. 107.8125 12. 117.5625 -->p=M(:,2); -->v=M(:,1); -->plot(v,p,'b.')

No Statistica:

Page 3: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

Grafico de volume vs. pressão de Boyle

10 15 20 25 30 35 40 45 50

Volume

20

30

40

50

60

70

80

90

100

110

120

130

Pre

ssão

A qualidade de um ajuste normalmente é observada a partir dos gráficos dos resíduos deixados pelo modelo do tipo:

Entre uma das formas de avaliar o modelo é comparando a variância (informação) explicada por ele, preferencialmente sistemática, com a variância total. Antes de obter esta primeira pela construção de um modelo vamos descobrir a variância total que, analogamente ao início da análise de componentes principais, envolve as somas quadráticas dos desvios das variáveis, sendo um único número pois só há uma variável: -->pc=p-mean(p,'r') pc = - 32.3825 - 30.945 - 29.57

Page 4: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

- 28.0075 - 26.195 - 24.5075 - 22.195 - 19.8825 - 17.32 - 14.445 - 11.195 - 7.195 - 2.695 - 0.195 2.555 5.555 9.18 12.6175 16.3675 21.2425 26.3675 31.555 38.93 46.305 56.055 -->SQT=pc'*pc SQT = 16025.612 Esta é a soma quadrática total (SQT) da variável dependente, ou a variância desta multiplica pelo número de graus de liberdade (n-1=25-1). Este é o número máximo explicável que podemos chegar com as previsões do nosso modelo e é pela comparação com ele que veremos a sua melhora ou piora. Vamos a princípio modelar uma reta, que possui dois parâmetros (p = 2), o coeficiente angular (neste caso constante que multiplica o volume, b1) e o linear (o intercepto da reta com p = 0, b0), cuja equação é yp = b0 + b1.x (yp ou y significam y previsto), em que yp = p e x = V. Numa forma matricial: 1 x1 No caso de uma reta bt = [b0 b1] e X = 1 x2 ... ... 1 xn -->X1=[ones(25,1) v] X1 = 1. 48. 1. 46. 1. 44. 1. 42.

Page 5: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

1. 40. 1. 38. 1. 36. 1. 34. 1. 32. 1. 30. 1. 28. 1. 26. 1. 24. 1. 23. 1. 22. 1. 21. 1. 20. 1. 19. 1. 18. 1. 17. 1. 16. 1. 15. 1. 14. 1. 13. 1. 12. A equação para calcular parâmetros de modelos lineares é a seguinte:

-->b1=inv(X1'*X1)*X1'*p b1 = 120.13624 - 2.1618268 E calculcamos os valores de yp (pressões previstas) a partir destes parâmetros e de X1: -->pp1=X1*b1 pp1 = 16.368556 20.69221 25.015863 29.339517 33.663171 37.986824 42.310478 46.634131 50.957785 55.281439

Page 6: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

59.605092 63.928746 68.2524 70.414227 72.576053 74.73788 76.899707 79.061534 81.223361 83.385187 85.547014 87.708841 89.870668 92.032495 94.194322 Calculamos os erros de previsão desse modelo subtraindo os valores das pressões conhecidos pelos previstos :

-->e1=p-pp1 e1 = 12.756444 9.8702904 6.9216368 4.1604831 1.6493295 - 0.9868242 - 2.9979778 - 5.0091315 - 6.7702851 - 8.2189387 - 9.2925924 - 9.616246 - 9.4398997 - 9.1017265 - 8.5135533 - 7.6753802 - 6.212207 - 4.9365338 - 3.3483606 - 0.6351875 2.3279857 5.3536589

Page 7: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

10.566832 15.780005 23.368178 Como alguns erros são positivos e outros negativos e precisamos ter um número médio que os represente, fazemos a soma dos quadrados dos resíduos, ou SQr: -->SQr1=e1'*e1 SQr1 = 1974.0942 Este valor está relacionado com a variância não explicada pelo modelo (só falta dividir pelos graus de liberdade para que seja a variância residual), subtraindo a variância total pela residual: -->SQR1=SQT-SQr1 SQR1 = 14051.518 Esta é, portanto, a variância explicada pelo modelo, sendo a soma quadrática da regressão (SQR). Ela também pode ser obtida pela soma dos quadrados dos desvios dos valores previstos com relação à média dos valores originais: -->SQR1=(pp1-mean(p))'*(pp1-mean(p)) SQR1 = 14051.518 A fração explicada pelo modelo pode ser quantificada pela razão entre as somas quadráticas da regressão e total: -->Rq1=SQR1/SQT Rq1 = 0.8768163 Este valor, R2, é o coeficiente de determinação do modelo. No caso de uma reta, este valor é igual a r2, o coeficiente de correlação do modelo. Mas observe que ele não compara as variâncias explicada e total, pois não considera os graus de liberdade de SQR e SQT. Por isso existe um R2 ajustado, que permite comparar a eficiência de diferentes modelos com diferentes graus de liberdade. Ele é dado em função das médias quadráticas residual e total (MQr e MQT), que são SQr e SQT divididos pelos respectivos graus de liberdade. Lembrando que se:

SQT = SQR + SQr

Independe do modelo, só dos dados

Proporção depende do modelo

Page 8: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

Se o número de graus de liberdade de SQT é n-1 = 25-1 = 24 e de SQR é p-1 = 2-1 = 1 (pois se você sabe um parâmetro, o outro é deduzido a partir dele, logo só há uma variável independente), para que n-1 = p-1 + (nº de graus de liberdade de SQr), obtemos que o número de graus de liberdade de SQr é n-p = 25-2 = 23. Logo: -->MQr1=SQr1/(25-2) MQr1 = 85.830184 -->MQT=SQT/(25-1) MQT = 667,733833 -->Rqaj=1-(MQr1/MQT) Rqaj = 0,87146048 Estes valores de R2 e R2 ajustado servem para verificar a signifiância estatística da regressão. Outro parâmetro importante a ser verificado para esta finalidade é o valor de F, obtido da seguinte maneira: -->MQR1=SQR1/(2-1) MQR1 = 14051.518 -->MQr1=SQr1/(25-2) MQr1 = 85.830184 -->F1=MQR1/MQr1 F1 = 163.71301 Este teste compara as variâncias dos resíduos com a do modelo, e indica se elas são significativamente distintas ou não. Deveriam ser, uma vez que o modelo tenta prever um comportamento sistemático, deixando como resíduo um comportamento aleatório. Valor de F neste caso para 95% de confiança e para 1 e 23 graus de liberdade é 4,279344 (teste unilateral => testa se uma variância do numerador é significativamente maior que a do denominador). Obs.: É possível obter esse valor tabelado no Excel, colocando numa das células o comando “=invf(0,05;1;23)”. Neste caso um bom modelo deve ter:

MQR >> Fp-1,n-p MQr

Page 9: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

Para que a regressão seja significativa e também útil para fins preditivos (cobrindo uma grande faixa de variação), o valor de MQR/MQr deve ser de 4 a 5 vezes superior ao do tabelado, o que certamente é o caso desse modelo. Todos estes valores são importantes para avaliar um modelo segundo a Análise de Variância (ANOVA), e normalmente são organizados numa tabela como a que segue:

Ela será preenchida para este e outros modelos no final. No Statistica estes dados todos podem ser observados no sumário da regressão:

Observe que ele também apresenta os erros associados aos parâmetros b0 e b1. Outra medida necessária para avaliar a qualidade do modelo é verificando se o resíduo apresenta estrutura sistemática, o que não deve acontecer, pois ele deve conter unicamente a parte sistemática do sistema. Esta é a Análise dos Resíduos. Primeiro vamos comparar os valores que prevemos das pressões (pelo modelo de reta) com os reais: -->plot(v,p,'b.',v,pp1,'r.-')

Page 10: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

Quão mais correlacionados os valores previstos e reais de pressão estiverem, mais um gráfico de um com o outro assemelha-se a uma reta. Plotando-se este gráfico: -->plot(pp1,p,'b.')

No Statistica:

Page 11: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

Valores previstos vs. observados

10 20 30 40 50 60 70 80 90 100

Valores previstos

20

30

40

50

60

70

80

90

100

110

120

130V

alor

es o

bser

vado

s

95% confidence Não é uma reta, e apresenta uma estrutura aparentemente não aleatória. Verificando os resíduos de previsão para cada um dos valores esperados: -->plot(pp1,e1,'r.')

No Statistica:

Page 12: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

Valores observados vs. resíduos

20 30 40 50 60 70 80 90 100 110 120 130

Valores observados

-15

-10

-5

0

5

10

15

20

25R

esíd

uos

95% confidence O que indica que os resíduos apresentam uma tendência aparentemente quadrática, de modo que nosso modelo deve conter um termo quadrático para que a estrutura do resíduo esteja mais próxima da aleatoriedade. Logo a nova equação será yp = b0 + b1x + b2x

2 e, na forma matricial: 1 x1 x1

2 bt = [b0 b1 b2] e X = 1 x2 x2

2 ... ... ... 1 xn xn

2 -->X2=[ones(25,1) v v^2] X2 = 1. 48. 2304. 1. 46. 2116. 1. 44. 1936. 1. 42. 1764. 1. 40. 1600. 1. 38. 1444. 1. 36. 1296. 1. 34. 1156. 1. 32. 1024. 1. 30. 900. 1. 28. 784. 1. 26. 676. 1. 24. 576. 1. 23. 529. 1. 22. 484. 1. 21. 441.

Page 13: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

1. 20. 400. 1. 19. 361. 1. 18. 324. 1. 17. 289. 1. 16. 256. 1. 15. 225. 1. 14. 196. 1. 13. 169. 1. 12. 144. -->b2=inv(X2'*X2)*X2'*p b2 = 180.07791 - 6.9326166 0.0811468 -->pp2=X2*b2 pp2 = 34.274456 32.884097 32.142913 32.050902 32.608066 33.814404 35.669916 38.174602 41.328463 45.131497 49.583705 54.685088 60.435645 63.554364 66.835376 70.278682 73.884281 77.652174 81.58236 85.67484 89.929613 94.34668 98.926041 103.66769 108.57164

Page 14: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

-->plot(v,p,'b.',v,pp2,'r.-')

Notadamente houve uma melhora nos valores de R2 e R2 ajustado, e o F de 651,51 ainda é muito maior que o tabelado 3,443357, porém o resíduo apresenta uma estrutura semelhante ao de uma função cúbica. Isto significa que o modelo pode ser melhorado se for colocado um termo cúbico na equação.

Valores previstos vs. observados

20 30 40 50 60 70 80 90 100 110 120

Valores previstos

20

30

40

50

60

70

80

90

100

110

120

130

Val

ores

obs

erva

dos

95% confidence

Valores observados vs. resíduos

Dependent variable: P

20 30 40 50 60 70 80 90 100 110 120 130

Valores observados

-6

-4

-2

0

2

4

6

8

10

Res

íduo

s

95% confidence

Page 15: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

-->X3=[ones(25,1) v v^2 v^3] X3 = 1. 48. 2304. 110592. 1. 46. 2116. 97336. 1. 44. 1936. 85184. 1. 42. 1764. 74088. 1. 40. 1600. 64000. 1. 38. 1444. 54872. 1. 36. 1296. 46656. 1. 34. 1156. 39304. 1. 32. 1024. 32768. 1. 30. 900. 27000. 1. 28. 784. 21952. 1. 26. 676. 17576. 1. 24. 576. 13824. 1. 23. 529. 12167. 1. 22. 484. 10648. 1. 21. 441. 9261. 1. 20. 400. 8000. 1. 19. 361. 6859. 1. 18. 324. 5832. 1. 17. 289. 4913. 1. 16. 256. 4096. 1. 15. 225. 3375. 1. 14. 196. 2744. 1. 13. 169. 2197. 1. 12. 144. 1728. -->b3=inv(X3'*X3)*X3'*p warning matrix is close to singular or badly scaled. rcond = 9.9095D-13 b3 = 240.36113 - 14.297572 0.3524097 - 0.0030609 Este aviso indica que como a correlação entre as variáveis é muito grande, a matriz está muito próxima de ser singular, isto é, possuir um determinante igual a zero (com isso XtX não poderia ser invertida). -->pp3=X3*b3 pp3 = 27.515024 30.432857 32.790699

Page 16: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

34.735474 36.414109 37.973526 39.560651 41.322409 43.405725 45.957522 49.124727 53.054262 57.893054 60.699335 63.788027 67.177495 70.886106 74.932223 79.334214 84.110444 89.279278 94.859082 100.86822 107.32506 114.24797

-->plot(v,p,'b.',v,pp3,'r.-')

Page 17: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

E poderíamos continuar com esta expansão acrescentando talvez um termo v4, se não fôssemos limitados pela grande correlação entre as variáveis, o determinante de XtX tão próximo de 0 quanto o limite do programa, impedindo a obtenção do b. Mas esse problema pode ser resolvido utilizando a regressão em componentes principais, que será abordada em outra oportunidade. Agora vamos testar a regressão segundo a verdadeira equação de Boyle, no qual a pressão depende do inverso do volume: ->X=[ones(25,1) v^(-1)] X = 1. 0.0208333 1. 0.0217391 1. 0.0227273 1. 0.0238095 1. 0.025 1. 0.0263158 1. 0.0277778 1. 0.0294118 1. 0.03125 1. 0.0333333 1. 0.0357143 1. 0.0384615 1. 0.0416667 1. 0.0434783 1. 0.0454545 1. 0.0476190 1. 0.05 1. 0.0526316 1. 0.0555556 1. 0.0588235 1. 0.0625 1. 0.0666667 1. 0.0714286 1. 0.0769231 1. 0.0833333

Valores previstos vs. observados

20 30 40 50 60 70 80 90 100 110 120

Valores previstos

20

30

40

50

60

70

80

90

100

110

120

130

Val

ores

obs

erva

dos

95% confidence

Valores observados vs. resíduos

20 30 40 50 60 70 80 90 100 110 120 130

Valores observados

-3

-2

-1

0

1

2

3

4

Res

íduo

s

95% confidence

Page 18: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

-->b=inv(X'*X)*X'*p b = 0.1946165 1403.0991 -->pp=X*b pp = 29.425849 30.696772 32.083233 33.601739 35.272095 37.118278 39.169593 41.462238 44.041465 46.964588 50.3053 54.159968 58.657081 61.198927 63.97185 67.008861 70.349574 74.04194 78.144569 82.72986 87.888313 93.734559 100.41598 108.12532 117.11954

-->plot(v,p,'b.',v,pp,'r.-')

Page 19: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

Valores previstos vs. observados

20 30 40 50 60 70 80 90 100 110 120 130

Valores previstos

20

30

40

50

60

70

80

90

100

110

120

130

Val

ores

obs

erva

dos

95% confidence

Valores observads vs. resíduos

20 30 40 50 60 70 80 90 100 110 120 130

Valores observados

-0,8

-0,6

-0,4

-0,2

0,0

0,2

0,4

0,6

Res

íduo

s

95% confidence

Realmente os dados se adequam quase que perfeitamente. Agora preenchendo a tabela da ANOVA com os dados de todos os modelos:

Soma Quadrática Graus de Liberdade Modelo Total

Regressão Resíduos Regressão Resíduos

v 16.026 14.052 1.974 1 23

v + v2 16.026 15.760 266 2 22

v + v2 + v3 16.026 15.991 35 3 21

1/v 16.026 16.024 1 1 23

Modelo Regressão Resíduos R2 R2aj Fcalc F

v 14051,52 85,83018 0,876816 0,87146 163,713 4,2793

v + v2 7879,766 12,09455 0,983397 0,981887 651,514 3,44336

v + v2 + v3 5330,339 1,647321 0,997841 0,997533 3235,763 3,07247

1/v 16024,37 0,054156 0,999922 0,999919 295894,9 4,2793

Não há dúvidas que o melhor modelo foi o deduzido por Boyle, por todos os dados apresentados.

Page 20: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

Quando se tratar de um caso em que existirem observações repetitivas, podemos usá-las para obter uma estimativa do erro aleatório. Supondo dados de temperatura em ºC (variável independente) e valores de rendimento em % (variável dependente), dos para cada temperatura: -->M=[30 24 20 -->35 40 43 -->40 60 57 -->45 70 72 -->50 77 80 -->55 86 89 -->60 91 88 -->65 86 89 -->70 84 80] M = 30. 24. 20. 35. 40. 43. 40. 60. 57. 45. 70. 72. 50. 77. 80. 55. 86. 89. 60. 91. 88. 65. 86. 89. 70. 84. 80. -->T=M(:,1) T = 30. 35. 40. 45. 50. 55. 60. 65. 70. -->R1=M(:,2) R1 = 24. 40. 60. 70. 77. 86. 91. 86.

Page 21: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

84. -->R2=M(:,3) R2 = 20. 43. 57. 72. 80. 89. 88. 89. 80. -->plot(T,R1,'b.',T,R2,'b.')

Vamos ajustar um modelo linear de uma reta a esta curva. Porém como são dois valores de temperatura vamos fazer uma repetição na matriz X para acrescentar estes dados: -->X=[ones(9,1) T -->ones(9,1) T] X = 1. 30. 1. 35. 1. 40. 1. 45. 1. 50. 1. 55. 1. 60. 1. 65. 1. 70. 1. 30.

Page 22: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

1. 35. 1. 40. 1. 45. 1. 50. 1. 55. 1. 60. 1. 65. 1. 70. -->y=[R1 -->R2] y = 24. 40. 60. 70. 77. 86. 91. 86. 84. 20. 43. 57. 72. 80. 89. 88. 89. 80. -->b=inv(X'*X)*X'*y b = - 7.4166667 1.5216667 -->Rp=X*b Rp = 38.233333 45.841667 53.45 61.058333 68.666667 76.275 83.883333 91.491667 99.1

Page 23: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

38.233333 45.841667 53.45 61.058333 68.666667 76.275 83.883333 91.491667 99.1 Logo a equação é yp = b0 + b1x = Rp = b0 + b1T = -7,42 + 1,52T. Comparando as previsões do modelo com o gráfico experimental:

-->plot(T,R1,'b.',T,R2,'b.',X(:,2),Rp,'r.-')

Quando a variável dependente possui repetições é possível desmembrar a SQr em dois termos, um relativo ao erro inerente das medidas, chamado erro puro, e outro relativo a falta de ajuste do modelo:

SQr = SQep + SQfaj

Como o erro puro independe do modelo, ele limita quanta variância pode ser prevista por ele, indicando se o modelo apresenta falta de ajuste, isto é, ultrapassa esse limite. Pela tabela completa de ANOVA podemos ver como calcular estes e os outros valores já apresentados:

Page 24: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

-->SQT=(y-mean(y,'r'))'*(y-mean(y,'r')) SQT = 8930. -->SQR=(Rp-mean(y,'r'))'*(Rp-mean(y,'r')) SQR = 6946.4083 -->SQr=(y-Rp)'*(y-Rp) SQr = 1983.5917 -->Rm=[(R1+R2)/2] Rm = 22.

Page 25: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

41.5 58.5 71. 78.5 87.5 89.5 87.5 82. -->eep=[R1-Rm -->R2-Rm] eep = 2. - 1.5 1.5 - 1. - 1.5 - 1.5 1.5 - 1.5 2. - 2. 1.5 - 1.5 1. 1.5 1.5 - 1.5 1.5 - 2. -->SQep=eep'*eep SQep = 45. -->SQfaj=SQr-SQep SQfaj = 1938.5917 A máxima variância explicada é: -->MVE=(SQT-SQep)/SQT MVE = 0.9949608 E o explicado pelo modelo é:

Page 26: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

-->Rq=SQR/SQT Rq = 0.7778733 Outro teste F aplicado em regressões lineares é o que determina a falta de ajuste do modelo. Ele compara as variâncias relativas ao erro puro com a da falta de ajuste, que são as respectivas médias quadráticas, MQep e MQfaj. O resíduo que o modelo não explica não dever ser significativamente diferente (para um certo nível de confiança) do resíduo natural do sistema. Caso contrário o modelo pode estar deixando de explicar alguma tendência sistemática, como um termo quadrático não considerado (resultados de Boyle mostrados posteriormente), de modo que MQfaj não é da mesma natureza randômica de MQep. Isso revelaria que o modelo não está ajustado. O número de graus de liberdade de SQep só depende de quantas medidas e de quantas repetições totais (n-m). Para que o total residual seja (n-p), o número de graus de liberdade da falta de ajuste deve ser (m-p). Logo MQep = SQep/(n-m) e MQfaj = SQfaj/(m-p). -->MQep=SQep/(18-9) MQep = 5. -->MQfaj=SQfaj/(9-2) MQfaj = 276.94167 -->F1=MQfaj/MQep F1 = 55.388333 O valor de F7,9 é 3,292746, logo como F1 > F7,9, há uma grande falta de ajuste no modelo (as variâncias diferem significativamente). Note que se fôssemos observar somente a razão MQR/MQr tomaríamos o modelo como bom, pois esse valor é 56,03 e F1,16 é 4,49 (no nível de 95%), o que indica uma regressão significativa. Logo para que um modelo seja bem ajustado deve ter:

MQfaj < Fm-p,n-m MQep Tanto o gráfico já apresentado dos dados de R1 e R2 em função de T como o dos resíduos indica que inserir um termo quadrático na equação é uma boa idéia: -->e=y-Rp e = - 14.233333 - 5.8416667

Page 27: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

6.55 8.9416667 8.3333333 9.725 7.1166667 - 5.4916667 - 15.1 - 18.233333 - 2.8416667 3.55 10.941667 11.333333 12.725 4.1166667 - 2.4916667 - 19.1 -->plot(X(:,2),e,'b.')

-->X2=[ones(9,1) T T^2 -->ones(9,1) T T^2] X2 = 1. 30. 900. 1. 35. 1225. 1. 40. 1600. 1. 45. 2025. 1. 50. 2500. 1. 55. 3025. 1. 60. 3600. 1. 65. 4225. 1. 70. 4900.

Page 28: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

1. 30. 900. 1. 35. 1225. 1. 40. 1600. 1. 45. 2025. 1. 50. 2500. 1. 55. 3025. 1. 60. 3600. 1. 65. 4225. 1. 70. 4900. -->b2=inv(X2'*X2)*X2'*y warning matrix is close to singular or badly scaled. rcond = 3.9632D-10 b2 = - 172.41667 8.5930952 - 0.0707143 -->Rp2=X2*b2 Rp2 = 21.733333 41.716667 58.164286 71.07619 80.452381 86.292857 88.597619 87.366667 82.6 21.733333 41.716667 58.164286 71.07619 80.452381 86.292857 88.597619 87.366667 82.6 -->SQR2=(Rp2-mean(y,'r'))'*(Rp2-mean(y,'r')) SQR2 = 8871.6048 -->SQr2=SQT-SQR2 SQr2 =

Page 29: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

58.395238 -->MQR2=SQR2/(3-1) MQR2 = 4435.8024 -->MQr2=SQr2/(18-3) MQr2 = 3.8930159 -->MQR2/MQr2 ans = 1139.4257 Como F2,15 = 3,682320, é notável que o valor calculado está muito maior do que no caso do modelo de reta. Agora vejamos se há falta de ajuste, lembrando que o erro puro permanece inalterado, logo MQep é idêntica à do modelo anterior, o que muda é MQfaj: -->SQfaj2=SQr2-SQep SQfaj2 = 13.395238 -->MQfaj2=SQfaj2/(9-3) MQfaj2 = 2.2325397 -->MQfaj2/MQep ans = 0.4465079 Como o valor de F6,9 é 3,373754 e é maior que o valor calculado, não há falta de ajuste. E pelo valor do coeficiente de determinação do modelo podemos ver que ele descreve quase toda a variância possível de ser descrita por um modelo: -->SQR2=(Rp2-mean(y,'r'))'*(Rp2-mean(y,'r')) SQR2 = 8871.6048 -->Rq2=SQR2/SQT Rq2 = 0.9934608

Page 30: Ajuste por mínimos quadrados no Scilab · PDF fileAjuste por mínimos quadrados no Scilab O ajuste por mínimos quadrados é uma regressão linear nos parâmetros (eles podem ser

-->MVE MVE = 0.9949608 Vejamos como o formato do modelo comparado com os dados originais: -->plot(T,R1,'b.',T,R2,'b.',X(:,2),Rp2,'r.')