Ajuste de Curvas Regressão -...

54
Ajuste de Curvas Regressão Computação – 2º Semestre 2016/2017

Transcript of Ajuste de Curvas Regressão -...

Page 1: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Ajuste de Curvas

Regressão

Computação – 2º Semestre 2016/2017

Page 2: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Ajuste de Curvas

Quando apenas sabemos alguns valores de uma função contínua e queremos estimar outros valores intermédios

Quando queremos obter uma versão simplificada de uma função complexa

Exemplos de aplicações em Ciência e Engenharia para o ajuste de curvas aos dados experimentais:

Análise de tendências: usar a curva obtida para fazer previsões para valores não obtidos experimentalmente

Teste de hipóteses: verificar a correcção de um modelo matemático ou ajustar os seus parâmetros de acordo com os dados experimentais

29 Maio 2017 Ajuste de Curvas – Regressão Linear

Page 3: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Ajuste de Curvas

Dois tipos de abordagens que dependem dos erros

associados aos dados disponíveis:

Regressão: se o erro nos dados é significativo procurar uma curva

que represente todos os pontos sem ter que os intersectar

Interpolação: se os dados são exactos procurar uma curva que

passe por todos os pontos

3Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 4: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Estatística Descritiva

Objectivo: Descrever um conjunto de dados de forma sucinta

Exemplo: foram feitas 24 medidas de uma quantidade

Medidas de tendência central

Média Aritmética: soma dos valores individuais (yi) a dividir pelo seu

número n:

Mediana: o ponto médio de um conjunto ordenado de dados.

Moda: o valor que ocorre mais frequentemente.

y yi

n

4Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 5: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Estatística Descritiva

Medidas de dispersão

Desvio Padrão:

em que St é a soma do quadrado dos residuos:

Variância:

Coeficiente de variação:

sy St

n 1

St yi y 2

sy

2 yi y

2

n1

yi

2 yi 2

/nn1

c.v. sy

y 100%

5Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 6: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Estatística Descritiva

Exemplo:

6.624

4.158

n

yy

i

6Ajuste de Curvas – Regressão Linear

1

2

n

yys

i

y

097133.0124

217.0

