Вы находитесь на странице: 1из 3

PCosme, FEP, Nov.

2002

REGRESSO LINEAR MLTIPLA EM R


1. INTRODUO
num modelo de regresso linear mltipla prevemos uma varivel que continua com
variveis que tambm so contnuas. Por exemplo, prevemos a quantidade de chuva que vai
fazer amanh, em mm ou litros por metro quadrado, em funo da velocidade mdia do vento
e da quantidade de chuva de hoje, assumindo-se uma relao linear e somativa em que
existem parmetros ou coeficientes e uma parte desconhecida que se assume aleatria:
(Chuva amanh) = a + b (Chuva hoje) + c (Temperatura hoje) + (Parte desconhecida)
Sendo que a parte desconhecida vai traduzir o nosso erro de previso, um modelo
multilinear possvel poderia ser o seguinte (a previso pode ser negativa que resulta de erros
do modelo - assumirmos o modelo linear e haver uma parte desconhecida):
(Chuva amanh) = 3.5 + 0.75 (Chuva hoje) + 0.21 (Temperatura hoje)
A leitura que se faz do modelo :
Se hoje no chovesse nada e a velocidade do vento fosse zero, previa-se para
amanh 3.50 mm de chuva (no faz sentido uma quantidade de chuva negativa);
SE chovesse mais um mm hoje, previa-se para amanh mais 0.75 mm de chuva,
mantendo-se o resto constante;
Se a temperatura fosse maior num grau, previa-se para amanh mais 0.21 mm de
chuva, mantendo-se tudo o resto constante.
2. VARIVEIS CATEGRICAS - VARVEIS BINRIAS OU DUMMY
O modelo de regresso multilinear tambm pode conter variveis categricas do tipo
Sim/No. Neste caso adoptamos para cada uma um valor diferente, normalmente para uma o
valor 1 e para a outra o valor 0 porque o zero no se pode comparar quantitativamente com o
1. Denomina-se esta varivel escalar obtida pela "transformao" da varivel categrica
"Binria" ou "Dummy".
NO CATEGRICA TER N ALTERNATIVAS, NECESSITAMOS DE UTILIZAR N-1
VARIVEIS BINRIAS E NO N.

PCosme, FEP, Nov. 2002

3. ESTIMAO DE UM MODELO DE REGRESSO MULTILINEAR COM


EXEMPLOS
A sintaxe no R semelhante utilizada nas rvores de deciso ou de regresso mas a
funo outra. A estimao para os parmetros do modelo vai ser feita de forma a ser
minimizado o erro quadrtico mdio: EQM = [(x1yval)2 + + (xnyval)2]/n.
Estimao com os 100 exemplos de preos de apartamentos no ficheiro de texto
separado por vrgulas, 'u:/directrio escolhido/casas_preco.csv', com os campos "local",
"estado", "idade", "tipo", "area", "garagem" e o preo de venda no campo "mil_euros":
>Dados <-read.csv(u:/directrio escolhido/casas_preco.csv')
>library(rpart)
>modelo<-lm(mil_euros ~ idade + local + area, data = Dados)

Podemos agora "ver" o modelo:


>modelo
Call:
lm(formula = mil.euros ~ idade + local + area, data = Dados)
Coefficients:
(Intercept)
idade
17.569
-2.032

localmau
-11.030

localMbom localmedio
4.593
-8.535

localMmau
-27.490

area
1.060

A primeira e segunda linhas dizem como o modelo estimado. Depois temos os


coeficientes em que o Intersept , termo independente ou intercepo, traduz o preo de um
apartamento que tivesse zero em todas as variveis (no faz sentido porque a rea sempre
positiva).
O parmetro associado idade, que escalar, traduz que se um apartamento tivesse
mais um ano de idade, mantendo-se tudo o resto igual, previa-se que o seu preo fosse menor
em 2.032 milhares de euros.
As quatro variveis DUMMY devem-se varivel categrica Local ter 5 hipteses. O
parmetro -11.030 associado varivel localmau traduz que se uma casa mudasse de
localbom (que a categoria que falta) para localmau, mantendo-se tudo o resto igual, previase uma desvalorizao de 11.030 milhares de euros.

PCosme, FEP, Nov. 2002

3. DETERMINAO DO ERRO DE PREVISO DO MODELO


Agora no a poda, pruning, que generaliza o modelo mas antes assumirmos que
multilinear. Uma aproximao ao de previso a raiz quadrada do erro quadrtico mdio
obtida com "os exemplos de treino":

>Dados <-read.csv(' u:/directrio escolhido/casas_preco.csv')


>library(rpart)
>modelo<-lm(mil_euros ~ idade + local + area, data = Dados)
>Dados.previsto.com.modelo<-predict(modelo,Dados)
>erros.quadraticos<- (Dados$mil-euros - Dados.previsto.com.modelo)^2
>erro.medio.quadratico <- sum(erros.quadraticos) / length(erros.quadraticos)
>(erro.medio<- erro.medio,quadratico^0.5)
>[1] 15.225
Reparar que, por coincidncia, o erro de previso considerado como a raiz quadrada
do erro quadrtico mdio do modelo multilinear muito semelhante ao mesmo erro calculado
com a rvore de regresso mas usaram-se menos variveis. Se se usassem todas as variveis o
erro calculado seria de 6.912, sem se poder dizer que um modelo prev melhor que outro pois
desconhece-se o que vai acontecer no Futuro.

4. Dados de treino diferentes dos dados de avaliao


Pode-me interessar usar, por exemplo, 70% dos dados na estimao do modelo e 30%
na avaliao do erro. Supondo que j se leu o Data Frame Dados, faramos:
x <- nrow(Dados)*0.7
Dados.treino <- Dados[1:x,]
Dados.erro <- Dados[(x+1):nrow(Dados),]
modelo<-lm(mil_euros ~ idade + local + area, data = Dados.treino)
Dados.previsto.com.modelo<-predict(modelo, Dados.erro)
erros.quadraticos<- (Dados.erro$mil-euros - Dados.previsto.com.modelo)^2
erro.medio.quadratico <- sum(erros.quadraticos) / length(erros.quadraticos)
erro.medio<- erro.medio,quadratico^0.5
>[1] 15.22

Вам также может понравиться