Sei sulla pagina 1di 18

CC-226 Aula 03 - Anlise de Regresso

Carlos Henrique Q. Forster - Instituto Tecnolgico de Aeronutica


2008

1
1.1

Regresso Linear Simples


Descrio do problema de regresso linear simples

Relao entre duas variveis x e y.


y = 0 + 1 x
onde 1 o coeficiente angular e 0 o termo constante.

Modelo de regresso linear simples:


Desejamos estimar os parmetros 0 , 1 e 2 .
Y = 0 + 1 x +
onde uma varivel aleatria com mdia E() = 0.
A varincia V ar() dada por 2 .
: desvio aleatrio ou erro aleatrio.
Dado um valor para x o valor esperado de Y :
E(Y ) = E(0 + 1 x + ) = 0 + 1 x + E() = 0 + 1 x
V ar(Y ) = V ar(0 + 1 x + ) = V ar() = 2
1

Carlos H. Q. Forster - ITA - 2008

1.2

Estimao dos parmetros de Regresso

n pares observados (x1 , y1 ), . . . , (xn , yn ).


yi = 0 + 1 xi + i : i so independentes
Princpio dos mnimos quadrados
Funo a minimizar
f (b0 , b1 ) =

n
X

[yi (b0 + b1 xi )]2

i=1

A soluo da minimizao representada utilizando a notao:


(b0 , b1 ) = arg max f (b0 , b1 )
(b0 ,b1 )

Para minimizar, igualamos o gradiente de f com zero.


f = 0
X
f
=
2(yi b0 b1 xi )(1) = 0
b0
X
f
=
2(yi b0 b1 xi )(xi ) = 0
b1
obtido o sistema de equaes normais:

P
P
nb
b1 =  yi
P0 + ( xi )P
( x i ) b0 +
xi 2 b1
A estimativa obtida resultado desse sistema. O coeficiente angular (slope) estimado
P
Sxy
(xi x
)(yi y)

P
=
b1 = 1 =
2
(xi x
)
Sxx
O termo constante (y-intercept) estimado
b0 = 0 =

1.3

yi 1
n

xi

= y 1 x

Avaliao da regresso

Estimao de 2
Resduos yi yi onde yi = 0 + 1 xi .
Soma dos quadrados dos erros (error sum of squares):
X
X
ESS =
(yi yi )2 =
[yi (0 + 1 xi )]2

Carlos H. Q. Forster - ITA - 2008

yi 2 0

yi 1

A estimativa de 2

xi yi

(yi yi )
n2
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 y)2
2

=s =

Coeficiente de determinao (coeficiente de regresso de Pearson)


r2 = 1

ESS
T SS

r2 modela a proporo da varincia que pode ser explicada pelo modelo de regresso linear simples. Quanto maior r2 , melhor adaptado ao modelo linear de regresso.
Inferncia sobre 1
Supondo distribuio normal, 1 dada por uma combinao linear das variveis
yi normalmente distribudas (e, portanto, uma varivel aleatria normalmente distribuda).
E(1 ) = 1
2
V ar(1 ) =
Sxx
Correlao
Coeficiente de correlao amostral
r=
onde
Sxy =

n
X

Sxy
p

Sxx

Syy

P
xi yi

i=1

P
xi yi
n

Propriedades de r
no depende de qual varivel x e qual y;
independe das unidades de medida;
1 r 1;
r = 1 indica linha reta com coeficiente angular positivo;

Carlos H. Q. Forster - ITA - 2008

r = 1 indica linha reta com coeficiente angular negativo;


r2 o coeficiente de determinao.
Regra prtica
0 |r| 0, 5 indica correlao fraca.
0, 8 |r| 1 indica correlao forte.
r2 = 0, 25 indica que apenas 25% da variao de y observada seria explicada pelo
modelo de regresso linear.
Coeficiente de correlao
= (X, Y ) =

Cov(X, Y )
x y

P
= R = pP

