Documente Academic
Documente Profesional
Documente Cultură
net/publication/319532129
CITATIONS READS
0 145
3 authors:
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Aishameriane Venes Schmidt on 07 September 2017.
Capítulo
1
Fundamentos de Estatística
para Análise de Desempenho
Resumo
Este minicurso tem por objetivo prover a base de conhecimentos estatísticos ne-
cessária para que pesquisadoras e pesquisadores da área de computação de alto desem-
penho possam conduzir análises de desempenho adequadamente. O uso de uma meto-
dologia científica rigorosa e de uma metodologia estatística adequada caracterizam uma
pesquisa de alta qualidade, cujos resultados são relevantes e reprodutíveis.
Focando na etapa de análise de resultados, são discutidos métodos descritivos —
usados para obter características dos dados — e métodos inferenciais — usados para
extrapolar as características observadas em uma amostra para toda a população. O
texto provê a fundamentação teórica, que é complementada por exemplos, na linguagem
R, disponíveis abertamente em um repositório de suporte.
1 Aishameriane é Bacharel em Estatística pela Universidade Federal do Rio Grande do Sul — UFRGS
(2010). Atuou como estatista em áreas de inteligência de mercado, produtos financeiros para varejo, sis-
temas de recomendação e em pesquisa nas áreas de estatística aplicada à genética médica e estatística
matemática. Atualmente cursa o Bacharelado em Economia na Universidade do Estado de Santa Catarina
(UDESC) e o Mestrado em Economia com ênfase em Finanças e Mercado de Capitais na Universidade
Federal de Santa Catarina (UFSC).
2 Francieli é Doutora em Ciência da Computação pela UFRGS e pela Université Grenoble Alpes, na
França (2015), e Bacharel em Ciência da Computação pela UFRGS (2009). Atualmente realiza um pós-
doutorado na UFSC. Suas principais áreas de pesquisa são E/S paralela, sistemas de arquivos paralelos e
escalonamento de operações de E/S
3 Laércio é Doutor em Ciência da Computação pela UFRGS e pela Université Grenoble Alpes, na
França (2014), e Bacharel em Ciência da Computação pela UFRGS (2009). Atualmente é professor na
UFSC, atuando nas áreas de balanceamento de carga, tolerância a falhas em processadores gráficos e para-
lelização de aplicações.
4 Fundamentos de Estatística para Análise de Desempenho
1.1. Introdução
Métodos estatísticos para a avaliação e mensuração de fenômenos são utilizados nas mais
diversas áreas, como na medicina, com protocolos específicos para desenvolvimento de
novas drogas e impacto de tratamentos, e ciências econômicas, através de métodos econo-
métricos. Entretanto, uma análise da literatura em computação de alto desempenho revela
que métodos estatísticos são pouco aplicados nessa área. Para medir o desempenho dos
seus sistemas (ou outra métrica, como o consumo energético), pesquisadores e pesquisa-
doras frequentemente apresentam apenas a média aritmética de um número de repetições,
algumas vezes acompanhada do desvio padrão. Outras “heurísticas” que são encontra-
das em diversos trabalhos da área incluem descartar a maior e a menor mensurações ou
selecionar apenas os N melhores resultados [Lilja 2012, Georges et al. 2007].
Tempo médio (segundos)
Tempo (segundos)
56.78
38.80 40
20
0
Algoritmo Original Novo Algoritmo
Repetições
A Figura 1.1 traz um exemplo de como essa metodologia simplista pode levar
a conclusões enganosas. O tempo de execução de dois algoritmos é avaliado a fim de
mensurar ganhos trazidos pelo novo algoritmo. Na Figura 1.1a, as médias aritméticas de
diversas repetições são comparadas. Desse gráfico, seria possível alegar equivocadamente
que o novo algoritmo é 31% mais rápido do que o original. No entanto, se estudarmos
os tempos de todas as repetições (Figura 1.1b), podemos ver que o tempo médio do novo
algoritmo foi resultado de quatro repetições com tempo muito abaixo das demais. Além
disso, a maior parte das repetições apresentou resultado similar ao algoritmo original.
A validade científica das conclusões de uma pesquisa depende de uma metodolo-
gia rigorosa de experimentação e análise de resultados. É particularmente importante que
os resultados possam ser reproduzidos e, portanto, representem o comportamento espe-
rado dos sistemas avaliados. Para tal, devemos aproveitar de métodos estatísticos — uma
área do conhecimento extensivamente estudada — ao invés de inventar metodologias.
Neste curso abordaremos uma categoria específica de métodos estatísticos chama-
dos de testes de hipóteses (sempre sob o enfoque frequentista), com o objetivo de prover
a base necessária para a pesquisa em alto desempenho com uma análise adequada de
resultados. Devido a limitações da dimensão do minicurso, trataremos de conceitos bási-
cos em linhas gerais, provendo juntamente referências para conteúdos avançados. Além
disso, exemplos de códigos na linguagem de programação R e conjuntos de dados estão
Minicursos 5
4 https://github.com/llpilla/estatistica2017erad
5 Neste texto, “parâmetro” sempre será empregado para se referir a uma característica da população.
6É usual utilizar letras gregas para denotar os parâmetros (que são desconhecidos). Os estimadores são
denotados por um acento circunflexo (chamado de “chapéu”) ou então, como no caso da média amostral (X)
e variância amostral (S2 ), por letras latinas.
6 Fundamentos de Estatística para Análise de Desempenho
Uma vez que é possível coletar diversas amostras de uma mesma população, a
palavra estimador serve para designar uma equação cujas entradas serão os valores amos-
trais e a estimativa é quando calculamos o estimador para uma amostra específica.
Exemplo 1.1. Suponha que você tem uma população de N A.O.Q. e coleta dados do
tempo de execução (em uma dada plataforma e com uma dada carga de trabalho) de 3
deles (N > 3) — por exemplo, Bubble Sort, Insertion Sort e Quick Sort — e obtém os
valores (55, 65, 54). Um estimador para o tempo de execução populacional (µ) dos N
3
1
algoritmos é a média amostral dos tempos, dada por X̄ = 3 ∑ Xi . Utilizando os tempos
i=1
da amostra7 , chegamos ao valor de x̄ = 58 como nossa estimativa pontual para µ.
que implica que as observações são independentes entre si. Isso significa que não é cor-
reta a abordagem de executar um programa N vezes, na sequência, para observar o seu
desempenho. Sistemas computacionais possuem diversos componentes que procuram se
adaptar à carga de trabalho, de forma que cada execução afeta o desempenho da próxima e
portanto elas não são independentes. Uma abordagem útil nesse caso é executar todos os
testes — com diferentes aplicações, diferentes configurações, etc. — em ordem aleatória.
Outra boa prática é a coleta do máximo possível de informações relevantes do
ambiente experimental: que usuários estão ativos, que processos estão executando, versão
dos pacotes de software utilizados, variáveis de ambiente, etc. Essa informação pode ser
valiosa depois, quando for necessário investigar a causa de um resultado inesperado.
Medianas são úteis quando lidamos com dados que apresentam “caudas” (valores
extremos com baixas ocorrências), pois essa medida não sofre influência dos dados dis-
crepantes. Complementarmente, podemos analisar os outros quartis da variável, que são
os valores que dividem o conjunto de dados (ordenados) em 4 partes de mesmo tamanho.
Para um conjunto de n observações de uma variável, o primeiro quartil separa os 25% me-
nores valores, o segundo (que é a mediana) separa os próximos 25% e o terceiro quartil
9 Focamos em métodos para dados quantitativos, pois é o caso mais comum em análise de desempenho.
Uma referência para análise de dados categóricos, para variáveis nominais ou ordinais, é [Agresti 2007].
10 Neste texto, “média” se refere sempre à média aritmética.
12.5
10.0
y=3+0.5x y=3+0.5x y=3+0.5x y=3+0.5x
Y
7.5
Média(X) = 9.00 Média(X) = 9.00 Média(X) = 9.00 Média(X) = 9.00
D.P.(X) = 3.31 D.P.(X) = 3.31 D.P.(X) = 3.31 D.P.(X) = 3.31
5.0 Média(Y) = 7.50 Média(Y) = 7.50 Média(Y) = 7.50 Média(Y) = 7.50
D.P.(Y) = 2.03 D.P.(Y) = 2.03 D.P.(Y) = 2.03 D.P.(Y) = 2.03
cor(X,Y) = 0.82 cor(X,Y) = 0.82 cor(X,Y) = 0.82 cor(X,Y) = 0.82
6 9 12 15 18 6 9 12 15 18 6 9 12 15 18 6 9 12 15 18
X
separa os 75% valores mais baixos dos 25% mais altos. Uma variação é o uso dos decis,
que dividem os dados em 10 partes, ou dos percentis, que dividem em 100 partes.
As medidas de variabilidade medem o “espalhamento” dos dados: o quão con-
centrados ou dispersos ao longo de um ponto (usualmente a média) estão. Geralmente
é desejável que os dados tenham pequena variabilidade, pois isso significa uma menor
incerteza sobre os valores possíveis de serem obtidos. Uma das medidas de variabilidade
mais conhecidas é a variância, que calcula o quadrado das distâncias entre cada ponto e a
média e divide pelo total de dados disponíveis, isto é, a variância é a média dos quadrados
dos desvios em relação à média. O problema em utilizar a variância é que ela não tem a
mesma dimensão que a média. Se a variável coletada é tempo em segundos, a variância
estará em segundos ao quadrado, o que dificulta uma comparação direta. Sendo assim,
em geral, utilizamos o desvio padrão, que é a raiz quadrada (positiva) da variância.
Ao contrário das medidas de tendência central, a variância e o desvio padrão têm
cálculo diferente para amostra e população. Essa diferença — no numerador — serve
para que os estimadores das medidas populacionais sejam não viesados11 . Na prática, à
medida que o tamanho da amostra aumenta, isso faz pouca diferença no cálculo.
Uma maneira usual de comparar variáveis que tenham médias muito diferentes ou
até mesmo unidades de medida distintas é através do coeficiente de variação (C.V). Ele
é dado pela razão entre o desvio padrão e a média e funciona como uma medida auxiliar
para avaliar a variabilidade de uma variável quando comparada com outras.
Além das medidas acima citadas, é importante fazer uma inspeção visual nos da-
dos, utilizando gráficos. Essa inspeção busca compreender a natureza dos dados quanto a
assimetria, presença de dados discrepantes ou até anomalias (como tempos negativos).
Para variáveis contínuas, os gráficos mais utilizados são o histograma e o boxplot.
Ambos possibilitam visualizar como os dados se distribuem ao longo dos seus valores,
com a diferença de que, enquanto o boxplot permite localizar os quartis e outliers, o
histograma permite verificar a concentração de dados em determinadas faixas de valores.
Exemplo 1.4. Considere o cenário do Exemplo 1.2 porém agora com 100 repetições
de cada algoritmo. Os dados obtidos ainda apresentam médias de tempo de execução
t A = t B = 30. Ao compararmos os dois boxplots (Figura 1.3a), percebemos que o al-
goritmo B apresenta valores mais dispersos (pois a “caixa” é maior) e também mais
valores discrepantes (pontos acima da linha do gráfico). Já o algoritmo A apresentou
uma quantidade menor de valores discrepantes e também menor variabilidade. Observe
que a linha preta, que indica a mediana, está em um valor inferior do eixo y para as
11 Um estimador θ̂ de um parâmetro θ é dito não viesado quando sua esperança é igual ao valor do
estimador, isto é, E[θ̂ ] = θ .
10 Fundamentos de Estatística para Análise de Desempenho
Número de ocorrências
200
150 20
A
100
10 B
50
0 0
A B 0 50 100 150 200
Algoritmo Tempo de execução (u.t.)
repetições do algoritmo B, mas mesmo assim, neste exemplo, seu desempenho pode ser
considerado pior. Os histogramas (Figura 1.3b) reforçam que de fato as repetições do B
apresentam uma cauda à direita (causada em parte pelos outliers identificados no box-
plot) e maior amplitude do gráfico, se comparado com a distribuição das repetições do
algoritmo A. É importante reforçar que embora neste exemplo os dois gráficos estejam
quase redundantes, eles não são substitutos perfeitos um do outro na análise de variáveis.
13 http://www.tylervigen.com/spurious-correlations
14 Para uma revisão sobre a distribuição normal, recomendamos a Seção 3.3 de [Casella and Berger 2002].
12 Fundamentos de Estatística para Análise de Desempenho
ração entre duas quantidades se relacionam com perguntas do tipo “o algoritmo A tem
menor tempo de execução que o algoritmo B?” ou “a taxa de falhas de cache exibida nos
procedimentos do tipo M é maior do que nos procedimentos do tipo N?”. Em um primeiro
momento pode parecer tentador calcular tempo de execução médio de cada algoritmo e
fazer uma comparação direta. A base do pensamento inferencial é a de que a menos que se
tenha acesso a todos os dados, a comparação direta é incorreta, pois fatores como a varia-
bilidade e tamanho da amostra afetarão os resultados. Uma vez que é impossível realizar
um censo para um caso desses, pois podemos executar um algoritmo infinitas vezes, pode-
mos usar os testes de hipóteses para responder nossas perguntas. Todo conteúdo discutido
pode ser encontrado de maneira formal no Capítulo 8 de [Casella and Berger 2002].
As hipóteses do teste são a respeito dos parâmetros populacionais, que são desco-
nhecidos15 . É necessário estabelecer uma hipótese nula, denotada por H0 , e uma hipótese
alternativa, H1 . Em geral elas devem ser complementares16 , então ao determinar uma
das hipóteses a outra também estará estabelecida. A hipótese nula, na maioria dos casos,
coincide com o que não temos interesse, ou seja, é a hipótese que queremos refutar. Isso
ocorre porque o teste é construído de forma a tentar rejeitar a hipótese nula.
Exemplo 1.5. Imagine que você quer garantir que o seu programa apresente, em média,
menos de 5 faltas de página por execução. Podemos então definir as hipóteses do teste
como H0 : µ ≥ 5 e H1 : µ < 5, onde µ é o verdadeiro número médio de faltas de página
por execução do programa.
Um teste de hipóteses é uma regra que estabelece sob quais condições (valores
amostrais) toma-se a decisão de não rejeitar17 H0 e as condições para as quais rejeita-
se H0 . Onde um teste estatístico é executado, podem ser cometidos erros de decisão:
• Erro tipo I: quando rejeitamos a hipótese nula mesmo ela sendo verdadeira, e
• Erro tipo II: quando não rejeitamos a hipótese nula e ela é falsa.
Os erros tipo I e II ocorrem pois não conhecemos os verdadeiros valores dos pa-
râmetros populacionais e tomamos a decisão com base em uma amostra. A probabilidade
de cometer um erro tipo I é denotada por α e é a significância do teste (a confiança do
teste é 1 − α). Uma vez que estabelecemos esse valor a priori, fica claro que queremos
minimizar a probabilidade de rejeitar a hipótese nula com ela sendo verdadeira (e por isso
a hipótese nula é aquilo em que não estamos interessados). A probabilidade de cometer
um erro do tipo II é denotada por β . A Tabela 1.1 traz um resumo.
15 Éimportante notar que as hipóteses do teste não necessariamente são iguais às hipóteses de pesquisa.
As hipóteses de pesquisa dão subsídios para formulação das hipóteses do teste, porém as exigências para
que uma hipótese possa ser utilizada nos testes são mais específicas.
16 Por simplicidade, no texto usamos apenas hipóteses mutuamente exclusivas.
17 Discute-se a melhor terminologia a ser usada, pois aceitar H significa que aceitamos como verdadeiras
0
as condições dessa hipótese, enquanto que não rejeitar H0 significa “não aceitar totalmente, mas não ter
elementos que comprovem que não é verdadeira”. Uma discussão similar pode ser feita entre “rejeitar H0 ”
e “aceitar H1 ” ([Casella and Berger 2002]). Neste curso, não faremos distinção entre as afirmações.
Minicursos 13
Exemplo 1.6. Uma amostra aleatória (a.a.) de uma distribuição normal possui média
desconhecida µ e variância populacional conhecida. Elaboramos um teste tal que H0 :
µ = 0 e H1 : µ 6= 0, isto é, testamos a hipótese de que µ seja igual zero. Para um nível de
significância α = 0, 05, buscamos na tabela da distribuição normal qual o valor crítico do
teste, que é o valor que separa os 2, 5% menores e maiores valores na distribuição. Neste
caso, temos que zcrit = |1, 96|, o que significa que se a estatística de teste estiver entre
−1, 96 e 1, 96, nós aceitamos a hipótese nula. Alternativamente, poderíamos calcular
a estatística de teste e então o p-valor, que é a probabilidade, sob a hipótese nula, de
encontrar o valor calculado ou mais extremo. Se o p-valor for menor do que o nível de
significância, nós rejeitamos a hipótese nula.
De maneira intuitiva, o que o teste de hipóteses faz é, com base nos dados de
uma amostra, verificar o quão “crível” é que eles sejam provenientes de uma amostra
que tem a distribuição estipulada na hipótese nula. Quando lidamos com mais amostras,
desejamos verificar se as diferenças observadas entre, por exemplo, as médias podem ser
consideradas frutos do acaso ou se são de fato significativamente diferentes.
A Figura 1.4 ilustra o funcionamento do teste de hipóteses. A curva vermelha
(mais à esquerda) mostra a distribuição sob a hipótese nula (H0 aqui é µ0 = 0). Em azul
(à direita) temos a distribuição sob H1 . Note que este exemplo é apenas ilustrativo, pois
não conhecemos realmente a curva azul, dado que o testamos apenas para igualdade e
desigualdade. Apenas sabemos que a hipótese alternativa inclui todas as curvas onde
a média é diferente de zero. Cometeremos um erro tipo I se H0 for verdadeira mas o
valor da estatística de teste para a amostra estiver em uma das pontas da curva vermelha.
Nesses casos, o valor é tão extremo, que ao assumirmos a distribuição vermelha, ele
é pouco provável de ser encontrado ao acaso, e portanto rejeitamos H0 , mesmo sendo
verdadeira. De maneira análoga, é possível que a verdadeira distribuição seja a linha azul,
mas como ela intercepta a vermelha, existem valores de estatística para os quais H1 é
verdadeira, mas falhamos em rejeitar H0 , cometendo um erro tipo II. O raciocínio é: se
18 A tabela contém os valores de z com os respectivos P(Z ≥ z) — “a probabilidade de que a variável
aleatória Z assuma valores iguais ou maiores que z”). “Distribuição tabelada” remete ao tempo em que não
havia computadores para calcular os valores das áreas sob as curvas das funções densidade (que dão as pro-
babilidades), portanto foram criadas tabelas com os valores das probabilidades de acordo com a distribuição
e seus parâmetros. Hoje qualquer pacote estatístico tem funções para obter essas probabilidades.
14 Fundamentos de Estatística para Análise de Desempenho
a linha vermelha representa a realidade, nossos valores devem estar na área branca no
centro da distribuição, que são mais prováveis de ocorrer. Se eles estiverem nas caudas
(extremos), então são valores pouco prováveis e por isso rejeitamos H0 .
O roteiro básico de um teste de hipóteses é:
2. Verifique para quais testes os seus dados são adequados. Sempre que possível,
opte pelos testes paramétricos pois, sob as suas condições de regularidade, eles têm
maior poder do que os testes não paramétricos correspondentes;
5. Interprete os resultados.
Como apontado pelo item 2 acima, existem métodos paramétricos e não paramé-
tricos. Os métodos paramétricos se baseiam em distribuições conhecidas dos parâmetros.
Eles são usados quando, mesmo não conhecendo o valor verdadeiro do parâmetro, assu-
mimos que ele vem de uma distribuição conhecida (por exemplo, normal). Essa suposição
deve ser embasada por uma verificação, como um teste de aderência.
Os testes paramétricos pressupõem que os dados seguem determinadas condições.
Quando bem especificados, os testes paramétricos costumam ser mais poderosos que os
não paramétricos, pois as regiões onde são cometidos os erros tipo I e tipo II são menores.
Para garantir um teste correto, suas suposições devem ser atendidas. Quando há violação
dos pressupostos do teste, não há garantias a respeito de suas características, incluindo
a distribuição dos valores calculados. Por exemplo, é possível que a estatística de teste
tenha distribuição t de Student, mas está sendo verificada em uma tabela normal. Dado
Minicursos 15
que para amostras pequenas as duas distribuições apresentam diferenças nas caudas (a
distribuição t apresenta caudas pesadas, precisando de valores mais extremos para rejeitar
H0 ), estaríamos aumentando a probabilidade de cometer um erro tipo I.
Os testes não paramétricos buscam possibilitar inferências relaxando as suposi-
ções a respeito das distribuições populacionais. Por não assumirem uma distribuição dos
dados, são baseados em medidas de ordenamento (como a mediana) ou em postos. Posto
é a posição que um elemento assume quando ordenamos a amostra.
É necessário um método para verificar se os dados seguem uma distribuição nor-
mal, descrito na Seção 1.3.1, para definir o tipo de teste a ser empregado. Métodos para-
métricos são discutidos nas Seções 1.3.2 e 1.3.3 para análise de médias e na Seção 1.3.4
para proporções. A Seção 1.3.5 discute um método não paramétrico para comparação de
duas médias, e métodos para comparação de três ou mais médias são discutidos breve-
mente na Seção 1.3.6. A Seção 1.3.7 toca no assunto de intervalos de confiança.
Exemplo 1.7. Um algoritmo foi executado n = 100 vezes e temos o tempo de cada exe-
cução. Desejamos testar, com significância α = 5%, as hipóteses H0 : os tempos do
algoritmo seguem uma distribuição normal contra H1 : não seguem. Para os dados ob-
tidos, calculamos a estatística do teste K-S, D = 0, 50073, com p-valor19 < 0, 001. Isso
significa que, se os dados fossem provenientes de uma distribuição normal (que é o es-
tabelecido por H0 ), a probabilidade de encontrar o valor D (ou mais extremo20 ) seria
menor do que 0, 1%. Como essa probabilidade é menor do que o α, rejeitamos a hipótese
nula de que os dados são provenientes de uma população com distribuição normal. A
Figura 1.5a mostra o histograma desses dados, que deixa clara a não aderência.
O Exemplo 1.7, apesar de utilizar dados simulados, mostra que nem sempre um
grande tamanho de amostra é suficiente para garantir normalidade. Essa crença comum (e
errada) vem da aplicação incorreta do teorema limite central21 (TLC). Para o uso correto
do teorema, não basta que o número de repetições — o tamanho amostral n — seja grande,
mas também precisamos que sejam calculadas as médias de várias amostras.
19 No R, o p-valor exibido é de 2.2e−16 , que é o menor valor na implementação da linguagem.
20 A expressão “mais extremo” pode indicar um valor somente à direita ou somente à esquerda de D para
os testes unilaterais ou ainda valores que são maiores que o módulo de D, para testes bilaterais.
21 O teorema do limite central estabelece que se X , . . . , X são variáveis aleatórias independentes e identi-
1 n
camente distribuídas e atendem certas condições de regularidade, então a distribuição assintótica (no limite,
quando n → ∞) da média amostral é Normal(µ, σ 2 /n), onde µ é a média populacional de Xi ∀i e σ 2 sua
variância. O teorema fala do que acontece com a distribuição da média amostral de uma amostra aleatória
de qualquer distribuição, porém não significa que os Xi têm distribuição normal assintótica.
16 Fundamentos de Estatística para Análise de Desempenho
Número de ocorrências
Número de ocorrências
15
75
10 50
5 25
0 0
0.0 0.5 1.0 1.5 0.25 0.30 0.35 0.40 0.45
Tempo de execução (u.t.) Tempo de execução (u.t.)
(a) Histograma dos tempos de execução (b) Histograma das médias dos tempos
Figura 1.5: Ilustração do Teorema do Limite Central com dados dos Exemplos 1.7 e 1.8
Exemplo 1.8. Vamos tentar “arrumar” os dados do Exemplo 1.7 de forma a utilizar o
TLC para obter uma distribuição aproximadamente normal. Agora repetimos por 1000
vezes o seguinte experimento: são feitas n = 100 execuções do algoritmo e calcula-se
a sua média. Então temos uma amostra de 1000 médias de amostras de tamanho 100.
Obtemos assim um histograma, mostrado na Figura 1.5b, mais próximo de uma normal.
O resultado do teste K-S agora é D ≈ 0, 02 (p-valor= 0, 8208). Como o p-valor é maior
do α, não rejeitamos a hipótese de normalidade dos dados. Isso acontece pois, conforme
n aumenta, o desvio padrão da média amostral diminui, se aproximando, no limite, do
desvio padrão populacional. A curva fica cada vez mais simétrica em torno de sua média.
Exemplo 1.9. Suponha que você está testando a eficiência (ψ) de um novo algoritmo e
deseja verificar, para um nível de significância de 5%, se ela é de pelo menos 80%. Após
coletar dados de 100 repetições e verificar que a suposição de normalidade foi atendida,
você estabelece as hipóteses do teste como H0 : ψ ≤ 80% e H1 : ψ > 80%.
Os dados apresentam média amostral (ψ) aproximadamente 80, 78. A estatística
de teste calculada foi t ≈ 0, 74 e o p − valor igual a 0, 2296. Isso significa que a probabi-
lidade de encontrarmos uma estatística de teste como a calculada em uma distribuição de
média menor ou igual a 80% é de aproximadamente 23%. Então, não é possível rejeitar
a hipótese nula de que a eficiência é menor ou igual a 80%.
Exemplo 1.10. Espera-se que um servidor receba r = 90 requisições por minuto, com
um desvio padrão de 10. É de interesse verificar essa expectativa para dimensionar
a infraestrutura, evitando desperdício de recursos enquanto mantendo um bom tempo
de resposta. Você coleta dados de 200 minutos e, após verificar que a suposição de
normalidade foi atendida, deseja testar, para α = 5%, as hipóteses H0 : r = 90 contra
H1 : r 6= 90. A média amostral de requisições é r ≈ 90, 32 e a estatística de teste calculada
foi de t ≈ 0, 42. O p-valor associado é de 0, 6759. Então, com base na amostra, não
rejeitamos a hipótese nula de que o número médio de requisições é 90.
Exemplo 1.11. Suponha que você quer comparar a eficiência do algoritmo do Exem-
plo 1.9 — representada por θ — com a de um novo algoritmo, ψ. Após coletar amos-
tras de tamanho 200 de cada algoritmo, foram obtidas médias amostrais θ ≈ 94, 89 e
18 Fundamentos de Estatística para Análise de Desempenho
ψ ≈ 80, 42 e variâncias amostrais Sθ2 ≈ 97, 62 e Sψ 2 ≈ 89, 83. Você executou o teste de
normalidade K-S para ambas amostras e aceitou as hipóteses de normalidades dos dados.
Antes de fazer o teste de comparação das médias, você executa um teste F para verificar
a igualdade das variâncias e obtém estatística de teste F ≈ 0, 6964 (p − valor = 0, 5582).
Então, com base na amostra, você não rejeita a H0 de que as variâncias são iguais.
É possível mostrar que, sob a hipótese nula, tteste segue uma distribuição t de Student com
n1 + n2 − 2 graus de liberdade. Comparamos o valor de tteste com −tcrit e com tcrit , que
apresentam α2 % de área à sua esquerda e direita, respectivamente. Este teste é conhecido
como teste t para duas amostras.
Exemplo 1.12. Continuando a análise do Exemplo 1.11, como você não rejeitou a hipó-
tese de que as variâncias são iguais, aplicou o teste t bilateral para comparação de duas
amostras supondo variâncias iguais e obteve t = −14, 943 (p − valor < 0, 001). Portanto,
você rejeita a hipótese nula de que os tempos médios dos algoritmos são iguais.
Em uma situação semelhante a do teste da Seção 1.3.3.1, mas com σ12 6= σ22 , a estatís-
tica de teste será dada pela Equação 4, onde S1 e S2 são os desvios padrões amostrais.
Pode-se mostrar que tteste , sob a hipótese nula, segue aproximadamente uma distribuição
t de Student com v graus de liberdade dado pela Equação 5. Fora essas diferenças, o
procedimento para o teste é análogo ao anterior.
X1 − X2
tteste = q 2 (4)
S1 S22
n1 + n2
2
S12 /n1 + S22 /n2
v= 2 (5)
(S1 /n1 )2 /(n1 − 1) + (S22 /n2 )2 /(n2 − 1)
Minicursos 19
Para grandes amostras e se a hipótese nula for verdadeira, zteste segue uma distri-
buição aproximadamente Normal(0, 1) e podemos calcular o p-valor associado.
Note que estamos utilizando o resultado enunciado pelo TLC para falar da distri-
buição de zteste sob H0 . Esse fato é bem estabelecido em uma situação teórica, porém não
há consenso sobre o quão grande a amostra precisa ser para a obtenção de convergência.
Exemplo 1.13. Pacotes são enviados entre duas pontas através de um canal de comuni-
cação, onde há uma probabilidade p dos dados serem corrompidos. Nesse caso, o pacote
falha uma verificação ao chegar no destino e é descartado. Suponha que você está inte-
ressado em verificar que a proporção de pacotes descartados seja no máximo 5%.
Você conduz 500 experimentos com 1000 repetições cada um, anotando, a cada
experimento, a proporção de pacotes descartados p̂. O objetivo é testar H0 : p̂ ≤ 5%
versus H1 : p̂ > 5%. O valor da estimativa para a proporção obtido foi de 0, 06 e o valor
da estatística zteste foi de ≈ 1, 47. Como este é um teste unilateral, compara-se zteste com
o valor crítico zcrit = 1, 64 e, portanto, não se rejeita a hipótese nula de que a proporção
de pacotes descartados é menor ou igual que 5% (p-valor ≈ 0, 07).
100
80
60
A B C
Algoritmo
É importante observar que essa metodologia não serve para situações com mais de
uma variável de controle — por exemplo, comparar tempos de execução simultaneamente
por algoritmos, tamanhos de entrada e máquinas.
Quando as suposições da ANOVA não são atendidas ou temos heterogeneidade de
variâncias, uma alternativa não paramétrica é o teste de Kruskal-Wallis, que é um teste de
comparação de medianas. Assim como a ANOVA, quando a hipótese nula é rejeitada, o
Kruskal-Wallis precisa do complemento de um teste de comparações múltiplas. Um dos
mais utilizados nesse caso é o teste de Dunn, que pode ser usado mesmo quando as amos-
tras não têm o mesmo tamanho. Mais sobre esses testes em [Siegel and Castellan 2006].
Se o intervalo de confiança contém o valor 0, concluímos que a diferença das médias não
é estatisticamente diferente de zero, para um nível de confiança de 95%.
Exemplo 1.17. Considere a situação do Exemplo 1.12. O intervalo de 95% de confiança
para a diferença das médias é (−16, 37; −12, 56), então concluímos que a diferença entre
as médias é significativamente diferente de zero, para um nível de confiança de 95%.
1.4. Conclusão
Neste curso buscamos fazer uma introdução aos métodos de análise de resultados de ex-
perimentos, a fim de fornecer noções básicas para pesquisadores e pesquisadoras da área
de computação de alto desempenho. Foram discutidos métodos descritivos, usados para
estudar características das amostras, e métodos inferenciais, usados para extrapolar essas
características para as populações. Focou-se nos testes de hipótese, discutindo versões
para uma, duas ou mais amostras, com ou sem pressuposto de normalidade dos dados.
A Figura 1.7 apresenta um fluxograma com os métodos apresentados e as situ-
ações onde são adequados. Nela assume-se que diferentes amostras são independentes,
comparações são feitas com a mesma variável e todas variáveis são contínuas.
Espera-se que o público, agora munido de noções básicas de análise estatística,
seja capaz de identificar os passos a serem seguidos para analisar seus resultados. A bibli-
ografia apresentada pode auxiliar as pessoas que desejarem aumentar o seu conhecimento
na área, e suprir informações sobre os métodos que não puderam ser tratados no escopo
desse minicurso. Além disso, o repositório do curso contém exemplos, na linguagem R,
de como realizar os testes discutidos, além de algumas técnicas não discutidas aqui.
Referências
[Agresti 2007] Agresti, A. (2007). An introduction to categorical data analysis. Wiley-
Interscience, 2 edition.
[Casella and Berger 2002] Casella, G. and Berger, R. L. (2002). Statistical infence. Dux-
bury, 2 edition.
[Chen et al. 2015] Chen, T., Guo, Q., Temam, O., Wu, Y., Bao, Y., Xu, Z., and Chen,
Y. (2015). Statistical performance comparisons of computers. IEEE Transactions on
Computers, 64(5):1442–1455.
[Curtsinger and Berger 2013] Curtsinger, C. and Berger, E. D. (2013). Stabilizer: Statis-
tically sound performance evaluation. In Proceedings of the Eighteenth International
Conference on Architectural Support for Programming Languages and Operating Sys-
tems, ASPLOS ’13, pages 219–228. ACM.
[de Oliveira et al. 2013] de Oliveira, A. B., Fischmeister, S., Diwan, A., Hauswirth, M.,
and Sweeney, P. F. (2013). Why you should care about quantile regression. In Pro-
ceedings of the Eighteenth International Conference on Architectural Support for Pro-
gramming Languages and Operating Systems, ASPLOS ’13, pages 207–218. ACM.
[Draper and Smith 1998] Draper, N. R. and Smith, H. (1998). Applied regression analy-
sis. Willey Series in Probability and Statistics. Wiley, 3 edition.
[Georges et al. 2007] Georges, A., Buytaert, D., and Eeckhout, L. (2007). Statistically
rigorous java performance evaluation. In Proceedings of the 22Nd Annual ACM
SIGPLAN Conference on Object-oriented Programming Systems and Applications,
OOPSLA ’07, pages 57–76. ACM.
[Kalibera and Jones 2012] Kalibera, T. and Jones, R. (2012). Technical report: Quan-
tifying performance changes with effect size confidence intervals. Technical report,
School of Computing, University of Kent.
[Mood et al. 1974] Mood, A. M., Graybill, F. A., and Boes, D. C. (1974). Introduction
to the theory of statistics. McGraw-Hill International, 3 edition.
[Mytkowicz et al. 2009] Mytkowicz, T., Diwan, A., Hauswirth, M., and Sweeney, P. F.
(2009). Producing wrong data without doing anything obviously wrong! In Procee-
dings of the 14th International Conference on Architectural Support for Programming
Languages and Operating Systems, ASPLOS XIV, pages 265–276. ACM.
[Siegel and Castellan 2006] Siegel, S. and Castellan, N. J. (2006). Estatística não-
paramétrica para ciências do comportamento. Artmed, 2 edition.
[Touati et al. 2013] Touati, S.-A.-A., Worms, J., and Briais, S. (2013). The speedup-test:
a statistical methodology for programme speedup analysis and computation. Concur-
rency and Computation: Practice and Experience, 25(10):1410–1426.