Mét d Q
tit ti
Métodos Quantitativos para
Ciência da Computação Experimental
A l #
-Aula
#6c-Regressão Curvilínea, Transformações, Outliers e Modelos de Distribuição de Probabilidades
Virgílio A. F. Almeida
d
Maio de 2010
Departamento de Ciência da Computação Universidade Federal de Minas Gerais Universidade Federal de Minas Gerais
R
ã C
ili
Regressão Curvilinear
R
ã li
l õ li
• Regressão linear assume relações lineares
entre variáveis previsoras e a resposta.
• O que acontece quando essas relações não são
• O que acontece quando essas relações não são
lineares?
– Coeficientes de determinação RCoeficientes de determinação R pobres2 pobres
• É necessário encontrar outro tipo de função
para a relação entre previsores e resposta.
Quando devemos usar uma regressão
Quando devemos usar uma regressão
curvilinear?
• A forma mais direta é fazer uma inspeção visual nos dados.
• Faça um gráfico de pontos
– Se o gráfico não se apresenta como linear (alguma indicação de linearidade) use então uma regressão indicação de linearidade), use então uma regressão curvilinear.
• Ou então quando há outras razões para suspeitar que as relações não são lineares (ex fenômenos
as relações não são lineares (ex., fenômenos
claramente modelados por power laws, Zipfs Law, etc). • Relações devem ser convertidas para formas lineares.
D d i
t i
t l
Dados experimentais telco
count of
customers
‘best customer’
Tipos de Regressão Curvilinear
Tipos de Regressão Curvilinear
• Existem muitos tipos possíveis, baseados
numa variedade de relações entre as
numa variedade de relações entre as
variáveis:
y
=
bx
a
y
bx
y
= +
a
b
x
xab
y
=
x
Transformação para Relações
Transformação para Relações
Lineares
• Use qualquer transformação que leve a
representar a relação através de funções de
representar a relação através de funções de
forma linear, como : logaritmos, multiplicação,
divisão, etc.
• Exemplo, quer se obter y = a + b*
p
q
y
♣
• Ou uma forma similar
F
õ
d R
ã C
iLi
Funções de Regressão CurviLineares
Linear
Linear
Nao
⇒
)
1
(
x
b
a
y
x
b
a
y
=
+
⇒
=
+
1
)
/(
1
a
bx
y
bx
a
y
=
+
⇒
=
+
)
(
)
(
a
bx
x
y
a
bx
x
y
=
+
⇒
=
+
)
(
ln
ln
ln
n n xx
b
a
y
bx
a
y
b
x
a
y
b
a
y
+
⇒
+
+
=
⇒
×
=
)
(x
b
a
y
bx
a
y
=
+
⇒
=
+
F
õ
d R
ã C
iLi
Funções de Regressão CurviLineares
Linear
Linear
Nao
⇒
)
1
(
x
b
a
y
x
b
a
y
=
+
⇒
=
+
1
)
/(
1
a
bx
y
bx
a
y
=
+
⇒
=
+
)
(
)
(
a
bx
x
y
a
bx
x
y
=
+
⇒
=
+
)
(
ln
ln
ln
n n xx
b
a
y
bx
a
y
b
x
a
y
b
a
y
+
⇒
+
+
=
⇒
×
=
)
(x
b
a
y
bx
a
y
=
+
⇒
=
+
Transformações
Transformações
• O termo transformação é usado quando uma função da • O termo transformação é usado quando uma função da
variável de resposta medida é usada no lugar da própria variável.
U l f ã d iá l t l d
• Usar alguma função da variável resposta y em lugar do próprio y.
• Regressão curvilinear é um exemplo dessa transformação. 1
x
b
a
Y
=
α+ln
)
1
(
)
ln(
ln
x
b
a
Y
=
+
α
+
• As técnicas tem aplicação mais geral
'
'
A
Bx
y
=
+
Q
d t
f
?
Quando transformar?
1. Quando as propriedades físicas conhecidas do sistema medido sugerem que a função da resposta, ao invés
d ó i t é iá l lh
da própria resposta, é uma variável melhor para o modelo. Exemplo:
y
que
melhor
1
2. Quando o intervalo dos dados medidos cobre várias
d d d E l
y
y
melhor
que
ordens de grandeza. Exemplo:
grande
é
min maxy
y
3. Quando a hipótese de uma variância homogênea dos resíduos é violada (i.e. Homoscedasticity).
min
Comprimento das sessões em número de
requições baseados em dados medidos
.
Bookstore
Pareto
O tli
Outliers
M did b d i t ti i t
• Medidas observadas em experimentos tipicamente contem outliers (i.e., valores muito fora do corpo da curva)
d d ã ã í d d d
– Medidas que não são uma característica verdadeira do sistema.
– Ao acaso, pode haver vários desvios padrão fora dos limites
limites
– Erros podem ter ocorrido no processo experimental de medição.
Comportamentos atípicos de usuários do sistema podem – Comportamentos atípicos de usuários do sistema podem
existir (ex: um nerd que joga um game 15 horas consecutivas, quando se está analisando tempos de conexão a um provedor de serviços)p ç )
• Isso resulta no seguinte problema:
• Devemos ou não incluir os outliers nas análises que estamos fazendo?
C
t t
tli
?
Como tratar os outliers?
1. Determine os outliers, analisando por
exemplo os gráficos de pontos.
p
g
p
2. Verifique cuidadosamente os erros
experimentais
3. Repita os experimentos com valores
previsores para os outliers
4 Decida se deve ou não incluir os outliers:
4. Decida se deve ou não incluir os outliers:
• Verifique se os outliers são parte do sistema ou se são excessões que podem ser desprezadas. Exemplos?
A li d d tli j f • Analise os dados com e sem os outliers e veja o que faz
mais sentido.
• Todas as análises dependem da natureza do sistema em estudo
Erros mais comuns nas análises usando
Erros mais comuns nas análises usando
regressões
• Geralmente baseadas em “atalhos” ou
simplificação excessiva dos dados.
R li d id d
té i
• Realizada sem cuidados e técnicas
fundamentadas.
• Falta de entendimento dos princípios
• Falta de entendimento dos princípios
fundamentais de estatística.
• Falta de entendimento dos princípios
• Falta de entendimento dos princípios
Nã
ifi
ã d li
id d
Não verificação da linearidade
• Desenhe o gráfico de pontos
• Se não for linear, verifique as possibilidades
curvilineares e suas transformações.
• O uso de uma regressão linear quando as
relações entre resposta e previsores não são
lineares é um ERRO!
Validating GENIUS
Validating GENIUS
Relative performance of Randomized I/O over striping for
Relative performance of Randomized I/O over striping for
real and corresponding synthetic workload
GENIUS
P
i
G
t
GENIUS
adPrevious Generator
ad worklo a worklo a nthetic nthetic sy n ideal syn idealBasear em resultados sem uma
Basear em resultados sem uma
inspeção visual
• Sempre verifique o gráfico de pontos, como
parte das análises usando regressões
parte das análises usando regressões.
– Examine a linha de regressão prevista versus os pontos reais obtidos pelo experimento.
p p p
• Isso é particularmente importante no caso de
uso de pacotes que fazem regressões
Atribuição de importância aos valores dos
Atribuição de importância aos valores dos
parâmetros
• Valores numéricos da regressão dependem da
• Valores numéricos da regressão dependem da
escala das variáveis previsoras.
• Não é devido ao fato de um valor ser pequeno
p q
ou grande que é necessariamente uma
indicação de importância.
E
l
• Exemplo:
– Converter segundos para microsegundos não muda nada fundamental no problema
– Mas muda a magnitude dos valores dos parâmetros associados.
E
l
Exemplo
• Tempo de CPU em segundos = 0.01*(# oper. E/S) + 0.001*(tamanho da memória em Mbytes) • Tempo de CPU em milisegundos = 10*(# oper. E/S) +
1*(tamanho da memória em Mbytes)( y ) • Valores absolutos dos parâmetros podem ser
enganadores! enganadores!
â
• A forma correta de comparar a significância de um parâmetro da regressão é através de seu intervalo de confiança.
Ausência de cálculo de Intervalos de
Ausência de cálculo de Intervalos de
Confiança
A t
d
b
õ did
ã
• As amostras das observações medidas são
aleatórias.
• Assim a regressão executada nessas amostras
• Assim, a regressão executada nessas amostras
gera parâmetros com propriedades aleatórias
também.
também.
• Sem intervalos de confiança, é impossível
entender o significado e a confiança que se
g
ç q
tem nos valores dos parâmetros.
Ausência de cálculo do Coeficiente de
Ausência de cálculo do Coeficiente de
Determinação (R
2)
• Sem o cálculo de R
2, é difícil determinar
t d
iâ i é
li d
l
quanto da variância é explicada pela
regressão.
Uso Inadequado do Coeficiente de
Uso Inadequado do Coeficiente de
Correlação
C fi i
t d d t
i
ã é R
2• Coeficiente de determinação é R
2• Coeficiente de correlação é R
R
2dá
t
l d iâ i
é
• R
2dá o percentual da variância que é
explicada pela regressão, e isso é diferente de
R
R
• Exemplo
– se R é 0.6, então Rse R é 0.6, então R2 = 0.36 0.36
– a regressão explica apenas 36% da variância – não 60%!!
Medidas da variação: A soma dos
Medidas da variação: A soma dos
quadrados
Y
SSE
=
∑(
Y
i-
Y
i)
2∧
SST =
∑(
Y
i-
Y
)
2∑(
i i)
_
SSR
=
∑(
Y
i-
Y
)
2∧
_
Y
_
X
X
X
X
Uso de variáveis previsoras altamente
Uso de variáveis previsoras altamente
correlacionadas
• Se duas variáveis previsoras são
• Se duas variáveis previsoras são
correlacionadas, o uso de ambas variáveis
degrada a regressão.
• Exemplo:
– num servidor Web é provável haver correlação entre tamanho de um arquivo e sua popularidade
tamanho de um arquivo e sua popularidade
– assim, não use os dois num modelo de previsão de cache hit ratio
O l
t
é á i
h
• O exemplo mostra que é necessário conhecer
bem as variáveis previsoras e suas possíveis
relações
Uso de regressão muito além do intervalo
Uso de regressão muito além do intervalo
de observação
• A regressão é baseada no comportamento observado de uma amostra em particular (ou conjunto de amostras). Refere se ao comportamento do sistema numa certa faixa d l
de valores
• É mais seguro prever dentro de uma faixa compatível com o intervalo de valores observados na medição
– Valores muito além podem ser previstos?
• Exemplos
– Uma regressão do tempo de execução de módulos de código
ã h d ó d í l
que são menores que que o tamanho de memória disponível, pode não ser capaz de prever o tempo de módulos que fazem muito uso de memória virtual.
– A previsão do número de queries que chega numa máquina de A previsão do número de queries que chega numa máquina de busca baseada numa regressão em cima de valores de um log de vários dias pode não ser capaz de prever o que acontecerá meses a frente.
U d
it
iá i
i
Uso de muitas variáveis previsoras
O é i
d i iá i
i
ã
• O acréscimo de mais variáveis previsoras não
necessariamente melhora a qualidade do
modelo
modelo.
• Pode-se criar problemas como os
multi-colinearidade
colinearidade
• Quais variáveis devem então ser usadas?
Medindo pouco de um intervalo de valores ou
medindo intervalos não significativos
• Uma regressão somente prevê bem valores próximos do intervalo observado de mediçoes. ç
• Se não forem feitas medições dos intervalos mais comuns de operação do sistema, a regressão não irá prever muita coisa.
p
• Exemplos
– Se muitos programas são maiores que a memória real
disponível, então medir aqueles que são menores, pode ser disponível, então medir aqueles que são menores, pode ser um erro, pois fatores como overhead estariam sendo
ignorados quando fosse feita uma pevisão de programas maiores.
– Se o experimento mede os tempos de execução de queries de um conjunto de palavras pouco frequentes, então
prever os tempos de palavras muito frequentes, pode ser um erro pois há efeitos como caching que não estariam um erro, pois há efeitos como caching que não estariam
Assumir que um bom previsor é
um controlador
C l ã ã i ifi i l
• Correlação não significa necessariamente controle.
• Ao assumir que uma variável A é co-relacionada a uma variável B, pode-se não ser capaz de controlar os
valores de B fazendo a variação de A. Ou seja, estudo de mudanças no sistema pode não funcionar.
• Exemplo:p
– Suponha um modelo de regressão que seria usado para
prever hits em função da largura de banda. Se o número de hits numa página Web e a banda do servidor são
l i d d ã d
correlacionados, voce pode não ser capaz de prever o
aumento de hits simplesmente aumentando a largura de banda. Em outras palavras, largura de banda pode ser um previsor mas não um controlador do número de hits
previsor, mas não um controlador do número de hits.
– Em geral, uma regressão busca determinar as variáveis de controle.
Determinando distribuições para dados
ç
p
experimentais
• O problema:
– Voce coleta um imenso volume de dados (ex.: tráfego de redes, tamanhos de arquivos, tempos entre‐chegadas de requisições, etc) de dados e quer saber o que fazer com isso! Seu orientador pede uma solução, e aí? pede u a so ução, e a – Determinar um modelo de distribuição de probabilidade, mas qual?• Benefícios do uso de modelos:
P d i l d t ti t li d – Podem ser manipulados matematicamente e analisados – São meios concisos de comunicar e trabalhar os dadosS l ã
Solução
Solução
1. Escolha da função de distribuição
2. Estimativa dos parâmetros relevantes
3. Approach:
3. Approach:
1. Escolha as funções candidatas‐ depende da natureza
do fenômeno
2. Calcule os parâmetros para cada função
3. Selecione a que melhor ‘’fit’’ (veja referência abaixo)
3. Selecione a que melhor fit (veja referência abaixo)
• V. Paxson, Empirically-Derived Analytic Models of Wide-Area
TCP Connections, IEEE/ACM Transactions on Networking, Vol. 2 No. TCP Connections, IEEE/ACM Transactions on Networking, Vol. 2 No.
Escolha da função de distribuição
((
Visual checks)• CDF das duas distribuições
• CCDF (log-log) das duas funções
M d l til
til d d
f
õ
Escolha da função de distribuição
Escolha da função de distribuição
Quantiles
Q
• Quantiles are points taken at regular intervals from the cumulative • Quantiles are points taken at regular intervals from the cumulative distribution function (CDF) of a random variable. Dividing ordered data into q essentially equal‐sized data subsets is the motivation for il h il h d l ki h q‐quantiles; the quantiles are the data values marking the boundaries between consecutive subsets.
• the kth q‐quantile for a random variable is the value x such that the probability that the random variable will be less than x is at most k/q and the probability that the random variable will be more than x k/q and the probability that the random variable will be more than x is at most (q ‐ k)/q
• E.g.: the 4‐quantiles are called quartiles → Q The 5‐quantiles are called quintiles → QU