(xi x
)(yi y)
p
(xi x
)2 (yi y)2

Regresso Linear Mltipla

Exemplo do conjunto de dados "bodyfat" da statlib.

2.1

O modelo de regresso linear mltipla

Modelo
Y = 0 + 1 X1 + 2 X2 + . . . + m Xm +
Onde
E() = 0
e
V ar() = 2

Carlos H. Q. Forster - ITA - 2008

m o nmero de parmetros e n o nmero de padres de entrada.


Considerando n entradas da forma (yi , x1i , x2i , . . . , xmi )
Vamos considerar uma varivel adicional X0 que resulta sempre em 1 e adicion-la
como campo nos padres de entrada.
A funo a minimizar pelo princpio dos mnimos quadrados :
X
f=
(yi 0 x0i 1 x1i . . . m xmi )2
i

Igualando suas derivadas parciais a zero:


X
f
= 2
x0i (yi 0 x0i 1 x1i . . . m xmi ) = 0
0
i
X
f
= 2
x1i (yi 0 x0i 1 x1i . . . m xmi ) = 0
1
i
...
Obtemos o sistema de equaes normais.
O sistema de equaes normais da forma:
P
P
P
b0 P x0i x0i + b1 P x1i x0i + b2 P x2i x0i
b0 x0i x1i + b1 x1i x1i + b2 x1i x2i
..
.
P
P
b0 x0i xmi + b1 x1i xmi +
...
Se substitumos a varivel x0 por 1
P
P
b0 n
+
b1P x1i
+
bP
x2i
2
P
b0 x1i +
b1 x1i 2
+ b2 x1i x2i
..
.
P
P
b0 xmi + b1 x1i xmi +
...

2.2

+
+
+ bm1

+
+
+ bm1

P
bm P xmi x0i
bm x1i xmi

...
...

+
+

xm1,i xmi

+ bm

P
+
bmP xmi
+ bm x1i xmi

xm1,i xmi

bm

Vamos escrever o problema de forma vetorial. O vetor x aumentado com um campo


de valor 1.
xi = (1, x1i , x2i , x3i , . . . , xmi )

0
1
2
..
.
m

xmi xmi

...
...

Soluo

O vetor a ser determinado.

xmi 2

=
=

P
P yi x0i
x1i yi

xmi yi

=
=

P
P yi
x1i yi

xmi yi

Carlos H. Q. Forster - ITA - 2008

Cada estimativa de sada yi obtida com


X
yi =
j xji = xi
i

Colocamos na forma matricial para todas entradas de i = 1, . . . , n:

1 x11 x21 x31 . . . xm1

X = 1 x12 x22 xji . . . xm2


..
.
O vetor-coluna y contm todas variveis de sada da amostra:

y0
y1

Y = y = y2
..
.
yn
O sistema a ser resolvido (sub ou super determinado)
X(nm+1) (m+11) = Y(n1)
O sistema de equaes normais
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 y para as entradas xj se escreve como:
y = 0 + 1 x1 + 2 x2 + . . . + m xm
Avaliao da regresso mltipla
A varincia estimada para a estimativa y

2 =

SQE
n (m + 1)

Notar que houve perda de m + 1 graus de liberdade


O coeficiente de determinao R2 deve ser ajustado para a regresso mltipla:
2
Rajustado
=

Exemplo

(n 1)R2 m
n (m + 1)

Carlos H. Q. Forster - ITA - 2008

Considere duas variveis x e z das quais queremos inferir y indiretamente. A partir


de um conjunto de n padres (xi , zi , yi ) estimamos os parmetros da regresso.
O modelo do erro
yi = 0 + xi 1 + zi 2 + i
A funo a minimizar (princpio dos mnimos quadrados):
X
f=
(yi 0 xi 1 zi 2 )2
i

Igualando as derivadas parciais a zero:


X
f
= 2
(yi 0 xi 1 zi 2 ) = 0
0
i
X
f
= 2
xi (yi 0 xi 1 zi 2 ) = 0
1
i
X
f
= 2
zi (yi 0 xi 1 zi 2 ) = 0
1
i
Na forma matricial:

