Escolar Documentos
Profissional Documentos
Cultura Documentos
Regressão - Linear Código Matlab
Regressão - Linear Código Matlab
1
Carlos H. Q. Forster - ITA - 2008 2
yi = β0 + β1 xi + εi : εi são independentes
Princípio dos mínimos quadrados
Função a minimizar
n
X
f (b0 , b1 ) = [yi − (b0 + b1 xi )]2
i=1
∇f = 0
∂f X
= 2(yi − b0 − b1 xi )(−1) = 0
∂b0
∂f X
= 2(yi − b0 − b1 xi )(−xi ) = 0
∂b1
É obtido o sistema de equações normais:
P P
nb
P0 + ( xi )Pb1 = yi
( x i ) b0 + xi 2 b1
X X X
= yi 2 − β̂0 yi − β̂1 xi yi
A estimativa de σ 2 é P 2
2 2 (yi − ŷi )
σ̂ = s =
n−2
Notar a perda de dois graus de liberdade por β̂0 e β̂1 já estarem definidos.
Soma dos quadrados totais (total sum of squares):
X
T SS = Syy = (yi − ȳ)2
ESS
r2 = 1 −
T SS
r2 modela a proporção da variância que pode ser explicada pelo modelo de re-
gressão linear simples. Quanto maior r2 , melhor adaptado ao modelo linear de re-
gressão.
Inferência sobre β1
Supondo distribuição normal, β̂1 é dada por uma combinação linear das variáveis
yi normalmente distribuídas (e, portanto, é uma variável aleatória normalmente dis-
tribuída).
E(β̂1 ) = β1
σ2
V ar(β̂1 ) =
Sxx
Correlação
Coeficiente de correlação amostral
Sxy
r= √ p
Sxx Syy
onde
n P P
X xi yi
Sxy = xi yi −
i=1
n
Propriedades de r
• não depende de qual variável é x e qual é y;
Cov(X, Y )
ρ = ρ(X, Y ) =
σx σy
P
(xi − x̄)(yi − ȳ)
ρ̂ = R = pP p
(xi − x̄)2 (yi − ȳ)2
f X
= −2 x1i (yi − β0 x0i − β1 x1i . . . − βm xmi ) = 0
β1 i
...
Obtemos o sistema de equações normais.
O sistema de equações normais é da forma:
P P P P P
b0 P x0i x0i + b1 P x1i x0i + b2 P x2i x0i + ... + bm P xmi x0i = P yi x0i
b0 x0i x1i + b1 x1i x1i + b2 x1i x2i + ... + bm x1i xmi = x1i yi
..
P . P P P P
b0 x0i xmi + b1 x1i xmi + ... + bm−1 xm−1,i xmi + bm xmi xmi = xmi yi
2.2 Solução
Vamos escrever o problema de forma vetorial. O vetor x é aumentado com um campo
de valor 1.
xi = (1, x1i , x2i , x3i , . . . , xmi )
O vetor β a ser determinado.
β0
β1
β=
β2
..
.
βm
Carlos H. Q. Forster - ITA - 2008 6
X T Xβ = X T Y
Assim, obtemos β:
β = (X T X)−1 X T Y
A matriz X + = (X T X)−1 X T é a matriz pseudo-inversa de Moore-Penrose de X.
Assim, a estimativa ŷ para as entradas xj se escreve como:
ŷ = β0 + β1 x1 + β2 x2 + . . . + βm xm
2 (n − 1)R2 − m
Rajustado =
n − (m + 1)
Exemplo
Carlos H. Q. Forster - ITA - 2008 7
∂f X
= −2 (yi − β0 − xi β1 − zi β2 ) = 0
∂β0 i
∂f X
= −2 xi (yi − β0 − xi β1 − zi β2 ) = 0
∂β1 i
∂f X
= −2 zi (yi − β0 − xi β1 − zi β2 ) = 0
∂β1 i
Na forma matricial:
1 ...
" #
β0
1 ...
y0
1 x1 z1
x1 . . . .. .. .. β1 = x1 ...
y1
..
z1 . . . 3×n . . . n×3 β2 3×1 z1 . . . 3×n . n×1
Multiplicando as matrizes:
P P P
P1 P xi 2 P zi β0 P yi
P xi P(xi ) P xi zi2
β1 =
P yi xi
zi xi zi (zi ) β2 yi zi
l11 2
l11 0 0 l11 l12 l13 l11 l12 l11 l13
LLT = l12 l22 0 0 l22 l23 = l11 l12 l12 2 + l22 2 l12 l13 + l22 l23
l13 l23 l33 0 0 l33 l11 l13 l12 l13 + l22 l23 l13 2 + l23 2 + l33 2
Basta então igualar cada elemento dessa matriz com a matriz a se decompor e
determinar um a um os coeficientes lij . Como a matriz L é triangular, é muito fácil
resolver o sistema linear por substituição.
Na prática:
Carlos H. Q. Forster - ITA - 2008 8
Construo a matriz X:
1 x1 z1
1 x2 z2
X=
..
.
1 xn zn
Construo a matriz X T X. Construo o vetor-coluna X T Y Decomponho X T X em
LL pela decomposição de Cholesky. Resolvo LLT β = X T Y por substituição e
T
Y = β0 + β1 x1 + β2 x2 + beta3 x1 2 + β4 x2 2 + ε
Y = β0 + β1 x 1 + β2 x 2 + β 3 x 1 x 2 + ε
Y = β0 + β1 x 1 + β2 x 2 + β3 x 1 2 + β 4 x 2 2 + β5 x 1 x 2 + ε
2.4 Complexidade
A solução do sistema linear de m variáveis e m equações é O(m3 ).
Se tenho m variáveis e busco as interações duas a duas, então terei O(m2 ) variáveis
e, portanto, a solução do sistema será O(m6 ).
3 Regressão Polinomial
Exemplo (Bishop): dados obtidos de
∂f ∂f ∂f
= 0, = 0, . . . , =0
∂β0 ∂β1 ∂βm
+ β2 P x i 2 + . . . + βmP xi m
P P P P
βP
0n + β1P xi = P yi
β 0 xi + β1 x i 2 + β2 xi 3 + . . . + βm xi m+1 = xi yi
..
P m .
+ β1 xi m+1 + + . . . + βm xi 2m xi m yi
P P P
β0 x i ... =
X
T SS = (yi − ȳ)2
ESS
σ̂ 2 = s2 =
n − (m + 1)
ESS
R2 = 1 −
T SS
2 n−1 ESS
Rajustado =1−
n − (m + 1) T SS
Escolha do grau do polinômio
Como escolher o valor para m Exemplo: no nosso exemplo, m = 0 e m = 1 são
ruins. m = 3 é bom. m = 9 modela o ruído (overfitting).
Carlos H. Q. Forster - ITA - 2008 10
Carlos H. Q. Forster - ITA - 2008 11
4 Aproximação regularizada
Manter o número de parâmetros M , independente do número de amostras N .
Termo penalizando a função de erro para manter coeficientes pequenos.
N
1X λ
f˜(β) = [y(xn , β) − tn ]2 + kβk2
2 n=1 2
onde kβk2 = β T β = β0 2 + . . . + βM 2 .
onde λ pesa a importância da regularidade da curva em relação ao erro contra os
valores amostrais.
Carlos H. Q. Forster - ITA - 2008 12
β = (X T X + λΓT Γ)−1 X T Y
beta=pinv(x_mat)*h
%%plotar a aproximacao
Carlos H. Q. Forster - ITA - 2008 13
poly=flipud(beta);
p=polyval(poly,xt);
figure;
plot(xt,ht,’b-’,x,h,’ro’,xt,p,’g:’);
xlabel(’x’);
ylabel(’y’);
title([’aproximacao polinomial M=’,num2str(M)]);
end
xtx=x_mat’*x_mat;
beta=inv(xtx+lambda*eye(size(xtx)))*(x_mat’*h);
%%plotar aproximacao
poly=flipud(beta);
p=polyval(poly,xt);
figure;
plot(xt,ht,’b-’,x,h,’ro’,xt,p,’g:’);
xlabel(’x’);
ylabel(’y’);
title([’aproximacao regularizada M=’,num2str(M),’ lambda=’,num2str(lambda)]);
Carlos H. Q. Forster - ITA - 2008 14
Carlos H. Q. Forster - ITA - 2008 15
Carlos H. Q. Forster - ITA - 2008 16
Carlos H. Q. Forster - ITA - 2008 17
φj = KF (|x − cj |/KW )
Carlos H. Q. Forster - ITA - 2008 18
β = (Z T Z)−1 (Z T Y )
6 Heteroscedasticidade
É como se chama quando a variância do ruído não é constante para x.
Se temos entradas na forma (xi , yi , σi2 ), então, o problema de minimização é
X (yi − βxi )2
arg min
β σi2
1
Trata-se portanto de uma regressão com pesos σ2 .