Buscar

Regressao Linear E Polinomial

Prévia do material em texto

1 / 18
Regressão linear e 
polinomial
Augusto Mathias Adams
David Clistenes Furoni de Lima
 2 / 18
Ementa
● Motivação
● Ajuste de Curvas
– Método dos Mínimos Quadrados
– Regressão Linear
– Regressão Polinomial
● Código
– Classe RegressaoMinimosQuadrados (trecho do método solve)
– Classe RegressaoPolinomial (trecho do método solve)
● Aplicações
– Sensor Field Mill (David)
– Sensor AS3935 (Augusto)
● Agradecimentos
 3 / 18
Motivação
● Problema prático: calibração de instrumentos
– Equipamento em teste x Padrão de medida
– Medidas dispersas entre o padrão e o 
equipamento(Salpicam o gráfico!!)
– Pergunta: há um comportamento médio 
que possa dizer se o equipamento está em 
conformidade com o padrão de medida?
 4 / 18
Motivação
 5 / 18
Motivação
 6 / 18
Motivação
● Há um comportamento médio!!
– Podemos dizer que o equipamento em 
teste é calibrado para um intervalo de 
confiança de +/- 3km
– Como chegamos a este resultado?
● Método dos mínimos quadrados
 7 / 18
Método dos Mínimos 
Quadrados
● Ajuste de curvas:
– Trata-se de achar uma solução f(x), tal que seja 
minimizado
– Aplicações
● Identificação de sistemas
● Calibração de instrumentos
● Trabalhos acadêmicos e científicos
∑
i=1
N
(f (xi)−yi)
2
 8 / 18
Método dos Mínimos 
Quadrados
● Roteiro
– Definindo f(x) como um polinômio de grau g, sendo g menor 
que o número de pontos existentes na amostra ( )
– Parte-se de
– Encontra-se as derivadas parciais de R em relação às suas 
incógnitas ( )
– Reagrupa-se os termos de cada derivada parcial em função 
de suas incógnitas – tem-se um sistema linear
– A solução do sistema linear são os coeficientes de f(x)
– f(x) é a curva que melhor representa o conjunto de dados 
em questão para o grau g escolhido previamente
R(a1,. .. , ag+1)=∑
i=1
N
(f (xi)−yi)
2
a1, ... , ag+1
g<N
 9 / 18
Mínimos Quadrados – 
Regressão Linear
● Partimos de
● Para o caso linear ( ) temos
● R é uma função quadrática que tem seu mínimo quando suas 
derivadas forem iguais a zero, ou seja:
● Reescrevendo as derivadas:
R=∑
i=1
N
(f(xi)−y i)
2
y=a1+a2x R=∑
i=1
N
(a1+a2xi−yi)
2
∂R
∂a1
= ∂
∂a1
∑
i=1
N
(a1+a2xi−yi)
2=0
∂R
∂a2
= ∂
∂ a2
∑
i=1
N
(a1+a2xi−y i)
2=0
∂R
∂a1
=2∑
i=1
N
(a1+a2xi−yi)=0
∂R
∂a2
=2∑
i=1
N
xi (a1+a2xi−yi)=0
 10 / 18
Mínimos Quadrados – 
Regressão Linear
● Reagrupando os termos em cada equação:
● Temos o sistema linear:
● Que tem solução se:
a1∑
i=1
N
1+a2∑
i=1
N
x i=∑
i=1
N
yi a1∑
i=1
N
xi+a2∑
i=1
N
x i
2=∑
i=1
N
xiy i
[ N ∑i=1
N
xi
∑
i=1
N
xi ∑
i=1
N
x i
2] [a1a2]=[ ∑i=1
N
y i
∑
i=1
N
x iyi ]
N∑
i=1
N
xi
2−(∑
i=1
N
x i)
2
≠0
 11 / 18
