aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

35
Utilizando Monte Carlo e Reamostragem em Estimativas Mauricio Aguiar, TI Métricas

Upload: agenor-barbosa

Post on 19-Jun-2015

98 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Utilizando Monte Carlo e Reamostragem em Estimativas

Mauricio Aguiar, TI Métricas

Page 2: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Agenda

• Introdução

• Um Exemplo Simples

• Outro Exemplo

• Reamostragem

• Faça Você Mesmo - Monte Carlo

• Resumo

Page 3: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

IntroduçãoEstimativas

•Estimativas são projeções quantitativas de características

dos projetos, tais como:

• Tamanho do Produto

• Esforço Requerido

• Prazo Requerido

• Qualidade

Page 4: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

IntroduçãoIncerteza e Monte Carlo

•Há um grau de incerteza nos parâmetros de entrada de

um modelo de estimativa

•Desejamos avaliar como essa incerteza pode afetar os

resultados

• Isso pode ser feito através de simulação (Monte Carlo

Simulation)

Page 5: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

IntroduçãoEntradas de um Modelo de Estimativa

•Tamanho (Pontos de Função, etc.)

•Características do Produto e do Projeto

•Esforço Estimado por Atividade

•etc.

Page 6: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

IntroduçãoModelando a Incerteza

•Permitir que as entradas variem segundo distribuições

estatísticas definidas

950 PF 1000 PF 1050 PF

Ex.: Tamanho

Distribuição Normal

Page 7: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesO Problema

•Executar construção e teste unitário para 5 módulos

(classes, funções, subrotinas...)

•Assuma que o trabalho será feito sequencialmente

Page 8: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesComo Fazer Melhor

•Com 100% de probabilidade de acerto, o prazo seria 48

dias

•Um prazo menor com 90% de probabilidade de acerto

seria suficiente

•Qual seria esse prazo?

Page 9: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesModelando a Incerteza

Page 10: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesMonte Carlo

•Simular 10000 vezes a execução da construção e teste

unitário dos 5 módulos

• Variar os prazos individuais conforme as respectivas

distribuições

• Avaliar a variação do prazo total

Page 11: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesMonte Carlo

Page 12: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesHistograma do Prazo Simulado

Page 13: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesFreqüência Acumulada do Prazo Simulado

Prazo menor ou igual a 38 dias com 90% de probabilidade de acerto

38,4 – 90%

Page 14: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesQuestionamento

•As distribuições utilizadas correspondem à realidade?

•A probabilidade de terminar antes é a mesma de terminar

depois?

Page 15: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesQuestionamento

Page 16: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesQuestionamento

•Simular 10000 vezes a execução da construção e teste

unitário dos 5 módulos, utilizando a distribuição lognormal

somente no caso anteriormente “normal”

Page 17: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesQuestionamento

Page 18: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Um Exemplo SimplesQuestionamento

O prazo agoraé 39 dias

Page 19: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Outro ExemploProdutividade de 9 Projetos

Produtividade em Horas/Pontos de FunçãoNota: Dados fictícios

Page 20: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Outro ExemploEstimando o Erro

Mean Relative Error

((Estimado – Real)/Real) * 100

Page 21: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Outro ExemploDados de Esforço

•Muitas vezes a qualidade dos dados de esforço é

questionável

•Como o erro nos dados de esforço afetaria o erro de

estimativa?

Page 22: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Outro ExemploDados de Esforço

Page 23: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Outro ExemploDados de Esforço

O erro é inferior

a 40% com90% de

probabilidade.

O máximo é42%.

Page 24: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

ReamostragemA Idéia

•Monte Carlo exige que façamos suposições sobre as

distribuições

•A Reamostragem basea-se na replicação de uma amostra

(podendo haver repetições)

•As estatísticas baseadas em reamostragem aproximam-se

dos valores reais, conforme cresce o número de amostras

•A Reamostragem independe de suposições sobre as

distribuições

Page 25: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

ReamostragemUm Exemplo

•Construir um intervalo de confiança a 90% para a

produtividade do COBOL, com base no banco de dados

ISBSG V10

•Os dados: 615 projetos, produtividade média 20.5 H/PF,

produtividade mediana 11.9 H/PF

Page 26: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

ReamostragemDistribuição Amostral: Média, Mediana

Page 27: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

ReamostragemDistribuição Amostral: Média

Page 28: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

ReamostragemDistribuição Amostral: Mediana

Page 29: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Faça Você MesmoSimulando a Distribuição Triangular

Page 30: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Faça Você MesmoSimulando a Distribuição Triangular

Page 31: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Faça Você MesmoSimulando a Distribuição Triangular

Trabalhando com Excel VBA

Page 32: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Faça Você MesmoSimulando a Distribuição Triangular

Page 33: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

ResumoO Que Vimos

•Monte Carlo ajuda a identificar a variação nos resultados em função da incerteza nas entradas

•A escolha das distribuições estatísticas é muito importante em Monte Carlo

•A Reamostragem funciona mesmo quando a distribuição édesconhecida

•É possível fazer muita coisa com Excel e VBA

•Há ferramentas profissionais para Monte Carlo (Crystal Ball, @Risk, XLSim, etc.)

Page 34: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

ResumoReferências

•Savage, Sam L., Decision Making with Insight

• XLSim 2.0

•Mooney, C.Z. and Duval, R.D, Bootstrapping: A Nonparametric Approach to Statistical Inference, SAGE, 1993

•Davidson, A.C. and Hinkley, D.V., Bootstrap Methods and Their Application, Cambridge University Press, 1997

Page 35: Aguiar utilizando monte carlo e reamostragem em estimativas 2008-11-04

Mauricio Aguiar

ti MÉ[email protected]

www.metricas.com.br