22 )097133.0(ys

009435.0

c.v. sy

y 100%

%47.1%1006.6

097133.0

9 Maio 2017

Page 7: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Estatística Descritiva

Distribuição dos dados

Histograma: representação visual das frequências de ocorrência

dos valores

Se distribuídos de acordo com a Distribuição Normal:

7Ajuste de Curvas – Regressão Linear

%95]2,2[%68],[

yy

yy

sysysysy %95]794266.6,405734.6[

9 Maio 2017

Page 8: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Estatística Descritiva no MATLAB

O MATLAB tem várias funções pré-definidas de estatística descritiva. Se s é um vector coluna: mean(s), median(s), mode(s)

Calcula a média, a mediana, e a moda de s.

min(s), max(s)

Calcula o valor mínimo e o valor máximo em s.

var(s), std(s)

Calcula a variância e o desvio padrão de s

Se o argumento s é uma matriz o resultado é calculado para cada coluna.

8Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 9: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Histogramas em MATLAB

[n, x] = hist(s, x)

Determina o número de elementos em cada intervalo de dados em s.

x é um vector com os valores centrais dos intervalos.

[n, x] = hist(s, m)

Determina o número de elementos em cada intervalo de dados em s.

m é o número de intervalos usado. Por omissão: m=10

hist(s, x), hist(s, m), hist(s)

Sem argumentos de saída produz o gráfico.

9Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 10: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Estatística Descritiva

exemplo: >> s=[6.395 6.435 6.485 6.495 6.505 6.515

6.555 6.555 6.565 6.575 6.595 6.605

6.615 6.625 6.625 6.635 6.655 6.655

6.665 6.685 6.715 6.715 6.755 6.775]';

>> format short g

>> mean(s), median(s), mode(s)

ans =

6.6

ans =

6.61

ans =

6.555

10Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 11: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Estatística Descritiva

exemplo: >> min(s),max(s)

ans =

6.395

ans =

6.775

>> range=max(s)-min(s)

range =

0.38

>> var(s),std(s)

ans =

0.0094348

ans =

0.097133

11Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 12: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Estatística Descritiva

exemplo: >> [n,x] =hist(s)

n =

1 1 3 1 4 3 5 2 2 2

x =

6.414 6.452 6.49 6.528 6.566 6.604 6.642 6.68 6.718 6.756

>> hist(s)

12Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 13: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Números Aleatórios em MATLAB

r = rand(m, n)

Gera uma matriz mn de números aleatórios uniformemente distribuídos entre 0 e 1.

r = a + (b-a)*rand(m, n)

Gera uma matriz mn de números aleatórios uniformemente distribuídos entre a e b.

r = randn(m, n)

Gera uma matriz mn de números aleatórios de acordo com uma distribuição normal com média 0 e desvio padrão 1.

r = med + s*randn(m, n)

Gera uma matriz mn de números aleatórios de acordo com uma distribuição normal com média med e desvio padrão s.

13Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 14: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Números Aleatórios em MATLAB

Exemplo: bungee jumper

Sabe-se que:

g=9.81 m/s2, m=68.1 kg

Usar a função rand para gerar 1000 valores de cd uniformemente distribuídos entre 0.225 e 0.275 (0.25 kg/m 10%) e calcular a distribuição de velocidades para t=4 s

Usar a função randn para gerar 1000 valores de cd distribuídos de acordo com uma normal com média 0.25 e desvio padrão 0.01443 e calcular a distribuição de velocidades para t=4 s

14Ajuste de Curvas – Regressão Linear

t

m

gc

c

gmtv d

d

tanh

9 Maio 2017

Page 15: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Números Aleatórios em MATLAB

Exemplo: bungee jumper (distribuição uniforme) Escrever ficheiro uniformCd.m

clc,format short g

n=1000;t=4;m=68.1;g=9.81;

cd=0.25;cdmin=cd-0.025;cdmax=cd+0.025;

cdrand=cdmin+(cdmax-cdmin)*rand(n,1);

meancd=mean(cdrand),stdcd=std(cdrand)

subplot(2,1,1)

hist(cdrand),title('(a) Distribution of drag')

xlabel('cd (kg/m)')

vrand=sqrt(g*m./cdrand).*tanh(sqrt(g*cdrand/m)*t);

meanv=mean(vrand)

subplot(2,1,2)

hist(vrand),title('(b) Distribution of velocity')

xlabel('v (m/s)')

15Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 16: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Números Aleatórios em MATLAB

Exemplo: bungee jumper (distribuição uniforme)

>> uniformCd

meancd =

0.24944

stdcd =

0.014162

meanv =

33.126

16Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 17: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Números Aleatórios em MATLAB Exemplo: bungee jumper (distribuição normal)

Escrever ficheiro normalCd.m

clc,format short g

n=1000;t=4;m=68.1;g=9.81;

cd=0.25; stdev=0.01443;

cdrand=cd+stdev*randn(n,1);

meancd=mean(cdrand),stdevcd=std(cdrand),cvcd=stdevcd/meancd*100

subplot(2,1,1)

hist(cdrand),title('(a) Distribution of drag')

xlabel('cd (kg/m)')

vrand=sqrt(g*m./cdrand).*tanh(sqrt(g*cdrand/m)*t);

meanv=mean(vrand),stdevv=std(vrand),cvv=stdevv/meanv*100

subplot(2,1,2)

hist(vrand),title('(b) Distribution of velocity')

xlabel('v (m/s)')

17Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 18: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Números Aleatórios em MATLAB

Exemplo: bungee jumper (distribuição normal)

>> normalCd

meancd =

0.25067

stdevcd =

0.014622

cvcd =

5.833

meanv =

33.102

stdevv =

0.29137

cvv =

0.88023

18Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 19: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Linear

Ajustar uma linha recta a um conjunto de pares de

observações: (x1, y1), (x2, y2),…,(xn, yn).

y=a0+a1x+e

Em que:

a1- slope

a0- intercept

e- erro (resíduo) entre o modelo e as observações

19Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 20: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Linear

Ajustar uma linha recta a um conjunto de pares de

observações: (x1, y1), (x2, y2),…,(xn, yn).

y=a0+a1x+e → e=y a0 a1x

Critérios: Minimizar a soma dos erros residuais

Inadequado: os erros positivos compensam os erros negativos (ambas as linhas minimizam o critério)

20Ajuste de Curvas – Regressão Linear

n

i

ioi

n

i

i xaaye1

1

1

)(

9 Maio 2017

Page 21: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Linear

Ajustar uma linha recta a um conjunto de pares de

observações: (x1, y1), (x2, y2),…,(xn, yn).

y=a0+a1x+e → e=y a0 a1x

Critérios: Minimizar a soma do valor absoluto dos erros

Inadequado: não determina uma única linha (qualquer linha entre as tracejadas minimiza o critério)

21Ajuste de Curvas – Regressão Linear

n

i

ioi

n

i

i xaaye1

1

1

9 Maio 2017

Page 22: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Linear

Ajustar uma linha recta a um conjunto de pares de

observações: (x1, y1), (x2, y2),…,(xn, yn).

y=a0+a1x+e → e=y a0 a1x

Critérios: Minimizar o erro máximo

Inadequado: um grande erro num ponto compromete o resultado (a linha tracejada minimiza o critério)

22Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 23: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Linear

Ajustar uma linha recta a um conjunto de pares de

observações: (x1, y1), (x2, y2),…,(xn, yn).

y=a0+a1x+e → e=y a0 a1x

Critérios: Minimizar a soma dos quadrados dos erros

Tem sempre uma única solução!

Denominado: Método dos Mínimos Quadrados

23Ajuste de Curvas – Regressão Linear

Sr ei

2

i1

n

yi a0 a1xi 2

i1

n

9 Maio 2017

Page 24: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Método dos Mínimos Quadrados

Minimizar a soma dos quadrados dos erros

Mínimo quando as derivadas se anulam:

24Ajuste de Curvas – Regressão Linear

Sr ei

2

i1

n

yi a0 a1xi 2

i1

n

0)(2

0)(2

1

1

1

iioir

ioi

o

r

xxaaya

S

xaaya

S ii xaay 10

0

2

100 iiii xaxaxy

ii yaxan 10

iiii yxaxax 1

2

0

xaya

xxn

yxyxna

ii

iiii

10

221

valores médios

9 Maio 2017

Page 25: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Método dos Mínimos Quadrados

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade

25Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 26: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Método dos Mínimos Quadrados

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade

26Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 27: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Método dos Mínimos Quadrados

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade

27Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 28: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Método dos Mínimos Quadrados

(a) dispersão de dados à volta da média da variável dependente

(b) dispersão de dados à volta da linha obtida por regressão

A redução da dispersão representa a melhoria na explicação dos

dados obtida pela regressão linear.

28Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 29: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Método dos Mínimos Quadrados

Medida de dispersão para a variável dependente:

Desvio Padrão: em que

Na regressão o resíduo representa a distância vertical entre o observado e a linha recta:

Assumindo uma distribuição

normal do erro da estimativa

“Desvio Padrão” da regressão:

sy St

n 1

St yi y 2

29Ajuste de Curvas – Regressão Linear

n

i

ii

n

i

ir xaayeS1

2

10

1

2

sy / x Sr

n 29 Maio 2017

Page 30: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Método dos Mínimos Quadrados

St é a soma dos quadrados à volta da média da variável dependente

Sr é a soma dos quadrados dos resíduos à volta da linha de regressão

St-Sr quantifica a redução do erro obtida pela descrição dos dados com a linha de regressão em vez da descrição com o valor médio.

O coeficiente de determinação r2 é dado por:

r2 representa a percentagem da incerteza original explicada pelo modelo.

Para um ajuste perfeito, Sr=0 e r2=1.

Se r2=0, não há melhorias relativamente à simples escolha da média.

Se r2<0, o modelo é pior que a simples escolha da média!

r2 St Sr

St

30Ajuste de Curvas – Regressão Linear

(r – coeficiente de correlação)

9 Maio 2017

Page 31: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Método dos Mínimos Quadrados

(a) regressão linear com um coeficiente de determinação maior

(b) regressão linear com um coeficiente de determinação menor

31Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 32: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Método dos Mínimos Quadrados

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade

32Ajuste de Curvas – Regressão Linear

(melhorou!)

(88% da incerteza original é explicada pelo modelo)

9 Maio 2017

Page 33: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Linearização de Relações Não Lineares

A Regressão Linear assume a linearidade entre as

variáveis dependente e independente

No entanto, nem sempre é o caso!

Exemplo:

x

xy

xy

ey x

3

3

2

1

:limitado ocresciment

:potência

:lexponencia

2

1

33Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 34: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Linearização de Relações Não Lineares

Em certos casos é possível linearizar o modelo:

xyx

xy

xyxy

xyey x

111:limitado ocresciment

loglog log:potência

ln ln:lexponentia

oLinearizadlinear NãoModelo

3

3

33

3

222

111

2

1

34Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 35: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Linearização de Relações Não Lineares

35Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 36: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Linearização de Relações Não Lineares

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade (modelo potência)

36Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 37: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Linearização de Relações Não Lineares

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade (modelo potência)

37Ajuste de Curvas – Regressão Linear

xyxy loglog log 2222

9842.12741.0 xy

9 Maio 2017

Page 38: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Função linregr

38Ajuste de Curvas – Regressão Linear

function [a, r2] = linregr(x,y)

% linregr: linear regression curve fitting

% [a, r2] = linregr(x,y): Least squares fit of straight

% line to data by solving the normal equations

% input:

% x = independent variable

% y = dependent variable

% output:

% a = vector of slope, a(1), and intercept, a(2)

% r2 = coefficient of determination

n = length(x);

if length(y)~=n, error('x and y must be same length'); end

9 Maio 2017

Page 39: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Função linregr

39Ajuste de Curvas – Regressão Linear

x = x(:); y = y(:); % convert to column vectors

sx = sum(x); sy = sum(y);

sx2 = sum(x.*x); sxy = sum(x.*y); sy2 = sum(y.*y);

a(1) = (n*sxy-sx*sy)/(n*sx2-sx^2);

a(2) = sy/n-a(1)*sx/n;

r2 = ((n*sxy-sx*sy)/sqrt(n*sx2-sx^2)/sqrt(n*sy2-sy^2))^2;

% create plot of data and best fit line

xp = linspace(min(x),max(x),2);

yp = a(1)*xp+a(2);

plot(x,y,'o',xp,yp)

grid on

9 Maio 2017

Page 40: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Função linregr

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade (modelo linear)

>> x = [10 20 30 40 50 60 70 80];

>> y = [25 70 380 550 610 1220 830 1450];

>> [a, r2] = linregr(x,y)

a =

19.4702 -234.2857

r2 =

0.8805

40Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 41: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Função linregr

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade (modelo potência)

>> [a, r2] = linregr(log10(x),log10(y))

a =

1.9842 -0.5620

r2 =

0.9481

41Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 42: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Função pré-definida polyfit

A função pré-definida polyfit usa o método dos

mínimos quadrados para ajustar um polinómio de grau n:

p = polyfit(x, y, n)

x: dados da variável independente

y: dados da variável dependente

n: ordem do polinómio

p: coeficientes do polinómio

f(x)=p1xn+p2x

n-1+…+pnx+pn+1

O comando polyval pode ser usado para calcular um

valor com os coeficiente do polinómio obtidos.

y = polyval(p, x)

42Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 43: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Função linregr

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade (modelo linear)

>> x = [10 20 30 40 50 60 70 80];

>> y = [25 70 380 550 610 1220 830 1450];

>> a = polyfit(x,y,1)

a =

19.4702 -234.2857

>> y = polyval(a,45)

y =

641.8750

43Ajuste de Curvas – Regressão Linear9 Maio 2017

Page 44: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Polinomial

O método dos mínimos quadrados pode ser usado para o ajuste de um polinómio de ordem superior.

A ideia é minimizar a soma dos quadrados dos erros residuais.

Exemplo do ajuste de:a) Um polinómio de primeiro grau