Mínimos Quadrados – 
Regressão Linear
● Resolvendo o sistema linear, determina-se os coeficientes da 
equação da reta que melhor representa o conjunto de dados 
definido por (x,y)
● Que é a solução da equação de reta que melhor representa o 
conjunto de dados (x, y)
a1=
∑
i=1
N
x i
2⋅∑
i=1
N
yi−∑
i=1
N
xi⋅∑
i=1
N
xi yi
N∑
i=1
N
x i
2−(∑i=1
N
xi)
2
a2=
N∑
i=1
N
x iyi−∑
i=1
N
xi⋅∑
i=1
N
yi
N∑
i=1
N
xi
2−(∑i=1
N
xi)
2
 12 / 18
Mínimos Quadrados – 
Regressão Polinomial
● Caso geral: ajuste feito por várias funções
[ ∑i=1
n
f1(x i)
2 ∑
i=1
n
f2(x i)f1(xi ) ⋯ ∑
i=1
n
fm(x i) f1(xi )
∑
i=1
n
f1(xi )f2(x i) ∑
i=1
n
f2(xi )
2 ⋯ ∑
i=1
n
fm(x i) f2(xi )
∑
i=1
n
f1(x i) f3(x i) ∑
i=1
n
f2(x i)f3(xi ) ⋯ ∑
i=1
n
fm(x i) f3(xi )
⋮ ⋮ ⋱ ⋮
∑
i=1
n
f1(x i) fm (xi ) ∑
i=1
n
f2(xi )fm(x i) ⋯ ∑
i=1
n
fm(xi )
2
][ a1a2⋮am ]=[∑i=1
n
f1(xi)yi
∑
i=1
n
f2(xi )yi
∑
i=1
n
f3(xi )yi
⋮
∑
i=1
n
fm(x i)yi
]
 13 / 18
Mínimos Quadrados – 
Regressão Polinomial
● Caso particular: as funções são potências de x
 14 / 18
Regressão – vantagens e 
desvantagens
● Vantagem:
– Quando a escolha da função ou polinômio for bem feita, 
com um conjunto razoável de pontos, obtém-se uma reta ou 
curva que é representativa do comportamento médio – 
ajuste de curva otimizado
● Desvantagens:
– Polinomial: grau do polinômio x N => se forem próximos, a 
regressão tende a um polinômio interpolador – nem sempre 
isto é desejável
– Maior número de funções = matriz maior (aumento 
quadrático)
 15 / 18
Código – Regressão Linear
Trecho do método solve da classe RegressaoMinimosQuadrados 
n = np.size(self._data['x'])
s_xy = np.sum(self._data['x'] * self._data['y'])
s_xx = np.sum(self._data['x'] * self._data['x'])
s_x = np.sum(self._data['x'])
s_y = np.sum(self._data['y'])
self._results['POG'] = dict()
self._results['POG']['b1'] = (n * s_xy - s_x * s_y) / (n * s_xx - s_x ** 2)
self._results['POG']['b0'] = (s_xx * s_y - s_x * s_xy) / (n * s_xx - s_x ** 2)
 16 / 18
Código – Regressão 
Polinomial
Trecho do método solve da classe RegressaoPolinomial
p = self._polynomial_order + 1
regression_matrix = np.zeros((p, p), dtype='double')
regression_y = np.array([0.0] * p, dtype='double')
for i in range(p):
 regression_y[i] = np.sum(np.power(self._data['x'], i) * self._data['y'])
 for j in range(p):
 if j >= i:
 regression_matrix[i][j] = np.sum(np.power(self._data['x'], i + j))
 regression_matrix[j][i] = regression_matrix[i][j]
self._results['POG'] = np.linalg.solve(regression_matrix,
 regression_y)
 17 / 18
Exemplos
Sensor Field Mill (Simepar)
Sensor AS3935 (Prata da casa)
 18 / 18
Agradecimentos
A quem ficou acordado, parabéns!!
A apresentação foi longa, a gente entende 
quem estava dormindo (nós fazemos isto 
também)
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes