Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Planejamento de Experimentos e Comparação Estatística de Algoritmos
1. Planejamento de Experimentos e Comparação
Estatística de Algoritmos
Felipe Campelo
fcampelo@ufmg.br
Departamento de Engenharia Elétrica
Brasília
24 de novembro de 2012
2. Conceitos principais
Time to
target Definition
of
Hypotheses Test
Value problems
achieved
Dominance Performance
analysis Metric(s)
Pre-exp. Fixed
Confidence Performance Design parameters
intervals tables
Problem
ANOVA Reporting
of results
Dimen-
GLMs sion
Experimental Blocking
Modelling
Algorithm
ANCOVA
Comparisons
Design
Statistical
Regres- of exper- Power
sion
analysis
iments Sample
size
Post-hoc
Model tests
Independ. Randomi-
validation
zation Effects of
interest
MHT cor- Effect Nesting
rections sizes
Distribution
Homog.
Variances
3. Motivação
Análise experimental de algoritmos
• J.N. Hooker, 1994: “In other words, we should try to build an
empirical science of algorithms”;
• Análises puramente teóricas são elegantes, mas frequentemente
inadequadas, infactíveis, ou não-representativas.
• Análises experimentais podem fornecer informações valiosas
sobre comportamentos de caso médio e outros aspectos de
interesse.
• Desde que feitas de forma metodologicamente sólida;
Situação ideal:
teoria + experimentação
4. Motivação
Pergunta central
Quanto das diferenças de desempenho observadas entre os
algoritmos testados pode ser atribuída a diferenças reais entre os
mesmos, e quanto é atribuível a fatores espúrios?
5. Motivação
Experimentação descuidada
“To consult the statistician after an experiment is
finished is often merely to ask him to conduct a post
mortem examination. He can perhaps say what the
experiment died of.”
Sir Ronald Fisher
• Infelizmente ainda frequente em determinadas áreas;
• Mas não por muito tempo...
• Tende a produzir resultados fortemente enviesados em favor do
algoritmo proposto
6. Motivação
Experimentação descuidada
Algoritmo proposto Algoritmo concorrente
• Implementação cuidadosa e • Implementação relativamente
verificação de erros no código; descuidada;
• Ajuste exaustivo dos • Uso dos “parâmetros da
parâmetros livres; literatura”;
• Execução de diversas rodadas • Execução de uma única
de experimentos; rodada de experimentos;
7. Motivação
Experimentação descuidada
Algoritmo proposto Algoritmo concorrente
• Implementação cuidadosa e • Implementação relativamente
verificação de erros no código; descuidada;
• Ajuste exaustivo dos • Uso dos “parâmetros da
parâmetros livres; literatura”;
• Execução de diversas rodadas • Execução de uma única
de experimentos; rodada de experimentos;
Como sai no artigo: “Os resultados apresentados representam a
média de 30 execuções dos algoritmos”.
8. Motivação
Experimentação descuidada
• Outros problemas:
• Falta de definição clara das perguntas que se deseja responder
(hipóteses de teste);
• Falta de aleatorização experimental (em comparações de tempo de
execução);
• Inversão da razão de experimentação: busca por mostrar que
determinado método é melhor, ao invés de investigar se ele é
melhor.
• Não replicabilidade;
9. Boas práticas
Princípios importantes para a pesquisa experimental com
algoritmos
• Experimentos relevantes; • Reproducibilidade;
• Conexão com literatura; • Comparabilidade;
• Problemas de teste • Descrição completa;
apropriados;
• Suporte das conclusões;
• Design experimental
apropriado; • Apresentação adequada dos
dados.
• Implementações eficientes;
Baseado em: D.S. Johnson, A Theoretician’s Guide to the Experimental Analysis of Algorithms - http://goo.gl/WxSci
10. Planejamento Pré-experimental
Antes de mais nada...
• A comparação pretendida é relevante?
• Os resultados obtidos seriam de interesse da comunidade-alvo?
• Relevância prática?
• Uso de experimentos exploratórios;
• Contextualização com a literatura;
• Evitar repetição e irrelevância.
“Sometimes one should do a completely wild experiment,
like blowing the trumpet to the tulips every morning
for a month. Probably nothing would happen, but what if it did?”
– Sir George Howard Darwin
11. Planejamento Pré-experimental
Definição das hipóteses do experimento
• Experimentação exploratória = experimentação descuidada;
• Coleta de dados orientada pelas questões de interesse;
• Diferenças no desempenho esperado dos algoritmos;
• Variabilidade no desempenho;
• A tradução pergunta de interesse → hipóteses de teste requer
cuidados;
• E um sólido conhecimento da área de experimentação;
12. Planejamento Pré-experimental
Seleção de métricas de desempenho
• Informação de interesse;
• Ruído, tendenciosidades não-controláveis;
• Usuais:
• Qualidade da solução:
• tendência central, valores extremos, variância, etc.
• Tempo até convergência;
• Importante em certas famílias de aplicações;
• Dependente de equipamento, linguagem, programador, etc.
• Comparações entre implementações versus comparações entre
algoritmos;
13. Planejamento Pré-experimental
Seleção de problemas de teste
• Conjuntos de benchmark versus instâncias aleatórias;
• Benchmark: risco de overfitting dos algoritmos aos problemas;
• Instâncias aleatórias: risco de não-representatividade dos
problemas reais;
• Seleção arbitrária de problemas: risco de viés do experimentador;
Algumas ideias
• Amostragem aleatória de problemas representativos (abordagem
random factor )
• “Treinamento e validação” (abordagem machine learning)
14. Planejamento Pré-experimental
Definição de parâmetros não-experimentais
Parâmetros que não são de interesse no experimento;
• Uso de parâmetros fixos? (Problema de generalização)
• Uso de valores aleatorizados? (Problema de representatividade)
• Uso de valores da literatura? (Problema de adequação)
• Abordagem de tuning:
• Uso de parte do esforço computacional total para o ajuste de
parâmetros;
• Esforço balanceado para o ajuste de todos os algoritmos;
15. Planejamento do Experimento
Planejamento de experimentos (DoE)
Definição de protocolo para de coleta de dados de forma a possibilitar
uma correta análise por ferramentas estatísticas, capazes de embasar
conclusões válidas e objetivas.
• Aplicável a sistemas e processos sujeitos a ruído, erros
experimentais, etc.
• Necessário para que as conclusões tenham significado;
• Evita∗ a ocorrência de erros devidos a tendências pessoais
• e outros artefatos de experimentação e análise.
16. Planejamento do Experimento
Replicação
• Importante para corroborar conclusões iniciais;
• Replicação por grupos independentes: padrão em biologia e
medicina, ainda (muito) raro em pesquisa com algoritmos;
• Disponibilidade de instâncias;
• Disponibilidade do código;
• Informações sobre condições experimentais;
• Métricas baseadas em tempo de execução;
• Replicação = tamanho amostral;
17. Planejamento do Experimento
Aleatorização
• Importante para evitar contaminação dos dados por fatores
dependentes de tempo/localização;
• Efeitos de aquecimento
• Efeitos de desgaste
• Interferências externas;
• Particularmente importante para métricas baseadas em tempo de
execução;
18. Planejamento do Experimento
Blocagem
• Controle sistemático de condições experimentais heterogêneas;
• Diferentes problemas de teste, dimensões, equipamentos, etc.
• Remoção dos efeitos indesejados, isolamento dos efeitos de
interesse;
• Atenção a fatores espúrios influenciando a variável de resposta;
“Block what you can, randomize what you
cannot.”
George E.P. Box
19. Planejamento do Experimento
Problema-dependente
• Dependendo do que se deseja testar (pergunta estatística),
requer-se um dado planejamento experimental;
• Um planejamento bem fundamentado tende a determinar de
forma clara a técnica de análise utilizada;
• Pelo menos a forma geral dos testes
• Determinação da relação entre variabilidade intra-grupos e
entre-grupos;
• Coleta dos dados deve sempre seguir o plano!
• Paradas prematuras;
• No-peeking rule;
20. Análise Estatística
Uma consequência do planejamento
• Técnicas de análise relativamente tranquilas
• mas exigem atenção aos detalhes.
• Uso de ferramentas estatísticas existentes:
• Gratuito, completo∗ , boas capacidades gráficas, simples∗ ;
21. Análise Estatística
Modelagem estatística
• Procedimento geral para o teste das hipóteses do experimento:
• Definição de um modelo-nulo (ausência de efeitos) e de um nível
desejado de significância;
• Determinação de P(dados|modelo nulo);
• Decisão pela rejeição ou não da hipótese de ausência de efeitos;
• Validação das premissas;
• Estimação da magnitude das diferenças;
Quantificação da proporção entre variabilidade entre- e intra-níveis;
22. Relato dos resultados
Descrição completa
• Evitar observação seletiva (cherrypicking);
• Reportar e descrever resultados anômalos
• mesmo que os mesmos sejam descartados como artefatos pela
análise estatística;
• Descrever critérios de parada adotados, custo computacional, e
outros dados relevantes para a compreensão e replicabilidade
dos resultados;
23. Relato dos resultados
Apresentação dos resultados
• Combinar informação textual, numérica e gráfica;
• Facilita compreensão e análise dos resultados
• Carinho com as figuras;
• (E. Tufte: The Visual Display of Quantitative Information)
• Coerência interna e geral em gráficos e tabelas;
• Intervalos simultâneos de confiança, análise de dominância,
tabelas de desempenho médio e erro padrão, etc.
24. Conclusões
Derivação de conclusões
• Conclusões devem ser solidamente embasadas pelos dados;
• É comum exagerar a generalidade dos resultados;
• Níveis de significância;
• Premissas sob as quais os resultados são válidos
• Sugerir explicações para os resultados observados;
• Cuidado com a caça por anomalias;
25. Considerações finais
Pesquisa experimental em/com algoritmos
• Necessidade de melhorias metodológicas;
• Já está acontecendo;
• Uso de ferramentas e técnicas estatísticas;
• Conhecimento já estabelecido em outras áreas que lidam com
sistemas sujeitos a variabilidades experimentais;
• Potencial para publicações de alto impacto!
• Editores valorizam artigos metodologicamente sólidos
“ However, experiments require a lot of work,
so the reader may be warned: performing a good
experiment is as demanding as proving a new theorem.”
– Hans-Paul Schwefel
26. A quem interessar...
Recursos:
• F. Campelo, Notas do Curso de Planejamento e Análise de
Experimentos - http://goo.gl/okdJF;
• D.S. Johnson, A Theoretician’s Guide to the Experimental
Analysis of Algorithms - http://goo.gl/WxSci
• T. Bartz-Beielstein, Beyond Particular Problem Instances: How to
Create Meaningful and Generalizable Results -
http://goo.gl/j7wM1