O documento apresenta uma palestra sobre estudos experimentais com algoritmos de otimização em engenharia de software. O palestrante discute seu trabalho na UNIRIO e áreas de pesquisa de seu grupo, como design, testes, requisitos e código. Ele também explica conceitos de algoritmos heurísticos, aleatoriedade em computação e o processo de realização de experimentos, incluindo planejamento, execução, apresentação e análise estatística dos resultados.
Estudos experimentais com algoritmos de otimização
1. PPGI - UNIRIO
Estudos Experimentais com Algoritmos
de Otimização em Engenharia de
Software
Márcio Barros
PPGI / UNIRIO
2. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Quem sou eu?
• Professor e pesquisador da UNIRIO, Rio de Janeiro, Brasil
• Trabalhando com Engenharia de Software nos últimos 15 anos, mas com um
"passado sujo" queimando EPROM e trabalhando com sistemas operacionais
• UNIRIO é a "Universidade Federal do Estado
do Rio de Janeiro"
• Situação um pouco confusa, dado que temos
a "Universidade Federal do Rio de Janeiro" e
a "Universidade Estadual do Rio de Janeiro"
3. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Temas de interesse do meu grupo de pesquisa
DESIGN
França, 2009
Pinto, 2014
Monçores, 2015
Barros, 2012/13/14
Barros e Farzat, 2013/15
TESTES
Farzat, 2012
SURVEYS
Barros e Dias-Neto, 2011
UNIRIO + UECE + UFPR + UFAM, 2014
GERÊNCIA
Barreto, 2007 Netto, 2009 Figueiredo, 2012 Costa, 2012
Magdaleno, 2013 Araújo, 2015 Fernandes, 2016 (MSc!) Silva, 2016 (MSc!)
REQUISITOS
Padilha, 2014
Fuchshuber, 2015
Pitangueira, 2016 (DSc!)
CÓDIGO
Farzat, 2017 (DSc!)
4. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
SBSE: muitas alternativas, pouco tempo.
Algoritmos heurísticos são úteis quando não é viável avaliar todas as
possíveis soluções para um problema.
5. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
SBSE: muitas alternativas, pouco tempo.
• Quando o número de possíveis soluções é muito grande e não podemos
examinar todas as alternativas, usamos algoritmos heurísticos
• Cada algoritmo adota uma sistemática diferente para examinar um mínimo
de alternativas em busca da melhor solução ... e aqui entram as analogias
» Subidas de encosta, reprodução e evolução das espécies, formigas, abelhas,
pássaros-cuco, cardumes, nuvens, partículas, ...
• Para atender a uma grande diversidade de problemas, os algoritmos se
baseiam em componentes aleatórios
6. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
SBSE: muitas alternativas, pouco tempo.
IN RANDOM WE TRUST
Como pesquisadores da área, acreditamos que os números aleatórios vão nos
levar às boas soluções que procuramos ...
7. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
SBSE: muitas alternativas, pouco tempo.
INCERTUM
... ou em termos locais.
8. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Mas espera aí ...
Nós somos cientistas ... aquela
turma que queimava na fogueira
porque não acreditava em nada.
Como podemos acreditar em
números aleatórios?
9. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Mas espera aí ...
• Afinal, já provaram que os números aleatórios de fato não existem nos
computadores ...
• ... e isto coloca os números aleatórios um degrau abaixo dos Leprechauns
em termos de comprovação científica.
“One thing that traditional computer systems aren’t
good at is coin flipping.”
Steve Ward, MIT
10. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Mas espera aí ...
11. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Mas espera aí ...
• Nosso ceticismo gera uma nova crença: a fé nas observações!
• Como os algoritmos heurísticos têm componentes aleatórios, cada
rodada independente pode produzir resultados diferentes
• Nós confiamos no poder de múltiplas observações para descrever e
comparar o comportamento geral dos algoritmos
• O processo experimental é um ritual pelo qual coletamos e analisamos
as observações
13. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Processo experimental
Salve nossa fé nas observações, nos experimentos e na análise estatística.
Planejamento
Execução
Apresentação
Análise
14. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Planejamento de estudos experimentais
No planejamento, preparamos a coleta de dados ...
Seleção dos participantes
Formulação das questões de pesquisa
Identificação dos fatores e respostas
Seleção das instâncias
Análise das ameaças de validade
Planejamento
Execução
Apresentação
Análise
15. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Formulação das questões de pesquisa
Que algoritmo acha as melhores
soluções para um problema?
Que algoritmo encontra soluções mais
rápido para um problema?
Como um algoritmo mono-objetivo se
compara a um multi-objetivo?
Como um algoritmo heurístico se
compara a um método tradicional?
Como a formulação do problema se
compara com uma variante?
Como os resultados se relacionam com
as características das instâncias?
O que podemos aprender com um
algoritmo heurístico?
Search-based Software Engineering Search-based Software Engineering
16. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Seleção dos fatores e respostas
As questões de pesquisa orientam a escolha dos fatores e das respostas
Fatores: são as variáveis
controladas pelo estudo
experimental e representam
as variações aplicadas no
estudo para avaliação dos
efeitos nos resultados.
Respostas: são os resultados
colhidos durante a execução
do experimento e que
representam os efeitos das
combinações dos fatores.
17. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Seleção dos fatores e respostas
Observação
Causa Efeito
Fatores Respostas
Teoria
Execução do
experimento
• O projeto do estudo experimental relaciona fatores e respostas
» Cada valor que um fator pode assumir é chamado de tratamento
» Relacionamos os tratamentos com as respostas para explicar uma teoria e
responder a uma questão de pesquisa
18. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Seleção dos fatores e respostas
Observação
Causa Efeito
Teoria
Comparação e
Conclusão
Aplicação da
Técnica A
Aplicação da
Técnica B
Medida de
Produtividade
Medida de
Produtividade
19. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Seleção dos fatores e respostas
Fatores:
• Algoritmo 1
• Algoritmo 2
• Algoritmo 3, ...
Respostas:
• Qualidade da solução
• Tempo de execução do algoritmo
• Tempo até a melhor solução
• Hipervolume
• Spread
• Generational distance, ...
Que algoritmo acha as melhores
soluções para um problema?
Que algoritmo encontra soluções mais
rápido para um problema?
Como um algoritmo mono-objetivo se
compara a um multi-objetivo?
Search-based Software Engineering
20. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Seleção dos fatores e respostas
Como um algoritmo heurístico se
compara a um método tradicional?
Como a formulação do problema se
compara com uma variante?
Como os resultados se relacionam com
as características das instâncias?
O que podemos aprender com um
algoritmo heurístico?
Search-based Software Engineering
Fatores:
• Algoritmo
• Método tradicional
• Formulação A para o problema
• Formulação B para o problema
• Dados das instâncias (número de
módulos, número de dependências,
número de requisitos, número de
clientes, ...).
Respostas:
• Qualidade da solução
21. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Seleção das instâncias
• É muito importante apresentar detalhes sobre as instâncias selecionadas
» O que caracteriza seu tamanho e sua complexidade?
» Como seus dados foram extraídos?
» Porque foram selecionadas?
» São reais, realistas ou sintéticas?
22. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Ameaças a validade
Um estudo na Engenharia de Software baseada em Buscas.
23. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Ameaças a validade
• Ameaças a validade de conclusão verificam se há um relacionamento
estatístico válido entre os tratamentos e os resultados observados
» Não considerar a variação aleatória nos algoritmos
» Não apresentar estatísticas descritivas
» Não considerar uma boa base de comparação
» Não apresentar as questões de pesquisa e hipóteses
• Ameaças a validade interna verificam se diferenças observadas podem
ser atribuídas aos tratamentos ou a fatores fora do controle no estudo
» Falta de parametrização adequada
» Ausência de detalhes sobre a implementação
» Ausência de detalhes sobre os processos de coleta de dados
» Falta de instâncias reais
24. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Ameaças a validade
• Ameaças a validade de construção questionam se objetos e participantes
do estudo realmente refletem a questão que está sendo abordada
» Falta de clareza nas medidas de qualidade
» Ausência de medidas de custo e tempo de execução
» Ausência de discussão sobre o modelo do problema
• Ameaças a validade externa questionam a capacidade de generalizar os
resultados do estudo para uma população maior que os participantes
» Falta de clareza sobre as instâncias selecionadas
» Falta de clareza sobre o método de seleção de instâncias
» Ausência de variação no tamanho das instâncias
» Ausência de variação na complexidade das instâncias
26. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Análise estatística
Após a coleta, precisamos discutir os dados observados.
Planejamento
Execução
Apresentação
Análise
Análise gráfica dos dados
Estatísticas descritivas
Inferência estatística
Cálculo de tamanho de efeito
27. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Análise estatística
Um excelente roteiro focado em SBSE
28. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Análise estatística
• O projeto do estudo experimental seleciona fatores e organiza rodadas
para avaliar uma ou mais questões de pesquisa
» De todo modo, ao final do estudo temos séries de respostas observadas para
cada tratamento
• Suponhamos um caso simples, em que temos 3 algoritmos competindo
para gerar a melhor solução para um problema
» Algoritmos A, B e C (um fator, 3 valores)
» Considere que temos 20 instâncias, cada uma analisada separadamente
» Como cada rodada pode gerar resultados diferentes, rodamos 30 vezes cada
29. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Sumarização dos resultados
• Antes de mais nada, precisamos apresentar os dados e as estatísticas
descritivas nos ajudam a cumprir este objetivo
» É fundamental mostrar medidas de tendência central (média, mediana, moda)
e medidas de dispersão (desvio padrão, quartil, range)
30. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Sumarização dos resultados
• Sempre que possível, é bom utilizar gráficos para mostrar os resultados
» Box-plots são especialmente úteis para mostrar as distribuições dos dados
31. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Sumarização dos resultados
Gráficos radiais são úteis para apresentar diversos objetivos ao mesmo tempo
e comparar diferentes soluções não-dominadas.
MQ
EVM
IEXE
CS
A
B
32. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Sumarização dos resultados
E sempre ajuda ser criativo ...
33. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Inferência estatística para comparação de médias
• Retornando aos nossos algoritmos A, B e C ...
» Tipicamente, queremos avaliar se a média ou mediana dos resultados atingidos
por um algoritmo são diferentes dos resultados de outro
» Chamamos de hipótese nula a identificação de igualdade de média ou mediana
(não há diferença entre os resultados dos algoritmos)
» Os testes de inferência estatística verificam se é possível rejeitar a hipótese
nula, de acordo com os dados observados e suas propriedades estatísticas
34. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Inferência estatística para comparação de médias
• Entrada: duas ou mais séries de dados que serão comparados
• Saída: uma indicação de médias ou medianas iguais
• Procedimento:
» Fixar o nível de significância do teste, , como 5% ou 1%
» Construir a região crítica de uma estatística com distribuição conhecida
» Obter o valor da estatística com base nos dados coletados
» Se o valor estiver na região crítica, rejeita-se a hipótese nula de igualdade
Aceitação de H0 Rejeição de H0
35. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Inferência estatística para comparação de médias
Exploração de
relacionamento
Coeficiente de Spearman, Kendall
Testes de
hipótese
2 grupos
3+ grupos
Mann-Whitney
Kruskal-Wallis
Vamos focar na estatística não-paramétrica, menos restrita ao tipo dos dados.
36. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Inferência estatística para comparação de médias
Nível de confiança
()
Tamanho de
efeito (ES)
Tamanho da
amostra (N)
Existem três informações fundamentais para os cálculos.
37. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Cuidado para não supervalorizar o p-value!!!
• O p-value foi definido em torno de 1920 como uma “maneira de julgar se as
evidências são significativas e merecem atenção do pesquisador”
• O p-value não é um resultado definitivo e inquestionável da existência de
diferença estatística, pois ele depende do tamanho da população
• Com muitos dados, é possível obter resultados com diferença significativa,
mesmo que a diferença seja tão pequena que não tenha significado prático
• Se fizermos um número suficientemente grande de comparações, em
algum momento iremos encontrar alguma diferença!
• O p-value também não mostra se a diferença observada é relevante na
prática e deve ser complementado com uma medida de tamanho de efeito
38. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Tamanho de Efeito (Effect-Size)
• Tamanho de efeito é uma medida estatística descritiva da força do
relacionamento entre duas variáveis em uma população ou amostra
» O tamanho de efeito expressa a magnitude do relacionamento sem indicar se
esta o relacionamento entre os dados é casual ou significativo
» Como um exemplo de tamanho de efeito absoluto, podemos dizer que a
técnica de teste A identifica 30 erros a mais que a técnica de teste B
» Como um exemplo de tamanho de efeito padronizado, podemos dizer que
resultados identificados pelo algoritmo A são mais eficientes do que os
resultados obtidos pelo algoritmo B em 80% das execuções
» Medidas de tamanho de efeito padronizados são preferenciais a medidas
absolutas por serem independentes do contexto (no exemplo acima, 30 erros
a mais é muito ou pouco? depende do número total de erros ...)
» Cada tipo de teste estatístico tem um ou mais tipos de tamanho de efeito
39. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Teste de Mann-Whitney (Wilcoxon)
• Comparação de mediana entre duas séries
» Requer que as amostras sejam independentes, com dados nas escalas ordinal,
intervalar ou razão
» Para a realização do teste as observações das amostras são reunidas em um
único grupo, que é ordenado
» As amostras são transformadas em rankings dentro do grupo e calcula-se o
somatório dos rankings da menor amostra
» Finalmente, calcula-se o valor Z que é comparado com uma tabela de valores
publicados em livros de Estatística
» Quando uma série é comparada com mais do que uma segunda série devemos
aplicar correções de p-value (tipicamente Bonferroni ou Holm)
40. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Teste de Mann-Whitney (Wilcoxon)
> ycorretos <- c(0.83, 0.73, 0.87, 0.78, 0.74, 0.74, 0.87, 0.75, 0.86, 0.82, 0.77);
> xcorretos <- c(0.90, 0.89, 0.88, 0.87, 0.97, 0.81, 0.82, 0.86, 0.92, 0.96, 0.98);
> wilcox.test(ycorretos, xcorretos);
Wilcoxon rank sum test with continuity correction
data: xcorretos and ycorretos
W = 108, p-value = 0.001986
alternative hypothesis: true location shift is not equal to 0
Conclusão: é possível afirmar, com pelo menos 95%
de certeza, que existe diferença no percentual de
requisitos corretos encontrados pelos participantes
(p-value < 0.05)
41. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Teste de Mann-Whitney (Wilcoxon)
> ycorretos <- c(0.83, 0.73, 0.87, 0.78, 0.74, 0.74, 0.87, 0.75, 0.86, 0.82, 0.77);
> wilcox.test(ycorretos, um=0.75);
Wilcoxon signed rank test with continuity correction
data: ycorretos
V = 66, p-value = 0.003822
alternative hypothesis: true location is not equal to 0
Warning message:
In wilcox.test.default(ycorretos, um = 0.75) :
cannot compute exact p-value with ties
• Também é possível comparar uma série com um valor constante ...
» Útil para comparar com um resultado conhecido da literatura ou o resultado de
uma técnica tradicional e sem componentes aleatórios
42. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Teste de Mann-Whitney (Wilcoxon)
• Medida de tamanho de efeito (Vargha & Delaney’s Â12)
» O tamanho de efeito é calculado a partir dos rankings dos valores observados
e varia de 0% a 100%
» Sua interpretação física é muito simples: representa o número de vezes em
que a série A foi maior do que a série B
» Â12 = 50% indica que os dois tratamentos têm chances iguais de gerar o
melhor resultado
» Â12 = 80% indica que o primeiro tratamento será melhor que o segundo em
80% das vezes que for aplicado
2
1
1
1
12
2
1
n
n
n
R
Â
onde R1 é o somatório dos rankings da primeira série
sob análise quando se considera a ordem dos dados
disponíveis nas duas séries
43. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Teste de Mann-Whitney (Wilcoxon)
Interpretação do tamanho de efeito
Pequeno Médio Grande
d > 0.50 > 0.65 > 0.80
Aplicando um teste de Wilcoxon-Mann-Whitney observamos diferenças significativas na qualidade das
soluções encontradas pelos algoritmos A e B com tamanho de efeito grande (p-value = 0.0019, Â12 =
0.89) favorecendo o algoritmo A.
44. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Teste de Kruskal-Wallis
• Teste de hipótese que avalia a existência de diferença significativa entre as
médias observadas entre dois ou mais grupos
» Permite comparar as médias de diversos tratamentos, sendo usada como uma
extensão do teste de Mann-Whitney quando existem mais de dois tratamentos
» Avalia se a variabilidade dentro dos grupos é maior do que a existente entre os
grupos e supõe apenas a independência das observações
45. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Teste de Kruskal-Wallis
> value <- c(1, 2, 5, 3, 2, 1, 1, 3, 2, 1, 4, 3, 6, 5, 2, 6, 1, 6, 5, 4, 9, 6, 7, 7, 5, 1, 8, 9, 6, 5);
> group <- factor(c(rep(1, 10), rep(2, 10), rep(3, 10));
> data <- data.frame(group, value);
> kruskal.test(value ~group, data)
Kruskal-Wallis rank sum test
data: value by group
Kruskal-Wallis chi-squared = 13.6754, df = 2, p-value = 0.001073
p-value < 0.05 observamos um
efeito significativo do grupo no valor
46. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Teste de Kruskal-Wallis
• Agora que observamos um efeito, temos que identificar onde ele está
» Para identificar este efeito, fazemos um teste chamado post-hoc
» O teste consiste na avaliação de pares de comparações usando o teste de
Mann-Whitney com correção
> pairwise.wilcox.test(value, group, p.adj="bonferroni", exact=FALSE);
Pairwise comparisons using Wilcoxon rank sum test
data: value and group
1 2
2 0.0418 -
3 0.0058 0.0791
P value adjustment method: bonferroni p-value < 0.05 observamos um
efeito significativo entre os
tratamentos 1 e 2 e 1 e 3
47. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Teste de Kruskal-Wallis
Um teste de Kruskal-Wallis identificou diferenças significativas entre os grupos (p-value = 0.001073).
Uma análise post-hoc usando testes de Mann-Whitney com correção de Bonferroni mostrou que as
diferenças significativas ocorriam entre os algoritmos 1 e 2 (p-value = 0.0418, Â12=17.5%) favorável ao
algoritmo 2 e entre os algoritmos 1 e 3 (p-value = 0.0058, Â12=9%) favorável ao algoritmo 3.
> g1 <- subset(data, data$group == 1)
> g2 <- subset(data, data$group == 2)
> g3 <- subset(data, data$group == 3)
>
> vargha.delaney(g1$value, g2$value)
[1] 0.175
> vargha.delaney(g1$value, g3$value)
[1] 0.09
> vargha.delaney(g2$value, g3$value)
[1] 0.205
48. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Resumindo ...
49. PPGI - UNIRIOESTUDOS EXPERIMENTAIS COM ALGORITMOS DE OTIMIZAÇÃO EM ENGENHARIA DE SOFTWARE
MÁRCIO BARROS, PPGI/UNIRIO
Obrigado pela atenção!
Notas do Editor
Explicar que os testes se dividem em paramétricos e não-paramétricos.
Explicar as premissas e diferenças entre eles.
Relacionar com os tipos de erro, em especial a potência (beta).