"
1 ...
1 x1
x1 . . .
..
..
.
z1 . . . 3n .

z1
..
.

Multiplicando as matrizes:

P
P1
P xi 2

P xi P(xi )
zi
xi zi

0
1
1
= x1
2 31
z1
n3

...

...

. . . 3n

y0
y1

..
.

n1

P
P
0
P yi
P zi

1 =
P yi xi
P xi zi2
yi zi
(zi )
2

A matrix X T X simtrica e no-negativa definida, o que permite a decomposio


de Cholesky ou a decomposio de auto-valores ou valores singulares (SVD). A pseudoinversa do MATLAB utiliza a SVD.
Lembrando a decomposio de Cholesky:

l11 2
l11 l12
l11 l13
l11 0
0
l11 l12 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 ento 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 fcil
resolver o sistema linear por substituio.
Na prtica:

Carlos H. Q. Forster - ITA - 2008

Construo a matriz X:

1
1

X=

x1
x2
..
.
xn

z1
z2

zn

Construo a matriz X T X. Construo o vetor-coluna X T Y Decomponho X T X em


LL pela decomposio de Cholesky. Resolvo LLT = X T Y por substituio e
retro-substituio. Obtenho os parmetros do vetor-coluna .
Outra opo, no MATLAB uso beta=pinv(X)*Y.
T

2.3

Regresso mltipla para explorar relaes entre variveis

O modelo utilizado mesmo para variveis xi dependentes permitindo previsores


quadrticos e anlise de interaes de variveis.
Exemplos de modelos:
Modelo de segunda ordem sem interao:
Y = 0 + 1 x1 + 2 x2 + beta3 x1 2 + 4 x2 2 +
Modelo de primeira ordem com interao:
Y = 0 + 1 x 1 + 2 x 2 + 3 x 1 x 2 +
Modelo de segunda ordem completo:
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 soluo do sistema linear de m variveis e m equaes O(m3 ).


Se tenho m variveis e busco as interaes duas a duas, ento terei O(m2 ) variveis
e, portanto, a soluo do sistema ser O(m6 ).

Regresso Polinomial

Exemplo (Bishop): dados obtidos de


h(x) = sin (2x) +
Vamos supor n = 10 observaes (xi , ti ).
Chamamos o grau do polinmio de m. A forma do polinmio
2

y(x, w) = 0 + 1 x + 2 x + . . . + m x

M
X
j=0

j x j

Carlos H. Q. Forster - ITA - 2008

Determinar os valores dos coeficientes (polynomial fitting).

0
1

= .
..
M
Funo de erro a minimizar
f () =

N
1X
[y(xn , ) tn ]2
2 n=1

Encontrar para o qual f mnimo.


Igualar o gradiente de f a zero.
f
f
f
= 0,
= 0, . . . ,
=0
0
1
m
obtido o sistema de equaes normais (como fizemos anteriormente).
P
P
P
P
+
1P xi
+ 2 P x i 2 + . . . +
mP xi m
0n
0 xi +
1 x i 2
+ 2 xi 3 + . . . + m xi m+1
..
P m .
P
P
0 x i
+ 1 xi m+1 +
...
+ . . . + m xi 2m

=
=
=

P
P yi
xi yi
P

o mesmo que a regresso linear mltipla onde cada varivel xj = xj .


Avaliao da regresso polinomial
X
ESS =
(yi yi )2
T SS =

2 = s2 =

(yi y)2

ESS
n (m + 1)

R2 = 1
2
Rajustado
=1

ESS
T SS

n1
ESS
n (m + 1) T SS

Escolha do grau do polinmio


Como escolher o valor para m Exemplo: no nosso exemplo, m = 0 e m = 1 so
ruins. m = 3 bom. m = 9 modela o rudo (overfitting).

xi m yi

