regressão e mínimos quadrados
DESCRIPTION
Regressão e Mínimos quadrados. Renato Assunção DCC-UFMG. Nem sempre queremos interpolar. Relação entre duas quantidades x e y Relação não é perfeita devido a: Erros de medição Ignorância sobre o fenômeno Impossibilidade de obter todas as informações necessárias. Fontes de imprecisão. - PowerPoint PPT PresentationTRANSCRIPT
Regressão e Mínimos quadradosRegressão e Mínimos quadrados
Renato Assunção
DCC-UFMG
Nem sempre queremos interpolarNem sempre queremos interpolar
Relação entre duas quantidades x e yRelação não é perfeita devido a:
– Erros de medição– Ignorância sobre o fenômeno– Impossibilidade de obter todas as
informações necessárias
Fontes de imprecisãoFontes de imprecisão
Relação é perfeita teoricamente mas existem erros de medição.
A lei de OHM diz respeito à relação entre corrente, tensão e resistência: RI=V onde:– I é a corrente em ampéres– V é a tensão em volts– R é a resistência em ohms
Fixe um resistência R e faça algumas medições de I e V. Elas não seguem a relação acima PERFEITAMENTE.
Ignorância e falta de informaçãoIgnorância e falta de informação
Não sabemos exatamente o que faz com que Y varie mas parece ser x.
Taxa de desemprego e Inflação: relação inversa (curva de Phillips)
Um gráfico de Y versus x mostra que existe uma relação, talvez não causal, entre y e x.
Qual o mecanismo extao que relaciona x e y?
Falta de informaçãoFalta de informação
Acreditamos que exista uma relacao perfeita entre x e y
Mas não conseguimos medir x: caro, impossível, ou muito demorada, ou destrutiva do material...
Medimos apenas um indicador grosseiro de x, uma quantidade z.
A relação entre y e z não é perfeita.
Relação entre x e yRelação entre x e y
Mede-se n pares de pontos x e yFazemos uma tabela com os pontos.
Processo químico
X = temperatura da reaçãoY = Produção (yield)
25 medições em diferentes níveis de temperatura do processo
Gráfico dos 25 pontosGráfico dos 25 pontos
Relação entre x e yRelação entre x e y
Não é uma reta perfeita.Mas podemos ver que existe um reta
α + βx subjacente tal que Y ≈ α + βx Como encontrar esta reta?
Dados de mortalidadeDados de mortalidade
Y = Número de pessoas mortas, por faixa etária, dentre os membros do fundo de pensão do Banco do Brasil.
Dados a partir de 20 anos e por idade simples:– 20 anos = 1 morte– 21 anos = 4 mortes – 22 anos = 3 mortes, etc.
Número de mortes (Y) versus idade (X)
Relação entre y e xRelação entre y e x?? Morte está associada a idade. Maior idade maior chance de morrer num
dado ano Queremos estimar a probabilidade de morte
entre idades x e x+1 dado que está vivo à idade x
Seja qx = Prob(Morte em [x, x+1) | vivo em x) Como qx está associado com x? Esperamos
que qx cresça com x. Onde está essa relação no gráfico anterior? O que está faltando?
Falta levar em conta mais um fatorFalta levar em conta mais um fator
Precisamos saber o número de pessoas que estavam vivas no início do ano em cada faixa etária.
Este número é o número Pop de EXPOSTOS AO RISCO de morte.
Y é claramente associado com Pop. Se Pop = 5, Y não pode maior que 5! Duas faixas com probabilidade de morte
iguais (digamos 0.01):– uma com Pop=100 esperamos contar 1 morte– Outra com Pop=10000 esperamos 100 mortes
Y x idade (esq) e Pop x idade (dir)Y x idade (esq) e Pop x idade (dir)
Plot de Y versus Pop=expostosPlot de Y versus Pop=expostos
Não é o que queremos ver...
O que precisamos ver?O que precisamos ver?
Precisamos ver como a probabilidade de morte varia com idade.
Divida o número de mortes Y pelo número de expostos Pop em cada idade
Isto dá a proporção daqueles vivos em cada idade que acabaram falecendo durante o ano.
Esta proporção deve estar associada com qx = probabilidade de morte por faixa etária.
Plotar esta proporção versus idade.
Não está bom ainda... O que faltaNão está bom ainda... O que falta??
Ah…o que um logaritmo faz…Ah…o que um logaritmo faz…
Relação parece linear, não?
RegressRegressão LINEAR de log(yão LINEAR de log(y//exp) versus idadeexp) versus idade
Parâmetros da regressão linearParâmetros da regressão linear Como interpretar os parâmetros de uma regressão linear? Considere a relação teórica/postulada entre o valor
esperado de Y quando x esta fixado num certo valor. Seja x = 0 + 1 x este valor esperado de Y quando x esta
fixo
x = 0 + 1 xy
0
x x+1
Incremento em x ao passar de x para x+1 é 1
O incremento é o MESMO VALOR 1
QUALQUER QUE SEJAo x de onde se parte.
Parâmetros da regressão linear - Parâmetros da regressão linear - 22
Isto é, se x=20 e mudamos para x=21, o valor esperado de Y muda: ele varia da quantidade 1
Este incremento não depende do nível x de onde começamos: se x=45 e mudamos para x=46, o impacto no valor esperado de Y continua sendo o mesmo valor 1
Isto é uma forma muito simples de descrever o impacto em μx da ação de variar x em uma unidade.
É um resumo muito simples de entender: mude x em uma unidade e você estará mudando o valor esperado de Y em 1
InterpretaInterpretação dos parâmetros em GLMção dos parâmetros em GLM
Como interpretar os parâmetros da regressão quando usamos log(Y)? Como antes, considere a relação teórica/postulada entre o valor
esperado de Y (isto e’, x) e o valor de x
– log(Yx/Expx) ≈ a + b*x ou seja Yx/Expx = qx ≈ exp(a + b*x)
Temos qx = exp(a) * exp(b*x) = exp(a) * [ exp(b) ]x
Ou seja qx = A * Bx – onde A = exp(a) e B=exp(b)
Se mudamos da idade x para a idade x+1, a probabilidade de morte passa de qx = A * Bx para qx+1 = A * Bx+1
A razão entre estas duas probabilidades é igual a
– qx+1/qx = ( A * Bx+1) / (A * Bx) = B
Isto é, qx+1 = B qx E ISTO VALE PARA TODO x
O que o parâmetro O que o parâmetro mede mede??
Temos qx+1 = B qx onde B=exp() Pelo ajuste, 0.06 B exp(0.06) = 1.062 Isto é, a mortalidade aumenta em aprox
6,2% a cada ano adicional.Ao passar de 30 para 31 anos de idade, a
chance de morrer em um ano aumenta em 6.2%
Ao passar de 80 para 81 anos, a chance também aumenta nos mesmos 6.2%
Modelos estatModelos estatísticosísticos
Compare a situação de conhecimento atual com aquela com a qual começamos.
Poucos cálculos depois e sabemos agora que, a cada ano de idade, a mortalidade aumenta em 6.2% aproximadamente.
Podemos até mesmo obter um intervalo que diz quão boa (ou quão ruim) é essa aproximação.
Um intervalo de 95% de confiança para 1 é dado por 0.060 +- 1.96 * 0.004 = (0.053, 0.068) – onde 0.04 0.003839 é o standard error da estimativa (ver
saída do R)
O I.C. de 95% para B=exp(1) é – (exp(0.053), exp(0.068)) = (1.054, 1.070)
Modelos estatísticosModelos estatísticos
Quanta economia de explicação, quanta concisão para explicar um fenômeno complexo.
A cada ano adicional de idade aumentamos em aproximadamente 6.2% a chance de morrer em um ano. Com grande confiança podemos dizer que esse aumento está entre 5.4% e 7.0%
Este é o poder, a beleza, a importância dos modelos estatísticos.
Extrair toda a informação possível de um grande conjunto de dados.
Informação é uma descrição sintética do mecanismo que está gerando os dados.
E outros gruposE outros grupos??
Os dados anteriores eram para homens não-fumantes.
O quadro é outro para mulheres não-fumantes.
E também outro para fumantes.Podemos rodar um modelo separado
para cada conjunto de dados.
Ajustes separadosAjustes separados
Masculino Feminino
Não Fumante
Fumante
03827,1)(
03756,0ˆ
67990,8ˆ
1
1
0
Exp
08561,1)(
08214,0ˆ
06363,10ˆ
1
1
0
Exp
0619,1)(
06007,0ˆ
36440,9ˆ
1
1
0
Exp
06713,1)(
06498,0ˆ
08423,9ˆ
1
1
0
Exp
Modelo único com covariáveisModelo único com covariáveis
Modelo único com duas covariáveis: sexo e idade.
IdadeFumoIdadeSexoFumoSexoIdadey 543210
Estimate Std. Error z value Pr(>|z|) (Intercept) -9.37176 0.18815 -49.80892 0.00000 idadetot 0.05967 0.00380 15.69628 0.00000 sexo 0.64565 0.32488 1.98738 0.04688 fumo -0.57489 0.35975 -1.59803 0.11004 idadetot:sexo -0.01949 0.00674 -2.89215 0.00383 idadetot:fumo 0.02183 0.00702 3.10992 0.00187
Ajuste CONJUNTOAjuste CONJUNTO
Masculino Feminino
Não
Fumante
Fumante
98541,1)ˆˆˆ(
68583,0ˆˆˆ
532
532
Exp
61055,0)ˆˆˆ(
49339,0ˆˆˆ
632
632
Exp
06149,1)ˆ(
05967.0ˆ
1
1
Exp
14198,1)ˆˆˆˆˆ(
13276,0ˆˆˆˆˆ
65432
65432
Exp
Graficos: Graficos:
The landmark Doll and Peto study (1976) on smoking and heart attack deaths.
• Doll and Peto collected data on thousands of British doctors, many of whom smoked, and many did not.
• The unit of analysis was the number of person-years, of which over 180,000 were collected.
• The outcome of interest was death due to coronary thrombosis.
• The explanatory variables of interest were smoking and age (because heart attack deaths increase with age).
Data for the Doll and Peto study agecat smoker died person_y1 1 1 322 1 1 1043 1 1 2064 1 1 1865 1 1 1021 0 1 22 0 1 123 0 1 284 0 1 285 0 1 311 1 0 523752 1 0 431443 1 0 284064 1 0 124775 1 0 52151 0 0 187882 0 0 106613 0 0 56824 0 0 25575 0 0 1431
* agecat = 1 for 35-44, 2 for 45-54, 3 for 55-64, 4 for 65-74, 5 for 75-84
* smoker = 1 for yes, 2 for no
* deaths = deaths in group due to coronary thrombosis
* person_y = total person-years of exposure for group
Regression-style poisson model
. poisson deaths smoker age1 age2 age3 age4, exposure(person_y)
Poisson regression Number of obs = 10
LR chi2(5) = 922.93
Prob > chi2 = 0.0000
Log likelihood = -33.600153 Pseudo R2 = 0.9321
------------------------------------------------------------------------------
deaths | Coef. Std. Err. z P>|z| [95% Conf. Interval]
---------+--------------------------------------------------------------------
smoker | .3545356 .1073741 3.302 0.001 .1440862 .564985
age1 | -3.700096 .1922195 -19.249 0.000 -4.07684 -3.323353
age2 | -2.216089 .1270503 -17.443 0.000 -2.465104 -1.967075
age3 | -1.072591 .1086726 -9.870 0.000 -1.285586 -.8595969
age4 | -.3496037 .1104853 -3.164 0.002 -.5661509 -.1330565
_cons | -4.219229 .1249837 -33.758 0.000 -4.464193 -3.974266
person_y | (exposure)
------------------------------------------------------------------------------
Predição de preços imobiliáriosPredição de preços imobiliáriosQual o valor de um imóvel?Existem softwares para fazer esta
predição de forma automática a partir de varias características do imóvel.
Menos subjetivo, mais rápido, primeira avaliação
Como um software desses pode ser construído?
Preços de imóveisPreços de imóveisColetamos precos de 1500 imoveis a
venda no mercado de BHAlguns sao caros, outros sao baratos.O que faz com que os precos dos
imoveis variem?As três coisas mais importantes que
afetam o valor de um imóvel...
LocalizaçãoLocalizaçãoLocalização:
– dividir a cidade em pequenos áreas Outra abordagem mais simples:
– localização e’ status socio-economico; – status e’ mensurados por renda. – Renda e’ medida pelo IBGE em 2000
pequenas áreas da cidade.– Renda do “chefe do domicilio”
Então: “localização” = renda media da região onde esta o imóvel.
Outras características do imóvelOutras características do imóvel Ano da construção Área total do imóvel Numero de quartos Numero de suítes Quantos aptos por andar? possui salão de festas? 0 ou 1 Possui piscina? 0 ou 1 ETC... Ao todo, 30 características numéricas para cada
um dos 1500 imóveis.
Visão matricialVisão matricialOrganizar os dados como vetores e
matrizes.preços: um vetor Y de dimensão 1500As características: matriz 1500 x 30
– Cada linha = um imóvel– 1ª. coluna = renda media da regiao– 2ª. coluna = ano da construção– 3ª. coluna = área total– Etc.
Visão matricialVisão matricial
150015001500
149914991499
222
111
1500
1499
2
1
salaoarearenda
salaoarearenda
salaoarearenda
salaoarearenda
X
y
y
y
y
Y
Precos de 1500 imoveisVetor de dimensao 1500
30 caracteristicas de 1500 imoveisMatriz X de dimensao 1500 x 30
Preco e’ uma soma ponderadaPreco e’ uma soma ponderada
Procuramos um modelo matematico simples que possa explicar, a partir das características, porque alguns imóveis são caros e outros são baratos.
Área total: quanto maior o imóvel, maior o preço.
Influencia de áreaInfluencia de áreaVamos fazer uma primeira aproximação,
talvez muito grosseira e sujeita a revisões. Mas será um ponto de partida.Vamos imaginar que, APROXIMADAMENTE,
o preço aumenta linearmente com a área do imóvel .
Isto e’, que o preço Y ≈ a + b * area
Um gráfico com 150 imóveisUm gráfico com 150 imóveisRodrigo, usei o seguinte:area <- runif(150, 50, 500)y <- abs(50 + 2 * area + rnorm(150, 0, 100))plot(area, y, ylim=c(0, max(y)))Deixe comentado no arquivo .tex para eu modificar mais tarde se necessario.
Cada ponto e’ um imovelO eixo vertical tem os precos (em milhares de reais)O eixo horizontal tem as areas (em metros quadrados)
Parece que o preco e’, grosseiramente, uma funcao linear da areaIsto e’, Y ≈ a + b*area
Um gráfico com 150 imoveisUm gráfico com 150 imoveisarea <- runif(150, 50, 500)y <- abs(50 + 2 * area + rnorm(150, 0, 100))plot(area, y, ylim=c(0, max(y)))abline(50, 2)
Reta no grafico corresponde a esta equacao:
Preco Y ≈ 50 + 2*area
Área não e’ tudoÁrea não e’ tudo
Dois imóveis com praticamente a mesma area possuem preços diferentes.
O que causa a diferença?
Idade do imóvel?
Dois imóveis, com áreas iguais: se um for mais velho, provavelmente será mais barato.
Ampliando o modelo inicialAmpliando o modelo inicialPodemos entao imaginar que a idade traz
um impacto adicional ao nosso modelo de preco.
Neste momento, temos Y ≈ a + b*areaJá vimos ate mesmo que a ≈50 e b ≈ 2Podemos agora acrescentar o impacto de
idade imaginando que:– Y ≈ a + b*area + c*idade
Como maior idade reduz o preço, devemos ter c < 0
Um modelo ainda mais complexoUm modelo ainda mais complexoMas o preço não depende apenas de
area e idade.Dois imóveis com mesma área e mesma
idade podem ter preços bem diferentes dependendo de:– Sua localizacao (renda da sua regiao)– Numero de suites– Numero de vagas na garagem – Etc.
Cada fator pode ser acrescido ao modelo inicial de forma linear
Modelo mais complexoModelo mais complexoVamos considerar um modelo que, a partir
das 30 características do imóvel, fornece uma predição do preço da seguinte forma:
Y e’ aproximadamente igual a a + b*area + c*idade + d*localizacao + ETC...
O problema e’: – como encontrar os valores de a, b, c, etc. que
tornem a aproximação a melhor possível?
O problema de forma matemática O problema de forma matemática Queremos que cada um desses 1500
valores seja aproximadamente igual a uma combinação linear das 30 características (mais a constante a)
Podemos escrever isto de forma matricial...**
...**
...**
150015001500
222
111
idadecareabay
idadecareabay
idadecareabay
O problema de forma matemática O problema de forma matemática Para facilitar a notação no futuro,
vamos escrever os pesos que multiplicam cada característica como b0 (para a constante), b1 (para area), b2 (para idade),..., b30 para a presenca ou não de salão de festas
150030150021500101500
230222102
130121101
*...**
*...**
*...**
salaobidadebareabby
salaobidadebareabby
salaobidadebareabby
O problema de forma matricialO problema de forma matricial
Coloque estes valores como um vetor de dimensão 1500
150030150021500101500
230222102
130121101
*...**
*...**
*...**
salaobidadebareabby
salaobidadebareabby
salaobidadebareabby
5
4
2
1
30
5
4
2
1
2
5
4
2
1
10 ...
1
1
1
1
salao
salao
salao
salao
b
idade
idade
idade
idade
b
area
area
area
area
bb
Forma vetorialForma vetorial
5
4
2
1
30
5
4
2
1
2
5
4
2
1
10
5
4
2
1
...
1
1
1
1
salao
salao
salao
salao
b
idade
idade
idade
idade
b
area
area
area
area
bb
y
y
y
y
Y
Y e’ um vetor de dimensão 1500 escrito como combinação linear de 31 vetores, cada um deles de dimensão 1500.
Problema: encontrar os coeficientes b0, b1, ..., b30 que tornem a aproximação acima a melhor possível.
A solução do problemaA solução do problema
Veremos com detalhes mais tarde no curso como resolver este problema.
Neste momento, basta dizer que nosso problema fica reduzido a um sistema de equações lineares
Ou ainda, a um problema de inverter uma certa matriz quadrada.
A matriz de desenho X A matriz de desenho X
150015001500
149914991499
222
111
1
1
1
1
salaoarearenda
salaoarearenda
salaoarearenda
salaoarearenda
X
Seja X a matriz 1500 x 31 abaixo (note que ela tem uma coluna composta apenas de 1’s):
Solução: uma sistema linearSolução: uma sistema linearA solução b=(b0, b1, ..., b30)t
de nosso problema e’ dada pelo vetor30 x 1 que e’ a solução desta equaçãomatricial:XtX . b = Xt . YOu ainda, b = (XtX)-1 Xt . YA matriz XtX ‘e de dimensão 31 x 31Como vamos inverte-la?
A geometria dos mínimos quadradosA geometria dos mínimos quadrados
Explicar ...