b) Um polinómio de segundo grau

44Ajuste de Curvas – Regressão Não Linear9 Maio 2017

Page 45: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Polinomial

Para um polinómio de segundo grau, minimizar:

Encontrar os zeros das derivadas:

Resolver o sistema equações lineares de 33:

Sr ei

2

i1

n

yi a0 a1xi a2xi

2 2

i1

n

45Ajuste de Curvas – Regressão Não Linear9 Maio 2017

Page 46: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Polinomial

Em geral, minimizar:

corresponde a resolver um sistema de equações lineares m+1m+1

O “Desvio Padrão” para o ajuste de um polinómio de ordem m a n pontos é:

O coeficiente de determinação r2 é:

Sr ei

2

i1

n

yi a0 a1xi a2xi

2 amxi

m 2

i1

n

sy / x Sr

n m1

r2 St Sr

St

46Ajuste de Curvas – Regressão Não Linear9 Maio 2017

Page 47: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Polinomial

Exemplo: ajustar um polinómio de 2º grau aos dados das 2 primeiras colunas da tabela seguinte

Resolver o sistema equações lineares de 33:

47Ajuste de Curvas – Regressão Não Linear9 Maio 2017

Page 48: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Polinomial

Exemplo: ajustar um polinómio de 2º grau aos dados das 2 primeiras colunas da tabela seguinte

