Modelos de Regressao Regression Models
Modelos de Regressao Regression Models
Modelos de Regressao Regression Models
LOESS
Nadaraya-
Watson
Regressão
Logística Rio de Janeiro , 27 Maio de 2017
Galton's correlation diagram 1886
Sir Francis Galton
1822 - 1911
http://galton.org/essays/1880-
1889/galton-1886-jaigi-
regression-stature.pdf
Regressão linear
O Avô da Inteligência Artificial Supervisionada
John W. Foreman
Modelo de Regressão Linear
Finalidade: Ajustar uma equação linear que relaciona uma variável dependente (ou
explicada) Y com uma ou mais variáveis independentes (ou explicativas) X1, X2,...,Xk, a
partir de n observações (dados) dos vetores (Yi,Xi,1,Xi,2,...,Xi,k) i=1,n:
Os coeficientes 0, 1, 2, ..., k não são conhecidos, mas podem ser estimados pela
aplicação do método dos mínimos quadrados ordinários (MQO) ao conjunto de n
observações amostradas (yi,xi,1,xi,2,...,xi,k) i=1,n.
y 0 1 x1 2 x2 k xk =?
=?
amostras de x e y em n objetos selecionados aleatoriamente
Y Xβ Notação matricial
y1 1 x1,1 x1, k 1 1
y 1 x x
X
2, k
Y 2 β 2 2
2,1
yn 1 xn,1 xn, k k n
Premissas do modelo de regressão linear
Relação linear entre as variáveis dependente e independentes
y 0 1 x1 2 x2 k xk
As variáveis explicativas x são fixas (não aleatórias)
1 0 2 0 0
0 0 2
0
2
~ N n ,
2
n 0 0 0
Premissas do modelo de regressão linear
Caso da regressão lienar simples
Amostra
sinal ruído N(0, 2)
Y
y = 0 + 1xx +
Densidade de probabilidade do erro y
y ~ Normal
X
E(y) = 0 + 1x
V(y) = 2
E(y) = 0 + 1x
Estimador de mínimos quadrados ordinários
Equação de interesse y 0 1x1 2 x2 k xk
E y 0 1x1 2 x2 k xk
n
Mínimos quadrados Min y
i 0 1 i,1
β β X ... β X
k i, k 2
β 0 ,β1 ,...,β k i 1
X e y são valores conhecidos de uma
amostra aleatória de tamanho n
ˆ0
ˆ
Estimador de
Mínimos quadrados
β̂ 1 X T X X T Y
1
ˆk
Estimador da média
Equação de previsão yˆ ˆ0 ˆ1 x1 ˆ2 x2 ˆk xk de y em função das
variáveis explicativas
Estimador de mínimos quadrados ordinários
ˆ0 ˆ0
ˆ ˆ
β̂
1
1 T
X X X Y
T
β̂
1
~ N k β, Σ β̂
ˆk ˆk
Não tendencioso
Var ˆ1
Cov ˆ1 , ˆ2
Cov ˆ1 , ˆk
T
Σ β̂ E β̂ β β̂ β
Cov ˆ2 , ˆ1 Var ˆ
2
Cov ˆ2 , ˆk
2 X T X
1
Cov ˆk , ˆ1
Cov ˆk , ˆ2 ˆ
Var k
yi yi
ˆ 2
ˆ 2 i 1
n k 1
Estimador de mínimos quadrados generalizados
Aplicado nos casos de heterocedasticidade ou de autocorreção serial
do erro do modelo de regressão
ˆ0 ˆ0
ˆ ˆ
β̂ 1 X T -1X X T -1Y
1
β̂
1
~ N k β, Σ β̂
ˆk ˆk
T
Σ β̂ E β̂ β β̂ β X X
2 T -1
1
Modelo de Regressão Linear no R
Função lm, no R digite help(lm)
http://www.psc.state.ga.us/
Geórgia
Ray Charles
Exemplo 1 Regulação econômica
Um grande problema que Nolan enfrenta é determinar se as despesas
lançadas pelas companhias de serviços públicos são razoáveis.
dados[,1] dados[,2]
Diagrama de dispersão
plot(dados[,1],dados[,2],xlab="Clientes",ylab="Despesas US$")
Correlação
cor(dados[,1],dados[,2]) 0.9346278
275,73 0 342,37
10,99 1 19,04
̂ 0 ̂1 Companhia
mais eficiente
Valores estimados para as despesas
esperadas das 12 companhias
consideradas (reta de regressão)
ˆi Yi ˆ0 ˆ1 X i i 1, n
ˆi Yi 33,32057 15,01598 X i i 1, n
Resíduos negativos indicam as companhias que operam com custos abaixo das
respectivas estimativas para a despesa esperada. Resíduos positivos indicam
companhias com custos maiores que o eeperado.
plot(dados[,1],dados[,2],xlab="Clientes",ylab="Despesas US$")
lines(X,confianca[,1]) # insere a reta de regressão no gráfico (fit)
lines(X,confianca[,2],col="blue") # insere os limites inferiores (lwr) dos intervalos de confiança
lines(X,confianca[,3] ,col="blue") # insere os limites superiores (upr) dos intervalos de confiança
points(75,1500) # insere o dado informado pela empresa com 75000 clientes
arrows(70,1400,75,1500) # adiciona seta para indicar a companhia com 75000 clientes
text(60,1400,"X=75 e Y=1500") # insere texto explicativo na companhia com 75000 clientes
Exemplo 2 (Kutner et al, 2004) – Previsão de vendas
Uma empresa de artigos infantis opera em 21 cidades de médio porte.
A empresa está analisando a possibilidade de expansão em outras
cidades de médio porte (cidades candidatas).
A decisão depende de uma estimativa de vendas em cada cidade
candidata. Mas como prever as vendas nestas cidades, onde a
empresa não possui filiais ?
As vendas nas cidades candidatas podem ser estimadas por meio do
seguinte modelo de regressão linear múltipla, ajustado com as
observações provenientes das atuais 21 lojas da empresa.
Coeficiente 1 e 2 são
simultanemente não
nulos
Exemplo 2 Ajuste do modelo
Os dados das 21 localidades podem ser dispostos em um gráfico, onde cada localidade
é representada por um ponto.
passando pelo meio da nuvem de pontos. Este plano representa o valor esperado das
vendas em função da renda e da população abaixo de 16 anos em uma localidade
library(car)
scatter3d(VENDAS ~ POP16 + RPC,fit="linear")
Exemplo 2 Análise dos resíduos
Gráficos dos resíduos contra cada variável explicativa e a variável explicada exibem um
padrão aleatório e a dispersão parece constante e, portanto, estão coerentes com as
hipóteses (pressupostos) de covariâncias nulas entre os erros e variância do erro
constante.
par(mfrow=c(2,2))
plot(modelo$fitted,modelo$residuals)
plot(POP16,modelo$residuals)
plot(RPC,modelo$residuals)
plot(POP16*RPC,modelo$residuals)
Exemplo 2 Análise dos resíduos
O gráfico de probabilidade normal índica que a distribuição dos resíduos é normal,
portanto, coerente com a hipótese (pressuposto) de distribuição normal para o erro.
qqnorm(modelo$residuals)
qqline(modelo$residuals)
Exemplo 2 Análise dos resíduos
Outros gráficos
Residuals vs Fitted Normal Q-Q
20
2
5 5
Standardized residuals
10
1
Residuals
par(mfrow=c(2,2))
0
plot(modelo)
-10
-1
18
18
-20
16
16
2
5 0.5
1.2
Standardized residuals
Standardized residuals
18
1
0.8
0
0.4
-1
15
Cook's distance
16
-2
0.0
0.5
140 160 180 200 220 0.00 0.05 0.10 0.15 0.20 0.25
vcov(modelo)
ˆ2
S X X T
1
ajuste de regressão no
Excel)
ˆ ˆ ˆ 2ˆ 16,5158 4,0640
2 2
Exemplo 2 Intervalos de confiança dos coeficientes de regressão
194,948 0 57,2339
1,0096 1 1,8995
0,8274 2 17,9036
Exemplo 2 Previsões das vendas esperadas nas cidades A e B
Cidade A
número de pessoas com até 16 anos de idades = 65.400 (POP16 = 65,4)
renda per capita na localidade = 17.600 (RPC=17,6)
E VendasA | POP16 A , RPC A 68,86 1,45 65,4 9,37 17,6 191,10
Cidade B
número de pessoas com até 16 anos de idades = 53.100 (POP16 = 53,1)
renda per capita na localidade = 17.700 (RPC = 17,7)
E VendasA | POP16 A , RPC A 68,86 1,45 53,1 9,37 17,7 174,15
novodado=data.frame(rbind(c(65.4,17.6),c(53.1,17.7)))
colnames(novodado)=c("POP16","RPC")
rownames(novodado)=c("A","B")
predict(modelo,novodado)
Intervalos de
confiança Expectativas de vendas
Exemplo 2 Intervalos de previsão e de confiança de 95%
Intervalo de previsão: intervalo para uma realização da variável dependente Y dado X
Intervalo de confiança: intervalo para a média da variável dependente E(Y|X).
Intervalos
calculados
para cada par
(POP16, RPC)
observado na
amostra
Há variáveis qualitativas:
FuelType: CNG (GNV), Diesel, Petrol
MetColor: 1 cor metálica, 0 caso contrário
Automatic: 1 direção automática, 0 caso contrário
summary(dados)
Exemplo 3 Análise Exploratória de Dados
Para chamar cada variável por seu nome digite attach(dados)
attach(dados)
par(mfrow=c(1,2)) # prepara para receber dois gráficos lado a lado
hist(Price,xlab="Preço",ylab="Frequência",main="Histograma do Preço")
hist(log(Price),xlab="log(Preço)",ylab="Frequência",main="Histograma do log(Preço)“)
Teste de Kolmogorov-Smirnov
ks.test(sresid,"pnorm")
Teste de Anderson-Darling
library(nortest)
ad.test(sresid)
Exemplo 3 Avaliação da normalidade
QQplot útil na avaliação da premissa de normalidade
qqnorm(sresid)
qqline(sresid,distribution=qnorm)
Contribuições
contra a premissa
de normalidade
dos erros
Exemplo 3 Avaliação da homocedasticidade
Gráfico dos resíduos normalizados contra os valores estimados pelo
modelo para a variável dependente
plot(modelo$fitted,sresid)
Teste de Breusch – Pagan
H0 : erro homocedástico
H1: erro heterocedástico
library(lmtest)
bptest(modelo)
library(lmtest)
gqtest(modelo)
http://www.portalaction.com.br/analise-de-regressao/343-pontos-influentes
Exemplo 3 Novo ajuste
modelo1=lm(Y ~ X1+X2)
summary(modelo1)
bptest(modelo1)
H0 : erro homocedástico Não rejeita H0
H1: erro heterocedástico
Exemplo 4 (Berndt, 1991) – Previsão do consumo de energia elétrica
A previsão de longo prazo do consumo de energia elétrica é uma
informação fundamental para o planejamento da expansão de um
sistema elétrico, cujo objetivo consiste em estabelecer um cronograma
de entrada em operação das novas instalações de geração, transmissão
e distribuição de energia elétrica a fim de assegurar um atendimento
confiável e de custo mínimo à demanda futura de energia elétrica.
Exemplo 4 Modelo
Um modelo de previsão do consumo de energia elétrico poderia ter a
seguinte especificação (Cobb-Douglas)
Elasticidades
observe que
os sinais estão
coerentes com a
teoria econômica
Exemplo 4 Análise dos resíduos
library(MASS)
sresid = studres(modelo) # resíduos padronizados
hist(sresid, freq=FALSE,xlab="resíduo padronizado",ylab="densidade",main="")
xfit = seq(min(sresid),max(sresid),length=40)
yfit = dnorm(xfit)
A premissa de
lines(xfit, yfit,col="blue",lwd=2)
normalidade dos erros
não foi violada
ks.test(sresid,"pnorm")
residuos=ts(modelo$residuals,start=1951,end=1984,frequency=1)
plot(residuos,xlab="Anos") A sequência dos sinais
dos resíduos ao longo do
tempo não exibe um
padrão aleatório, logo a
premissa de erros não
Gráfico dos resíduos
ao longo do tempo autocorrelacionados foi
violada
Exemplo 4 Análise dos resíduos
Funções de
autocorrelação(FAC ou
ACF) e autocorrelção
parcial (FACP ou PACF) Decaimento exponencial Apenas a primeira FACP é
dos resíduos da FAC típico de um significativa
par(mfrow=c(1,2)) processo AR
acf(residuos,36)
pacf(residuos,36)
Equação principal
t t 1 vt Ruído branco
Equação do erro
Elasticidades
Cálculo da equação de previsão 1 passo a frente (h=1) para o período entre 1951 e 1984
LnkWht h 4,755 0,239 LnPelec t h 1,727 LnGNPt h 0,827 h ˆt
William S. Cleveland
http://www.stat.purdue.edu/~wsc/
LOESS
Valor
Valor suavizado
suavizado
X
https://en.wikipedia.org/wiki/Local_regression
Função loess do R
help(loess)
Equação do modelo y ~ x1 + x2
grau do polinomio utilizado na
regressão, normalmente 1 ou 2.
preco = dados$Price
km = dados$KM
plot(km,preco,xlab="km",ylab="preço") Preço = funcão(km)
previsao=predict(modelo,1000,se=TRUE)
Curva
suavizada
dados
LOESS na suavização dos dados de curva de carga
Demanda diária de energia elétrica em cada minuto do dia
curva com 1440 pontos
LOESS na suavização dos dados de curva de carga
Demanda diária de energia elétrica em cada minuto do dia
curva com 1440 pontos
outlier
LOESS na suavização dos dados de curva de carga
Demanda diária de energia elétrica em cada minuto do dia
curva com 1440 pontos
outlier
Regressão Quantílica
Regressão quantílica
Roger Koenker
https://pdfs.semanticscholar.org/a3cd/bfbba2ef3ce285980edc1213a4ac56f05bb1.pdf
Regressão quantílica
Quantil da variável resposta y é função das variáveis explicativas
Q y 0 1x1 2 x2 k xk
Regressões estimadas separadamente para cada quantil
Para mediana = 0,5
Para o primeiro quartil = 0,25 Quantile loss function
Para o terceiro quartil = 0,75
quantis
Exemplo 6 Intervalos de confiança dos coeficientes de regressão
# intervalos de confiança dos coeficientes nos diferentes quantis
plot(summary(modelo))
Coeficientes estimados
quantis pela regressão quantílica
para diferentes quantis
quantis
Exemplo 6 Quantis do preço em função da idade do veículo
# estimativas dos quantis de preços para diferentes idades
estimativas= predict(modelo,newdata=data.frame(age),type="")
dados=cbind(preco,estimativas)
plot(preco~age)
for (i in 2:10) {
lines(dados[,i]~age,col="blue")
}
Nadaraya – Watson (Kernel regression)
Nadaraya - Watson
Nadaraya, E. A. 1964. On estimating regression. Theory of Probability and Its Application 9: 141–142
A study is made of certain properties of an approximation to the
regression line on:the basis of sampling data when the sample
size increases unboundedly
http://www.mathnet.ru/php/archive.phtml?wshow=paper&jrnid=tvp&paperid=356&option_lang=eng
n x Xi
K h Yi
x
m x
ˆ i 1 Estimador Nadaraya Watson
n x Xi
K h
i 1 x
Exemplo 7 Nadaraya – Watson (função ksmooth)
dados=read.csv("c:/curso R/dados/ToyotaCorolla.csv",sep=",") # importa dados
preco = dados$Price
km = dados$KM
Preço = funcão(km)
plot(km,preco,xlab="km",ylab="preço")
modelo=ksmooth(km,preco,kernel="normal",bandwidth=6000)
precosuavizado=modelo$y
points(modelo$x, precosuavizado,xlab="km",ylab="preço",col="green")
Medidas de
qualidade de
modelo$bw # bandwidth ajuste
hx
Exemplo 7 Nadaraya – Watson com o pacote np
plot(modelo)
Gráfico das estimativas de E(preço | km)
plot(km,preco)
points(km,modelo$mean,col="blue")
Exemplo 7 Nadaraya – Watson com o pacote np
Correlação entre os
preços estimados e
observados
plot(modelo)
Exemplo 7 Nadaraya – Watson com o pacote np
Com duas variáveis explicativas o comando plot(modelo) abre uma janela com o
gráfico das médias estimadas em função da idade e quilometragem.
https://www.nuffield.ox.ac.uk/users/cox/cox48.pdf
https://papers.tinbergen.nl/02119.pdf
Regressão logística
Neste caso a variável dependente é binária Y {0,1} e representa, por
exemplo, uma decisão entre duas escolhas ou um desfecho entre dois
resultados possíveis.
1
PY 1
1 exp 0 1 X1 ... k X k
1
PY 0 1 PY 1 1
1 exp 0 1 X1 ... k X k
log
n
1 1
Max 1 yi log yi log
0 , 1 ,..., k i 1
1 exp 0 1 X i1 ... k X ik 1 exp 0 1 X i1 ... k X ik
Exemplo 8 (Neter et al, 1985) – Classificação entre falha e sucesso
O RH de uma desenvolvedora de software está estudando o efeito do
tempo de experiência em programação computacional sobre a habilidade
para completar, dentro de um determinado prazo, uma tarefa difícil. Para
o estudo foi realizado um experimento com vinte e cinco programadores
em que todos receberam a mesma tarefa. A experiência (em meses) de
cada programador e o respectivo desfecho do experimento (1 tarefa
concluída, 0 tarefa não concluída) são apresentados a seguir:
experiencia=c(14,29,6,25,18,4,18,12,22,6,30,11,30,5,20,13,9,32,24,13,19,4,28,22,8)
desfecho=c(0,0,0,1,1,0,0,0,1,0,1,0,1,0,1,0,0,1,0,1,0,0,1,1,1)
plot(experiencia,desfecho)
Exemplo 8 Boxplots
boxplot(experiencia~desfecho,xlab="desfecho",ylab="experiência")
Maior experiência
para o grupo que
concluiu a tarefa
dentro do prazo
tapply(experiencia,desfecho,mean)
Exemplo 8 Ajuste do modelo
# Ajuste do modelo de regressão logístico
modelo=glm(desfecho~experiencia,family=binomial)
summary(modelo) Pdesfecho 1 | experiencia 1
1 exp ( 0 1experienci a )
Parameter Estimates
Variable DF Estimate Std Error Chi-Sq Pr > Chi-Sq
INTERCEPT 1 -3.0597 1.2594 5.9029 0.0151
EXPERIE 1 0.1615 0.0650 6.1760 0.0129
Pdesfecho 1 | experiencia 1
1 exp ( 3,0597 0,1615 experienci a )
Exemplo 8 Probabilidades estimadas
plot(experiencia,modelo$fitted,xlab="esperiência",ylab="Probabilidade(desfecho=1)")
Chance (odds)
Pdesfecho 1|experienci a
odds
1 Pdesfecho 1|experienci a
Pdesfecho 1 | experiencia 1
1 exp ( 0 1experienci a )
P desfecho 1|experienci a
log 0 1experienci a
1 P desfecho 1|experienci a
Logito = log(odds)
Razão de chances (Odds ratio)
P desfecho 1|experienci a
log 0 1experienci a
1 P desfecho 1|experienci a
P desfecho 1|experienci a 1
log 0 1 experienci a 1
1 P desfecho 1|experienci a 1
1 P desfecho 1|experienci a
# Matriz de dados
xx=cbind(response,Age=loan$Age,Exp=loan$Experience,Inc=loan$Income,Fa
m2=loan$FamSize2,Fam3=loan$FamSize3,Fam4=loan$FamSize4,CCAve=loa
n$CCAvg,Mort=loan$Mortgage,SecAcc=loan$SecuritiesAccount,CD=loan$CD
Account,Online=loan$Online,CreditCard=loan$CreditCard,Educ2=loan$Educ2,
Educ3=loan$Educ3)
Variável Variáveis
dependente independentes
Exemplo 9 Amostras de treinamento e validação
# conjunto de treinamento
xtrain = xx[train,] # variáveis explicativas
ytrain = response[train] # variável dependente
# conjunto de validação
xnew = xx[-train,] # variáveis explicativas
ynew = response[-train] # variável expllicativa
Exemplo 9 Ajusta modelo
m2=glm(response~.,family=binomial,data=data.frame(response=ytrain,xtrain))
summary(m2)
Exemplo 9 Probabilidades estimadas
# probabilidades de respostas positivas dos clientes do conjunto de validação
ptest=predict(m2,newdata=data.frame(xnew),type="response")
Respostas positivas
Respostas negativas
P(resposta positiva)
Exemplo 9 Matriz de confusão
previsao = floor(ptest+0.5)
observado = ynew
tabela = table(observado,previsao)
tabela
erro=(tabela[1,2]+tabela[2,1])/n2
erro
(19 + 67) / 2000
19 + 67 2000 = total
total de de clientes no
classificações conjunto
erradas out sample
Exemplo 9 Matriz de confusão
previsao = floor(ptest+0.5)
observado = ynew
tabela = table(observado,previsao)
tabela
Considere que o perito esteja diante dessa situação e tenha que avaliar a
capacidade da empresa P&R de passar pela concordata e sair com todos
os seus compromissos honrados e em condições de continuar operando
normalmente como outras empresas. Uma abordagem para solucionar o
problema consiste em utilizar a análise discriminante.
Exemplo 10 Empresas concordatárias e saudáveis (Corrar et al, 2007)
Variável dependente (CLASS_Y): variável categórica com duas categorias
Empresas insolventes concordatárias (codificada com 1)
Empresas solventes (codificada com 2)
# leitura de dados
setwd("c:/cursoR")
filename="empresas.csv"
dados=read.csv2(filename,header=T,sep=",",dec=".")
names(dados)
# recodifica CLASS_Y
CLASS_Y=ifelse(dados[,1]==1,0,1)
length(which(dados[,9]==0))
# 64 empresas na amostra insample, variável ALEAT = 0
length(which(dados[,9]==1))
# 27 empresas na amostra outsample, variável ALEAT = 1
previsao = floor(prob+0.5)
Performance observado = y
insample # tabela de confusão
tabela = table(observado,previsao)
tabela
# erro aparente
erro=(tabela[1,2]+tabela[2,1])/sum(tabela)
erro
Exemplo 10 Empresas concordatárias e saudáveis (Corrar et al, 2007)
# conjunto de validação (outsample)
outsample=which(dados[,9]==1) # bservações na amostra outample
y=CLASS_Y[outsample]
x=data.frame(y,dados[outsample,5],d ados[outsample,6])
colnames(x)=c("y","AVEST","AVPC")
Performance outsample
previsao = floor(pout+0.5)
observado = y
# tabela de confusão
tabela = table(observado,previsao)
tabela
# erro aparente
erro=(tabela[1,2]+tabela[2,1])/sum(tabela)
erro
Atividade extra 1 (Corrar et al, 2007)
O gerente de uma seguradora de veículos está interessado em aprimorar a sua
política de vendas para expandir a base de clientes. Ele acredita que em muitas
situações teria condições de realizar contratos a preços mais competititvos se
tivesse uma melhor percepção da taxa de risco a que se expõe em cada operação.
Recorrendo à sua base de dados, resolveu extrair uma maostra aleatória de 36
clientes para identificar quais são as variáveis que mais contribuem para
diferenciá-los quanto à ocorrência de sisnistros. Com isso, espera poder estimar
de forma mais racionalo risco a que ficará exposto em futuras operações e,
consequentemente, conceder descontos mais adequados. A amostra de 36
clientes é apresentada a seguir:
http://sonda.ccst.inpe.br/
Atividade extra 5 Estimação robusta
O estimador de mínimos quadrados é sensível aos outliers e observações
influentes. Uma alternativa ao estimador de mínimos quadrados é o
estimador de mínimos desvios absoluto LAD e que corresponde à
obtenção de estimativas da mediana da variável resposta condicionadas
aos valores das variáveis explicativas. Portanto, trata-se de um caso da
regressão quantílica para =0,5.
Bhowmik, R. Data mining techniques in fraud detection, Journal of Forensics, Security and Law,
v. 3, n.3, pp. 35- 54, 2008
Corrar, L.J.M Paulo, E.; Dias Filho, J.M. Análise multivariada para os cursos de administração,
ciências contábeis e economia, São Paulo: Editora Atlas, 2007.
Kutner, M.H.; Nachtsheim, C.J.; Neter, J. Applied linear regression models, New York: McGraw-
Hill Irwin, 2004.
Ledolter, J. Data mining and business analytics with R, New Jersey: Wiley, 2013.
Neter, J.; Kutner, M.H.; Wasserman,C.J. Applied linear regression models, New York: McGraw-Hill
Irwin, 1985.
Peternelli, L.A.; Mello, M.P. Conhecendo o R: uma visão estatística, Viçosa: Editora UFV, 2011.
Ragsdale, C.T. Modelagem e Análise de Decisão, São Paulo, Cengage Learning, 2009
Se a sua intenção é retratar a verdade, faça-a com a
simplicidade e a elegância de um alfaiate.
Albert Einstein