Planejamento de Experimentos e Comparação         Estatística de Algoritmos                  Felipe Campelo               ...
Conceitos principais                                                                        Time to                       ...
MotivaçãoAnálise experimental de algoritmos  • J.N. Hooker, 1994: “In other words, we should try to build an    empirical ...
MotivaçãoPergunta central     Quanto das diferenças de desempenho observadas entre os  algoritmos testados pode ser atribu...
MotivaçãoExperimentação descuidada     “To consult the statistician after an experiment is finished is often merely to ask ...
MotivaçãoExperimentação descuidadaAlgoritmo proposto                   Algoritmo concorrente  • Implementação cuidadosa e ...
MotivaçãoExperimentação descuidadaAlgoritmo proposto                   Algoritmo concorrente  • Implementação cuidadosa e ...
MotivaçãoExperimentação descuidada • Outros problemas:     • Falta de definição clara das perguntas que se deseja responder...
Boas práticasPrincípios importantes para a pesquisa experimental comalgoritmos • Experimentos relevantes;                 ...
Planejamento Pré-experimentalAntes de mais nada...   • A comparação pretendida é relevante?   • Os resultados obtidos seri...
Planejamento Pré-experimentalDefinição das hipóteses do experimento • Experimentação exploratória = experimentação descuida...
Planejamento Pré-experimentalSeleção de métricas de desempenho • Informação de interesse; • Ruído, tendenciosidades não-co...
Planejamento Pré-experimentalSeleção de problemas de teste  • Conjuntos de benchmark versus instâncias aleatórias;      • ...
Planejamento Pré-experimentalDefinição de parâmetros não-experimentaisParâmetros que não são de interesse no experimento;  ...
Planejamento do ExperimentoPlanejamento de experimentos (DoE)Definição de protocolo para de coleta de dados de forma a poss...
Planejamento do ExperimentoReplicação • Importante para corroborar conclusões iniciais; • Replicação por grupos independen...
Planejamento do ExperimentoAleatorização  • Importante para evitar contaminação dos dados por fatores    dependentes de te...
Planejamento do ExperimentoBlocagem • Controle sistemático de condições experimentais heterogêneas;     • Diferentes probl...
Planejamento do ExperimentoProblema-dependente • Dependendo do que se deseja testar (pergunta estatística),   requer-se um...
Análise EstatísticaUma consequência do planejamento  • Técnicas de análise relativamente tranquilas      • mas exigem aten...
Análise EstatísticaModelagem estatística  • Procedimento geral para o teste das hipóteses do experimento:      • Definição ...
Relato dos resultadosDescrição completa  • Evitar observação seletiva (cherrypicking);  • Reportar e descrever resultados ...
Relato dos resultadosApresentação dos resultados  • Combinar informação textual, numérica e gráfica;      • Facilita compre...
ConclusõesDerivação de conclusões • Conclusões devem ser solidamente embasadas pelos dados;     • É comum exagerar a gener...
Considerações finaisPesquisa experimental em/com algoritmos  • Necessidade de melhorias metodológicas;      • Já está acont...
A quem interessar...Recursos:  • F. Campelo, Notas do Curso de Planejamento e Análise de    Experimentos - http://goo.gl/o...
Upcoming SlideShare
Loading in …5
×

Planejamento de Experimentos e Comparação Estatística de Algoritmos

1,728 views
1,599 views

Published on

Palestra proferida no WPOS 2012 - Workshop do Programa de Pós-graduação em Informática da UnB.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,728
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
41
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Planejamento de Experimentos e Comparação Estatística de Algoritmos

  1. 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. 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 AlgorithmANCOVA 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. 3. MotivaçãoAná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. 4. MotivaçãoPergunta 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. 5. MotivaçãoExperimentaçã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. 6. MotivaçãoExperimentação descuidadaAlgoritmo 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. 7. MotivaçãoExperimentação descuidadaAlgoritmo 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 amédia de 30 execuções dos algoritmos”.
  8. 8. MotivaçãoExperimentaçã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. 9. Boas práticasPrincípios importantes para a pesquisa experimental comalgoritmos • 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. 10. Planejamento Pré-experimentalAntes 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 morningfor a month. Probably nothing would happen, but what if it did?”– Sir George Howard Darwin
  11. 11. Planejamento Pré-experimentalDefiniçã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. 12. Planejamento Pré-experimentalSeleçã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. 13. Planejamento Pré-experimentalSeleçã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. 14. Planejamento Pré-experimentalDefinição de parâmetros não-experimentaisParâ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. 15. Planejamento do ExperimentoPlanejamento de experimentos (DoE)Definição de protocolo para de coleta de dados de forma a possibilitaruma correta análise por ferramentas estatísticas, capazes de embasarconclusõ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. 16. Planejamento do ExperimentoReplicaçã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. 17. Planejamento do ExperimentoAleatorizaçã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. 18. Planejamento do ExperimentoBlocagem • 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. 19. Planejamento do ExperimentoProblema-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. 20. Análise EstatísticaUma 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. 21. Análise EstatísticaModelagem 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. 22. Relato dos resultadosDescriçã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. 23. Relato dos resultadosApresentaçã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. 24. ConclusõesDerivaçã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. 25. Considerações finaisPesquisa 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 goodexperiment is as demanding as proving a new theorem.”– Hans-Paul Schwefel
  26. 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

×