Correspondendo ao sistema equações lineares de 33:

48Ajuste de Curvas – Regressão Não Linear9 Maio 2017

Page 49: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Polinomial

Exemplo: ajustar um polinómio de 2º grau aos dados

das 2 primeiras colunas da tabela seguinte>> N = [6 15 55;15 55 225;55 225 979];

>> r = [152.6 585.6 2488.8];

>> a = N\r

a =

2.4786

2.3593

1.8607

Resultando o polinómio:

49Ajuste de Curvas – Regressão Não Linear9 Maio 2017

Page 50: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Não Linear

Nem todas os modelos podem ser representados por equações lineares de coeficientes e funções básicas. Ex:

Uma solução consiste em transformar as variáveis e resolver o problema de regressão linear resultante. Desvantagens: Nem todas as equações podem ser transformadas

A solução obtida corresponde ao melhor ajuste para as variáveis transformadas e não para as variáveis originais.

A alternativa é usar regressão não linear para determinar directamente o ajuste que minimiza a soma dos quadrados dos erros residuais.

50Ajuste de Curvas – Regressão Não Linear9 Maio 2017

Page 51: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Não Linear em MATLAB

Escrever uma função que calcule a soma dos quadrados dos

erros residuais.

Usar a função pré-definida fminsearch para encontrar os

