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

26
Planejamento de Experimentos e Comparação Estatística de Algoritmos Felipe Campelo [email protected] Departamento de Engenharia Elétrica Brasília 24 de novembro de 2012

description

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

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

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

Planejamento de Experimentos e ComparaçãoEstatística de Algoritmos

Felipe [email protected]

Departamento de Engenharia Elétrica

Brasília24 de novembro de 2012

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

Conceitos principais

ExperimentalAlgorithm

Comparisons

Pre-exp.Design

PerformanceMetric(s)

Valueachieved

Time totarget Definition

ofHypotheses Test

problems

Fixedparameters

Designof exper-iments

Blocking

Problem

Dimen-sion

Samplesize

Power

Effects ofinterest

Nesting

Randomi-zation

Statisticalanalysis

Modelling

ANOVA

GLMs

ANCOVA

Regres-sion

Modelvalidation

Independ.

Distribution

Homog.Variances

Post-hoctests

Effectsizes

MHT cor-rections

Reportingof results

Confidenceintervals

Dominanceanalysis

Performancetables

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

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 frequentementeinadequadas, infactíveis, ou não-representativas.

• Análises experimentais podem fornecer informações valiosassobre comportamentos de caso médio e outros aspectos deinteresse.

• Desde que feitas de forma metodologicamente sólida;

Situação ideal:teoria + experimentação

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

Motivação

Pergunta central

Quanto das diferenças de desempenho observadas entre osalgoritmos testados pode ser atribuída a diferenças reais entre os

mesmos, e quanto é atribuível a fatores espúrios?

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

Motivação

Experimentação descuidada

“To consult the statistician after an experiment isfinished is often merely to ask him to conduct a postmortem 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 doalgoritmo proposto

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

Motivação

Experimentação descuidadaAlgoritmo proposto• Implementação cuidadosa e

verificação de erros no código;

• Ajuste exaustivo dosparâmetros livres;

• Execução de diversas rodadasde experimentos;

Algoritmo concorrente• Implementação relativamente

descuidada;

• Uso dos “parâmetros daliteratura”;

• Execução de uma únicarodada de experimentos;

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

Motivação

Experimentação descuidadaAlgoritmo proposto• Implementação cuidadosa e

verificação de erros no código;

• Ajuste exaustivo dosparâmetros livres;

• Execução de diversas rodadasde experimentos;

Algoritmo concorrente• Implementação relativamente

descuidada;

• Uso dos “parâmetros daliteratura”;

• Execução de uma únicarodada de experimentos;

Como sai no artigo: “Os resultados apresentados representam amédia de 30 execuções dos algoritmos”.

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

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 deexecução);

• Inversão da razão de experimentação: busca por mostrar quedeterminado método é melhor, ao invés de investigar se ele émelhor.

• Não replicabilidade;

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

Boas práticas

Princípios importantes para a pesquisa experimental comalgoritmos• Experimentos relevantes;

• Conexão com literatura;

• Problemas de testeapropriados;

• Design experimentalapropriado;

• Implementações eficientes;

• Reproducibilidade;

• Comparabilidade;

• Descrição completa;

• Suporte das conclusões;

• Apresentação adequada dosdados.

Baseado em: D.S. Johnson, A Theoretician’s Guide to the Experimental Analysis of Algorithms - http://goo.gl/WxSci

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

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 morningfor a month. Probably nothing would happen, but what if it did?”

– Sir George Howard Darwin

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

Planejamento Pré-experimental

Definição das hipóteses do experimento• Experimentação exploratória 6= 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 requercuidados;

• E um sólido conhecimento da área de experimentação;

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

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 entrealgoritmos;

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

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 dosproblemas 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)

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

Planejamento Pré-experimental

Definiçã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;

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

Planejamento do Experimento

Planejamento 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, errosexperimentais, 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.

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

Planejamento do Experimento

Replicação• Importante para corroborar conclusões iniciais;

• Replicação por grupos independentes: padrão em biologia emedicina, 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 6= tamanho amostral;

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

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 deexecução;

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

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 deinteresse;

• Atenção a fatores espúrios influenciando a variável de resposta;

George E.P. Box

“Block what you can, randomize what youcannot.”

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

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 deforma clara a técnica de análise utilizada;

• Pelo menos a forma geral dos testes

• Determinação da relação entre variabilidade intra-grupos eentre-grupos;

• Coleta dos dados deve sempre seguir o plano!• Paradas prematuras;• No-peeking rule;

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

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∗;

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

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íveldesejado 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;

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

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, eoutros dados relevantes para a compreensão e replicabilidadedos resultados;

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

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.

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

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;

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

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 comsistemas 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

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

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 ExperimentalAnalysis of Algorithms - http://goo.gl/WxSci

• T. Bartz-Beielstein, Beyond Particular Problem Instances: How toCreate Meaningful and Generalizable Results -http://goo.gl/j7wM1