Carlos H. Q. Forster - ITA - 2008

10

11

Carlos H. Q. Forster - ITA - 2008

Manter M, mas aumentar N melhora o problema de overfitting.


Treinar com um conjunto de 10, mas testar com um conjunto de 100: boa a
generalizao?
Critrio para teste: erro root-mean-square.
r
2f ( )
ERM S =
N

3.1

Validao cruzada.

Validao cruzada S-fold:


1. Particionar o conjunto de amostras em S conjuntos.
2. Repito para cada um dos conjuntos:
(a) treinar com os demais S-1 conjuntos.
(b) testar com o conjunto selecionado (Erro RMS).

Aproximao regularizada

Manter o nmero de parmetros M , independente do nmero de amostras N .


Termo penalizando a funo de erro para manter coeficientes pequenos.
N
1X

f() =
[y(xn , ) tn ]2 + kk2
2 n=1
2

onde kk2 = T = 0 2 + . . . + M 2 .
onde pesa a importncia da regularidade da curva em relao ao erro contra os
valores amostrais.

12

Carlos H. Q. Forster - ITA - 2008

Termos em Estatstica: "shrinkage" e "ridge regression".


A soluo ainda pode ser obtida na forma fechada. Na forma matricial, a regularizao que vimos
(X T X + I) = X T Y
A soluo ento:
= (X T X + I)1 X T Y
Uma forma mais geral de regularizao utiliza a matriz de Tikhonov :
= (X T X + T )1 X T Y
Para sintonizar automaticamente M e , em geral, desperdcio utilizar dados adicionais. Mesmo assim, esses parmetros podem ser sintonizados utilizando validao
cruzada. Entretanto, h necessidade de um conjunto adicional para validao do resultado.

4.1

Cdigo MATLAB

%% obter conjunto para treinamento


tam_trein=20 % numero de valores para treinamento
rand(state,0); randn(state,0);
x=rand(tam_trein,1); % 10 valores de x entre 0 e 1
h=sin(2*pi*x)+0.3*randn(tam_trein,1);
%% obter conjunto para testes
xt=0:0.01:1;
ht=sin(2*pi*xt);
%% plotar o original e as amostras
figure;
plot(xt,ht,b-,x,h,ro);
xlabel(x);
ylabel(y);
title(curva original e amostras com ruido);
%% obter aproximacoes polinomiais
for M=[1, 2, 3, 5, 7, 9];
x_mat=[];
for grau=0:M
x_mat=[x_mat,x.^grau];
end
x_mat;
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
%% obter aproximacao regularizada
M=9;
lambda=0.001;
x_mat=[];
for grau=0:M
x_mat=[x_mat,x.^grau];
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

17

Carlos H. Q. Forster - ITA - 2008

5
5.1

Regresso no-linear com bases funcionais


Radial Basis Function

A regresso linear utilizando bases de funes radiais tem forma:


y = 1 1 (x) + 2 2 (x) + 3 3 (x)
A dimenso de x pode ser maior que 1.
As funes j tem a forma:
j = KF (|x cj |/KW )

18

Carlos H. Q. Forster - ITA - 2008

KF uma funo de Kernel (por exemplo, uma Gaussiana) e KW a largura do


Kernel. cj so coordenadas de centro para cada funo.
Na prtica, cj e KW ou KWj so mantidos constantes e s se estimam os valores
de .
Define-se uma matriz Z baseada na computao das funes j .
Z : zji = KF (|xi cj |/KW )
A soluo para os betas :
= (Z T Z)1 (Z T Y )

5.2

RBF com ajuste no-linear

Utilizar mtodo da descida na direo do Gradiente para ajustar j , cj e KWj .

Heteroscedasticidade

como se chama quando a varincia do rudo no constante para x.


Se temos entradas na forma (xi , yi , i2 ), ento, o problema de minimizao
arg min

X (yi xi )2
i2

Trata-se portanto de uma regresso com pesos

1
2 .

Potrebbero piacerti anche