valores dos coeficientes que minimizam a função anterior.

51Ajuste de Curvas – Regressão Não Linear9 Maio 2017

Page 52: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Linearização de Relações Não Lineares

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade (modelo potência)

52Ajuste de Curvas – Regressão Linear

xyxy loglog log 2222

9842.12741.0 xy

9 Maio 2017

Page 53: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Não Linear em MATLAB

Exemplo: dados experimentais para medir como a força de resistência do ar depende da velocidade (modelo potência)

Escrever no ficheiro fSSR.m:

function f = fSSR(a,xm,ym)

yp = a(1)*xm.^a(2);

f = sum((ym-yp).^2);

Introduzir os dados para ajustar:

>> x = [10 20 30 40 50 60 70 80];

>> y = [25 70 380 550 610 1220 830 1450];

Resolver o problema de minimização:

fminsearch(@fSSR, [1, 1], [], x, y)

ans =

2.5384 1.4359

Resultado:

1

0

axay

53Ajuste de Curvas – Regressão Não Linear

4359.15384.2 xy

9 Maio 2017

Page 54: Ajuste de Curvas Regressão - comp.ssdi.di.fct.unl.ptcomp.ssdi.di.fct.unl.pt/aulas/teoricas/aulaT8.pdf · Ajuste de Curvas Dois tipos de abordagens que dependem dos erros associados

Regressão Não Linear em MATLAB

Os coeficientes obtidos maximizam o coeficiente de

determinação r2 e podem ser diferentes dos obtidos por

transformação:

54Ajuste de Curvas – Regressão Não Linear9 Maio 2017