78
Análise Numérica Aplicada Mamãe, o Excel dá errado! Alejandro C. Frery LaCCAN Laboratório de Computação Científica e Análise Numérica Universidade Federal de Alagoas XIII ERBASE 1 / 42

Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Embed Size (px)

Citation preview

Page 1: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise Numérica AplicadaMamãe, o Excel dá errado!

Alejandro C. Frery

LaCCAN

Laboratório de Computação Científicae Análise Numérica

Universidade Federal de Alagoas

XIII ERBASE

1 / 42

Page 2: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que esse tema e esse título?

As razões que me levaram a propor esse tema e esse título são asseguintes:

1 A análise numérica é um assunto “em baixa” na nossacomunidade. Muito embora seja medular para a Ciência daComputação, ele é mais frequentemente trabalhado pelo pessoalda Matemática Aplicada.

2 A Análise Numérica clássica requer habilidades matemáticas nãotriviais, mas veremos um viés diferente: o da Análise NuméricaAplicada.

3 O Excel c© está presente em quase todo lugar. . . e veremos que aqualidade das suas respostas é duvidosa.

4 O Matlab c© é praticamente uma commodity. . . e nem sempre éconfiável.

2 / 42

Page 3: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que esse tema e esse título?

As razões que me levaram a propor esse tema e esse título são asseguintes:

1 A análise numérica é um assunto “em baixa” na nossacomunidade. Muito embora seja medular para a Ciência daComputação, ele é mais frequentemente trabalhado pelo pessoalda Matemática Aplicada.

2 A Análise Numérica clássica requer habilidades matemáticas nãotriviais, mas veremos um viés diferente: o da Análise NuméricaAplicada.

3 O Excel c© está presente em quase todo lugar. . . e veremos que aqualidade das suas respostas é duvidosa.

4 O Matlab c© é praticamente uma commodity. . . e nem sempre éconfiável.

2 / 42

Page 4: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que esse tema e esse título?

As razões que me levaram a propor esse tema e esse título são asseguintes:

1 A análise numérica é um assunto “em baixa” na nossacomunidade. Muito embora seja medular para a Ciência daComputação, ele é mais frequentemente trabalhado pelo pessoalda Matemática Aplicada.

2 A Análise Numérica clássica requer habilidades matemáticas nãotriviais, mas veremos um viés diferente: o da Análise NuméricaAplicada.

3 O Excel c© está presente em quase todo lugar. . . e veremos que aqualidade das suas respostas é duvidosa.

4 O Matlab c© é praticamente uma commodity. . . e nem sempre éconfiável.

2 / 42

Page 5: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que esse tema e esse título?

As razões que me levaram a propor esse tema e esse título são asseguintes:

1 A análise numérica é um assunto “em baixa” na nossacomunidade. Muito embora seja medular para a Ciência daComputação, ele é mais frequentemente trabalhado pelo pessoalda Matemática Aplicada.

2 A Análise Numérica clássica requer habilidades matemáticas nãotriviais, mas veremos um viés diferente: o da Análise NuméricaAplicada.

3 O Excel c© está presente em quase todo lugar. . . e veremos que aqualidade das suas respostas é duvidosa.

4 O Matlab c© é praticamente uma commodity. . . e nem sempre éconfiável.

2 / 42

Page 6: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Resumo

1 Introdução

2 Precisão Numérica

3 Avaliação de planilhas

4 Avaliação de linguagens de programação/prototipação

3 / 42

Page 7: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise das propriedades numéricas de softwareO ponto de vista do usuário

Quão confiável são, por exemplo, Excel, Matlab, R, Phyton etc.?Não é possível ou desejável, em geral, abrir o sistema.Aplicamos protocolos: situações reais ou construídas difíceis deserem resolvidas, mas para as quais temos a resposta exata.

4 / 42

Page 8: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise das propriedades numéricas de softwareO ponto de vista do usuário

Quão confiável são, por exemplo, Excel, Matlab, R, Phyton etc.?Não é possível ou desejável, em geral, abrir o sistema.Aplicamos protocolos: situações reais ou construídas difíceis deserem resolvidas, mas para as quais temos a resposta exata.

4 / 42

Page 9: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise das propriedades numéricas de softwareO ponto de vista do usuário

Quão confiável são, por exemplo, Excel, Matlab, R, Phyton etc.?Não é possível ou desejável, em geral, abrir o sistema.Aplicamos protocolos: situações reais ou construídas difíceis deserem resolvidas, mas para as quais temos a resposta exata.

4 / 42

Page 10: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise das propriedades numéricas de softwareO ponto de vista do usuário

Fizemos isso para linguagens e plataformas de programação (R,Matlab, Phyton, SciLab, Octave, Ox) e para planilhas (Excel,Gnumeric, NeoOffice, Calc, Oleo), sempre que possível em trêssistemas operacionais (Windows, Linux, Mac OS) e dois tipos dehardware (i386 e amd64).Analisamos estatísticas básicas (média, desvio padrão,correlação), densidades e funções de distribuição acumuladas,regressão linear e não linear, estatística F do ANOVA, geração denúmeros pseudoaleatórios, e operações sobre matrizes.

5 / 42

Page 11: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise das propriedades numéricas de softwareO ponto de vista do usuário

Fizemos isso para linguagens e plataformas de programação (R,Matlab, Phyton, SciLab, Octave, Ox) e para planilhas (Excel,Gnumeric, NeoOffice, Calc, Oleo), sempre que possível em trêssistemas operacionais (Windows, Linux, Mac OS) e dois tipos dehardware (i386 e amd64).Analisamos estatísticas básicas (média, desvio padrão,correlação), densidades e funções de distribuição acumuladas,regressão linear e não linear, estatística F do ANOVA, geração denúmeros pseudoaleatórios, e operações sobre matrizes.

5 / 42

Page 12: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que é importante conhecer os defeitos (além dasvirtudes) desses dispositivos de software?

Deles dependem decisões bursáteis globais (Croll, 2009; Powell etal., 2009)Controle de sistemas (Aliane, 2008)Ensino de matemática (Bäckman, 2008)Treinamento de equipes de hospital (Dzik et al., 2008)Estudos de interação do álcool com drogas (Zoethout et al., 2008)Dosimetria em radioterapia (Bianchi et al., 2008; Roth, 2008)

6 / 42

Page 13: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que é importante conhecer os defeitos (além dasvirtudes) desses dispositivos de software?

Deles dependem decisões bursáteis globais (Croll, 2009; Powell etal., 2009)Controle de sistemas (Aliane, 2008)Ensino de matemática (Bäckman, 2008)Treinamento de equipes de hospital (Dzik et al., 2008)Estudos de interação do álcool com drogas (Zoethout et al., 2008)Dosimetria em radioterapia (Bianchi et al., 2008; Roth, 2008)

6 / 42

Page 14: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que é importante conhecer os defeitos (além dasvirtudes) desses dispositivos de software?

Deles dependem decisões bursáteis globais (Croll, 2009; Powell etal., 2009)Controle de sistemas (Aliane, 2008)Ensino de matemática (Bäckman, 2008)Treinamento de equipes de hospital (Dzik et al., 2008)Estudos de interação do álcool com drogas (Zoethout et al., 2008)Dosimetria em radioterapia (Bianchi et al., 2008; Roth, 2008)

6 / 42

Page 15: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que é importante conhecer os defeitos (além dasvirtudes) desses dispositivos de software?

Deles dependem decisões bursáteis globais (Croll, 2009; Powell etal., 2009)Controle de sistemas (Aliane, 2008)Ensino de matemática (Bäckman, 2008)Treinamento de equipes de hospital (Dzik et al., 2008)Estudos de interação do álcool com drogas (Zoethout et al., 2008)Dosimetria em radioterapia (Bianchi et al., 2008; Roth, 2008)

6 / 42

Page 16: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que é importante conhecer os defeitos (além dasvirtudes) desses dispositivos de software?

Deles dependem decisões bursáteis globais (Croll, 2009; Powell etal., 2009)Controle de sistemas (Aliane, 2008)Ensino de matemática (Bäckman, 2008)Treinamento de equipes de hospital (Dzik et al., 2008)Estudos de interação do álcool com drogas (Zoethout et al., 2008)Dosimetria em radioterapia (Bianchi et al., 2008; Roth, 2008)

6 / 42

Page 17: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Por que é importante conhecer os defeitos (além dasvirtudes) desses dispositivos de software?

Deles dependem decisões bursáteis globais (Croll, 2009; Powell etal., 2009)Controle de sistemas (Aliane, 2008)Ensino de matemática (Bäckman, 2008)Treinamento de equipes de hospital (Dzik et al., 2008)Estudos de interação do álcool com drogas (Zoethout et al., 2008)Dosimetria em radioterapia (Bianchi et al., 2008; Roth, 2008)

6 / 42

Page 18: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Resumo

1 Introdução

2 Precisão Numérica

3 Avaliação de planilhas

4 Avaliação de linguagens de programação/prototipação

7 / 42

Page 19: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Rationale

Não temos acesso ao código fonte das planilhas para verificar aqualidade numérica da implementaçãoA metodologia consiste em alimentar as planilhas com conjuntosde dados, e fazer operações para as quais sabemos as repostascertasFeito isso, compararemos as respostas fornecidas com as respostascertificadas

A seguir definiremos a comparação.

8 / 42

Page 20: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Rationale

Não temos acesso ao código fonte das planilhas para verificar aqualidade numérica da implementaçãoA metodologia consiste em alimentar as planilhas com conjuntosde dados, e fazer operações para as quais sabemos as repostascertasFeito isso, compararemos as respostas fornecidas com as respostascertificadas

A seguir definiremos a comparação.

8 / 42

Page 21: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Rationale

Não temos acesso ao código fonte das planilhas para verificar aqualidade numérica da implementaçãoA metodologia consiste em alimentar as planilhas com conjuntosde dados, e fazer operações para as quais sabemos as repostascertasFeito isso, compararemos as respostas fornecidas com as respostascertificadas

A seguir definiremos a comparação.

8 / 42

Page 22: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Rationale

Não temos acesso ao código fonte das planilhas para verificar aqualidade numérica da implementaçãoA metodologia consiste em alimentar as planilhas com conjuntosde dados, e fazer operações para as quais sabemos as repostascertasFeito isso, compararemos as respostas fornecidas com as respostascertificadas

A seguir definiremos a comparação.

8 / 42

Page 23: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Rationale

Não temos acesso ao código fonte das planilhas para verificar aqualidade numérica da implementaçãoA metodologia consiste em alimentar as planilhas com conjuntosde dados, e fazer operações para as quais sabemos as repostascertasFeito isso, compararemos as respostas fornecidas com as respostascertificadas

A seguir definiremos a comparação.

8 / 42

Page 24: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Log-Relative Error

Definição

LRE(x, c) =

{− log10

|x−c||c| se c 6= 0

− log10 |x| caso contrário

Valores ótimos: 7 para ponto flutuante e 16 para precisão dupla.

Se x = 0.01521 e c = 0.01522, então LRE(x, c) = 3.182415,Se x = 0.000001521 e c = 0.000001522, então LRE(x, c) = 3.182415

9 / 42

Page 25: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Log-Relative Error

Definição

LRE(x, c) =

{− log10

|x−c||c| se c 6= 0

− log10 |x| caso contrário

Valores ótimos: 7 para ponto flutuante e 16 para precisão dupla.

Se x = 0.01521 e c = 0.01522, então LRE(x, c) = 3.182415,Se x = 0.000001521 e c = 0.000001522, então LRE(x, c) = 3.182415

9 / 42

Page 26: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Dados

Statistical Reference Datasets (StRD)National Institute of Standards and Technology (NIST)Classificação: low, average e highTipo de dados: observados (reais) e construídosDígitos significativos: 15 (StRD), 11 (StRD - Regressão Não

Linear) ou 6 (Mathematica)Resultados analíticos, Mathematica e outras plataformas desoftware amplamente validadas

10 / 42

Page 27: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Funcionalidades analisadas

Média AmostralDesvio PadrãoCoeficiente de Autocorrelação de Primeira OrdemEstatístico F de ANOVARegresões Linear e Não LinearGeração de Números Pseudo-AleatóriosVárias Funções de DistribuiçãoOperações sobre matrizes (somente para Matlab, Octave e SciLab)

Sempre que possível, verifica-se que o algoritmo empregado pelaplataforma seja o mesmo utilizado para obter o valor certificado.

11 / 42

Page 28: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Resumo

1 Introdução

2 Precisão Numérica

3 Avaliação de planilhas

4 Avaliação de linguagens de programação/prototipação

12 / 42

Page 29: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Planilhas Avaliadas

Plataformas avaliadasMicrosoft ExcelOpenOficce.org CalcGNU GnumericNeoOffice CalcGNU Oleo

MotivaçãoDifundidasPortáveisSofisticadas, em teseUsabilidade (mamãe!)Necessitam de poucosrecursos

13 / 42

Page 30: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Planilhas Avaliadas

Plataformas avaliadasMicrosoft ExcelOpenOficce.org CalcGNU GnumericNeoOffice CalcGNU Oleo

MotivaçãoDifundidasPortáveisSofisticadas, em teseUsabilidade (mamãe!)Necessitam de poucosrecursos

13 / 42

Page 31: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Planilhas Avaliadas

Plataformas avaliadasMicrosoft ExcelOpenOficce.org CalcGNU GnumericNeoOffice CalcGNU Oleo

MotivaçãoDifundidasPortáveisSofisticadas, em teseUsabilidade (mamãe!)Necessitam de poucosrecursos

13 / 42

Page 32: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Planilhas Avaliadas

Plataformas avaliadasMicrosoft ExcelOpenOficce.org CalcGNU GnumericNeoOffice CalcGNU Oleo

MotivaçãoDifundidasPortáveisSofisticadas, em teseUsabilidade (mamãe!)Necessitam de poucosrecursos

13 / 42

Page 33: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Planilhas Avaliadas

Plataformas avaliadasMicrosoft ExcelOpenOficce.org CalcGNU GnumericNeoOffice CalcGNU Oleo

MotivaçãoDifundidasPortáveisSofisticadas, em teseUsabilidade (mamãe!)Necessitam de poucosrecursos

13 / 42

Page 34: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Planilhas Avaliadas

Plataformas avaliadasMicrosoft ExcelOpenOficce.org CalcGNU GnumericNeoOffice CalcGNU Oleo

MotivaçãoDifundidasPortáveisSofisticadas, em teseUsabilidade (mamãe!)Necessitam de poucosrecursos

13 / 42

Page 35: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Média Amostral

xn =1n

n

∑i=1

xi =n− 1

nxn−1 +

1n

xn

Datasets Cal

c

Exce

l

Gnu

mer

ic

Neo

Offi

ce

Ole

o

Lew (l) 15.0 15.0 15.0 15.0 15.0Lottery (l) 15.0 15.0 15.0 15.0 15.0Mavro (l) 15.0 15.0 15.0 15.0 15.0Michelso (l) 15.0 15.0 15.0 15.0 15.0NumAcc1 (l) 15.0 15.0 15.0 15.0 6.6PiDigits (l) 15.0 15.0 15.0 15.0 15.0NumAcc2 (a) 14.0 14.0 15.0 14.0 13.9NumAcc3 (a) 15.0 15.0 15.0 15.0 6.6NumAcc4 (h) 13.9 13.9 15.0 13.9 7.6

14 / 42

Page 36: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Média Amostral

xn =1n

n

∑i=1

xi =n− 1

nxn−1 +

1n

xn

Datasets Cal

c

Exce

l

Gnu

mer

ic

Neo

Offi

ce

Ole

o

Lew (l) 15.0 15.0 15.0 15.0 15.0Lottery (l) 15.0 15.0 15.0 15.0 15.0Mavro (l) 15.0 15.0 15.0 15.0 15.0Michelso (l) 15.0 15.0 15.0 15.0 15.0NumAcc1 (l) 15.0 15.0 15.0 15.0 6.6PiDigits (l) 15.0 15.0 15.0 15.0 15.0NumAcc2 (a) 14.0 14.0 15.0 14.0 13.9NumAcc3 (a) 15.0 15.0 15.0 15.0 6.6NumAcc4 (h) 13.9 13.9 15.0 13.9 7.6

14 / 42

Page 37: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Desvio Padrão

sn =

√1n

n

∑i=1

(xi − xn)2 =n− 1

nsn−1 +

1n− 1

(xn − xn)2

Datasets Cal

c

Exce

l07

Exce

l08

Gnu

mer

ic

Neo

Offi

ce

Ole

o

Lew (l) 15.0 15.0 15.0 15.0 15.0 15.0Lottery (l) 15.0 15.0 15.0 15.0 15.0 15.0Mavro (l) 12.9 12.9 9.4 12.9 12.9 8.8Michelso (l) 13.8 13.8 8.2 13.8 13.8 8.2NumAcc1 (l) 15.0 15.0 15.0 15.0 15.0 –PiDigits (l) 15.0 15.0 15.0 15.0 15.0 15.0NumAcc2 (a) 15.0 11.5 11.5 15.0 15.0 12.5NumAcc3 (a) 9.4 9.4 1.4 9.4 9.4 –NumAcc4 (h) 8.2 8.2 0.0 8.2 8.2 –

15 / 42

Page 38: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Desvio Padrão

sn =

√1n

n

∑i=1

(xi − xn)2 =n− 1

nsn−1 +

1n− 1

(xn − xn)2

Datasets Cal

c

Exce

l07

Exce

l08

Gnu

mer

ic

Neo

Offi

ce

Ole

o

Lew (l) 15.0 15.0 15.0 15.0 15.0 15.0Lottery (l) 15.0 15.0 15.0 15.0 15.0 15.0Mavro (l) 12.9 12.9 9.4 12.9 12.9 8.8Michelso (l) 13.8 13.8 8.2 13.8 13.8 8.2NumAcc1 (l) 15.0 15.0 15.0 15.0 15.0 –PiDigits (l) 15.0 15.0 15.0 15.0 15.0 15.0NumAcc2 (a) 15.0 11.5 11.5 15.0 15.0 12.5NumAcc3 (a) 9.4 9.4 1.4 9.4 9.4 –NumAcc4 (h) 8.2 8.2 0.0 8.2 8.2 –

15 / 42

Page 39: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Coeficiente de Autocorrelação

r(1)n =1

(n− 1)s2n

n

∑i=1

(xi−1 − xn)(xi − xn)

Calc Excel NeoOfficeDatasets †/‡ 07/08 Gnumeric 2.2.5/3.0

Lew (l) 5.0 5.0 5.0 5.0Lottery (l) 3.5 3.5 3.5 3.5Mavro (l) 4.1 4.1 4.1 4.1Michelso (l) 5.9 5.9/5.8 5.9 5.9NumAcc1 (l) 15.0 15.0 15.0 15.0PiDigits (l) 5.3 5.3 5.3 5.3NumAcc2 (a) 14.4/15.0 11.3 15.0 11.5/15.0NumAcc3 (a) 12.3 12.3/0.9 12.2 –/12.2NumAcc4 (h) 11.0 11.0/NA 11.0 –/11.0†Versão para Ubuntu‡Versões para Mac OS e Windows

16 / 42

Page 40: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

ANOVA

Datasets Excel 07 Gnumeric

SiRstv (l) 13.0 13.0SmLs01 (l) 15.0 15.0SmLs02 (l) 13.8 15.0SmLs03 (l) 13.0 15.0AtmWtAg (a) 10.1 10.1SmLs04 (a) 10.4 10.4SmLs05 (a) 10.2 10.2SmLs06 (a) 10.1 10.1SmLs07 (h) 4.1 4.4SmLs08 (h) 1.8 4.1SmLs09 (h) – 4.1

17 / 42

Page 41: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Regressão Linear

Excel 2007 apresenta os melhores resultados, divergindo em umcaso do Excel 2008 (pior).Em apenas dois datasets atingiu-se 15 dígitos de precisão.

18 / 42

Page 42: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Regressão Linear

Excel 2007 apresenta os melhores resultados, divergindo em umcaso do Excel 2008 (pior).Em apenas dois datasets atingiu-se 15 dígitos de precisão.

18 / 42

Page 43: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Regressão Não Linear

Nenhuma das planilhas apresenta resultados confiáveis.Os melhores resultados obtidos provém de algoritmosnão-determinísticos nas planilhas OpenOffice.org Calc eNeoOffice Calc

19 / 42

Page 44: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Regressão Não Linear

Nenhuma das planilhas apresenta resultados confiáveis.Os melhores resultados obtidos provém de algoritmosnão-determinísticos nas planilhas OpenOffice.org Calc eNeoOffice Calc

19 / 42

Page 45: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Regressão Não Linear

20 / 42

Page 46: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Geradores de Números Pseudo-Aleatórios

Propriedades desejadas1 distribuição uniforme;2 vetores de ocorrências de variáveis aleatórias independentes para

vetores de tamanho moderado;3 reproducibilidade (via semente);4 velocidade;5 período longo.

Calc Excel

2007

Excel

2008

Gnumer

ic

NeoOffi

ce

Oleo

Documentação " "% % " % %

21 / 42

Page 47: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Geradores de Números Pseudo-Aleatórios

Propriedades desejadas1 distribuição uniforme;2 vetores de ocorrências de variáveis aleatórias independentes para

vetores de tamanho moderado;3 reproducibilidade (via semente);4 velocidade;5 período longo.

Calc Excel

2007

Excel

2008

Gnumer

ic

NeoOffi

ce

Oleo

Documentação " "% % " % %

Semente % " % % % %

21 / 42

Page 48: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Alguns resultados

Nenhuma das planilhas apresenta resultados confiáveis.Para muitas das distruições avaliadas Gnumeric apresenta bonsresultados.Nenhuma planilha conseque sequer um dígito de precisão paraduas distribuições.Simulações Monte Carlo não devem ser processadas em planilhas.

22 / 42

Page 49: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Alguns resultados

Nenhuma das planilhas apresenta resultados confiáveis.Para muitas das distruições avaliadas Gnumeric apresenta bonsresultados.Nenhuma planilha conseque sequer um dígito de precisão paraduas distribuições.Simulações Monte Carlo não devem ser processadas em planilhas.

22 / 42

Page 50: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Alguns resultados

Nenhuma das planilhas apresenta resultados confiáveis.Para muitas das distruições avaliadas Gnumeric apresenta bonsresultados.Nenhuma planilha conseque sequer um dígito de precisão paraduas distribuições.Simulações Monte Carlo não devem ser processadas em planilhas.

22 / 42

Page 51: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Alguns resultados

Nenhuma das planilhas apresenta resultados confiáveis.Para muitas das distruições avaliadas Gnumeric apresenta bonsresultados.Nenhuma planilha conseque sequer um dígito de precisão paraduas distribuições.Simulações Monte Carlo não devem ser processadas em planilhas.

22 / 42

Page 52: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Conclusões

Nenhuma das planilhas é confiável para fins estatísticos sérios.Oleo deve ser utilizado somente quando não houverdisponibilidade de interface gráfica.Experimentos Monte Carlo não devem ser realizados emplanilhas eletrônicas.Aconselha-se utilizar outras plataformas, sendo R a maisrecomendável.

23 / 42

Page 53: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Conclusões

Nenhuma das planilhas é confiável para fins estatísticos sérios.Oleo deve ser utilizado somente quando não houverdisponibilidade de interface gráfica.Experimentos Monte Carlo não devem ser realizados emplanilhas eletrônicas.Aconselha-se utilizar outras plataformas, sendo R a maisrecomendável.

23 / 42

Page 54: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Conclusões

Nenhuma das planilhas é confiável para fins estatísticos sérios.Oleo deve ser utilizado somente quando não houverdisponibilidade de interface gráfica.Experimentos Monte Carlo não devem ser realizados emplanilhas eletrônicas.Aconselha-se utilizar outras plataformas, sendo R a maisrecomendável.

23 / 42

Page 55: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Conclusões

Nenhuma das planilhas é confiável para fins estatísticos sérios.Oleo deve ser utilizado somente quando não houverdisponibilidade de interface gráfica.Experimentos Monte Carlo não devem ser realizados emplanilhas eletrônicas.Aconselha-se utilizar outras plataformas, sendo R a maisrecomendável.

23 / 42

Page 56: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Brian D. Ripley“Let’s not kid ourselves: the most widely used piece of software

for statistics is Excel.”

(’Statistical Methods Need Software: A View of Statistical Computing’,RSS 2002)

24 / 42

Page 57: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Jonathan D. Cryer“Friends don’t let friends use Excel for statistics!”

(JSM 2001, Atlanta)

25 / 42

Page 58: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Resumo

1 Introdução

2 Precisão Numérica

3 Avaliação de planilhas

4 Avaliação de linguagens de programação/prototipação

26 / 42

Page 59: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Metodologia

A mesma metodologia foi aplicada a Octave, (academic) Ox, Python,R, SciLab e Matlab.Em alguns casos acrescentamos um estudo Monte Carlo daestabilidade dos resultados (omitido aqui por brevidade).

27 / 42

Page 60: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Estatísticas básicasMédia

Platform OS PiDi

gits

Lott

ery

Lew

Mavr

o

Mich

elso

Numa

cc1

Numa

cc2

Numa

cc3

Numa

cc4

OctaveWindows Inf(0) Inf(0.99) Inf(0) Inf(0.04) Inf(0.04) Inf Inf Inf Inf

Linux Inf(0.04) Inf(10.44) Inf(11.45) Inf(11.35) Inf(10.94) Inf Inf Inf InfMac Os Inf(0) Inf(0.99) Inf(0) Inf(0.33) Inf(0.43) Inf Inf 14.0 Inf

MatLab Windows 16.0(0) 15.1(0.89) 16.0(0) 16.0(0.35) 15.4(10.87) 16.0 14.0 15.0 13.9Linux 16.0(0) 16.0(0.03) 16.0(0) 16.0(0.35) 16.0(11.48) 16.0 14.0 14.0 13.9

ScilabWindows Inf(0.04) 8.1(6.28) Inf(0) Inf(0.04) Inf(0.04) Inf Inf Inf 7.7

Linux Inf(0) 8.1(7.92) Inf(0) Inf(0.33) Inf(0.43) Inf Inf Inf 7.7Mac OS Inf(0) 8.1(7.92) Inf(0) Inf(0.33) Inf(0.43) Inf Inf Inf 7.7

28 / 42

Page 61: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Estatísticas básicasDesvio padrão

Platform OS PiDi

gits

Lott

ery

Lew

Mavr

o

Mich

elso

Numa

cc1

Numa

cc2

Numa

cc3

Numa

cc4

OctaveWindows Inf(0.88) Inf(0.24) Inf(0.87) 13.1(2.94) 13.9(1.96) Inf Inf 9.5 8.3

Linux Inf(11.08) Inf(9.88) Inf(10.80) 13.1(10.88) 13.9(10.88) Inf Inf 8.3 InfMac Os Inf(1.76) Inf(0.35) Inf(0.42) 13.1(2.75) 13.8(1.99) Inf Inf 9.5 8.3

MatLab Windows 14.8(0.70) 16.0(0.35) 15.2(0.53) 13.8(2.06) 13.9(12.85) 16.0 16.0 9.4 8.2Linux 14.8((0.70) 16.0(0.35) 16.0(0.41) 13.8(2.06) 13.9(12.85) 16.0 16.0 9.4 8.2

ScilabWindows 7.9(4.79) 8.1(6.12) 8.2(6.01) 4.1(6.33) 6.2(6.5) Inf Inf Inf Inf

Linux 7.9(8.01) 8.1(7.67) 8.2(7.5) 4.1(11.79) 6.2(9.62) Inf Inf Inf InfMac OS 7.9(6.47) 8.1(7.67) 8.2(7.41) 4.1(11.59) 6.2(9.62) Inf Inf Inf Inf

29 / 42

Page 62: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Estatísticas básicasCorrelação de primeira ordem

Platform OS PiDi

gits

Lott

ery

Lew

Mavr

o

Mich

elso

Numa

cc1

Numa

cc2

Numa

cc3

Numa

cc4

OctaveWindows 4.0(0.48) 2.1(0.67) 2.6(0.75) 1.8(0.56) 3.6(1.90) 0 3.0 3.0 3.0

Linux 4.0(2.10) 2.1(0.60) 2.6(0.50) 1.8(0.55) 3.6(1.81) 0 3.3 3.3 3.3Mac Os 4.0(1.05) 2.1(0.67) 2.6(0.75) 1.8(0.58) 3.6(1.52) 0 3.0 3.0 3.0

MatLab Windows 3.9(6.06) 2.0(3.49) 2.6(4.08) 1.7(2.78) 3.5(4.82) 0 3.3 3.3 3.3Linux 3.9(6.06) 2.0(3.49) 2.6(4.08) 1.7(2.78) 3.5(4.82) 0 3.3 3.3 3.3

ScilabWindows – – – 0(1.75) 0(2.09) 0.5 0 0 0

Linux – – – 0(2.09) 0(2.09) 0.5 0 0 0Mac OS – 0(2.39) 0(2.40) 0(1.75) 0(2.09) 0.5 0 0 0

30 / 42

Page 63: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Conclusões sobre estatísticas básicas

Octave sofre para calcular a média de dados de baixacomplexidade, mas é o melhor para o desvio padrão (SciLab é opior para este último).SciLab é também a pior plataforma para a correlação, masnenhuma se saiu bem.

31 / 42

Page 64: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Funções de distribuiçãoA lei t-Student

Pr(X > x) = p Matlab Octave Scilab

p Certified x Win Lin Win Lin Mac Win Lin Mac

1E-8 3.18310E+07 0 0 0 0 0 6.0 6.0 6.01E-11 3.18310E+10 0 0 0 0 0 6.0 6.0 6.01E-12 3.18310E+11 – – – – – 6.0 6.0 6.01E-13 3.18310E+12 0 0 0 0 0 6.0 6.0 6.0

1E-100 3.18310E+99 – – – – – 8.0 8.0 0

32 / 42

Page 65: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Funções de distribuiçãoA lei Poisson

Prλ=200(X = k) Matlab Octave Scilab

k Certificado Win Lin Win Lin Mac Win Lin Mac

0 1.38390E-87 5.6 5.6 6.0 6.0 6.0 7.0 7.0 7.0103 1.41720E-14 1.4 1.4 1.0 1.0 1.0 2.0 0 0315 1.41948E-14 0 0 0 0 0 0 0 0400 5.58069E-36 6.4 6.4 6.0 6.0 6.0 0 0 0900 1.73230E-286 6.0 6.0 6.0 6.0 6.0 0 0 0

33 / 42

Page 66: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Funções de distribuiçãoA lei Poisson

Prλ=200(X = k) Matlab Octave Scilab

k Certificado Win Lin Win Lin Mac Win Lin Mac

0 1.38390E-87 5.6 5.6 6.0 6.0 6.0 7.0 7.0 7.0103 1.41720E-14 1.4 1.4 1.0 1.0 1.0 2.0 0 0315 1.41948E-14 0 0 0 0 0 0 0 0400 5.58069E-36 6.4 6.4 6.0 6.0 6.0 0 0 0900 1.73230E-286 6.0 6.0 6.0 6.0 6.0 0 0 0

Prλ(X ≤ k) Matlab Octave Scilab

k λ Certificado Win Lin Win Lin Mac Win Lin Mac

1E+05 1E+05 0.500841 1.0 1.0 1.0 1.2 1.0 7.0 7.0 7.01E+07 1E+07 0.500084 7.0 7.0 7.0 7.0 7.0 6.0 6.0 6.01E+09 1E+09 0.500008 7.0 7.0 7.0 7.0 7.0 6.0 6.0 6.0

33 / 42

Page 67: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

MatrizesAvaliação do determinante

A matriz

M =

(b bε

s/ε s

)tem determinante nulo para quaisquer b, s, ε.Esse determinante é calculado garantindo que sejam feitas asoperações (bε) e (s/ε), e o aferimos com b = 10j e s = 10−j, paraj ∈ 0, 1, . . . , 15, e

ε = 0. 9 · · · 9︸ ︷︷ ︸k vezes

, k ∈ {1, . . . , 15}.

Foi verificada a igualdade, não o número de dígitos corretos.Das 16× 15 = 240 situações consideradas, todas as plataformasacertaram em 146, ou seja 60% dos casos.

34 / 42

Page 68: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise espectral de grafosGrafos bipartidos

Grafo bipartido K5,3:

w8w7w6

w5w4 w1w3w2

A matriz laplaciana do grafo G é a diferença entre a matriz diagonal degraus D e a matriz de adjacência A.

35 / 42

Page 69: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise espectral de grafos

Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm váriaspropriedades interessantes: λ1 = 0, λm+n = m + n, há n− 1 autovalores quevalem m, e m− 1 autovalores que valem n.Analisamos situações de balanceamento quase perfeito (Km,m+1) e situaçõescom quase o pior balanceamento possível (K2,2m−1), para m ∈ {9, 99, 999}.Verificamos a precisão de vários autovalores, bem como decisões baseadas naigualdade ao valor teórico.

Quanto maior o grafo, pior o resultado

A igual tamanho, desbalanceado é pior

O primeiro e último autovalores retornam bons resultados, sendomelhor o segundo

Sugestão: calcular em precisão dupla, e tomar as decisões em pontoflutuante

36 / 42

Page 70: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise espectral de grafos

Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm váriaspropriedades interessantes: λ1 = 0, λm+n = m + n, há n− 1 autovalores quevalem m, e m− 1 autovalores que valem n.Analisamos situações de balanceamento quase perfeito (Km,m+1) e situaçõescom quase o pior balanceamento possível (K2,2m−1), para m ∈ {9, 99, 999}.Verificamos a precisão de vários autovalores, bem como decisões baseadas naigualdade ao valor teórico.

Quanto maior o grafo, pior o resultado

A igual tamanho, desbalanceado é pior

O primeiro e último autovalores retornam bons resultados, sendomelhor o segundo

Sugestão: calcular em precisão dupla, e tomar as decisões em pontoflutuante

36 / 42

Page 71: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise espectral de grafos

Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm váriaspropriedades interessantes: λ1 = 0, λm+n = m + n, há n− 1 autovalores quevalem m, e m− 1 autovalores que valem n.Analisamos situações de balanceamento quase perfeito (Km,m+1) e situaçõescom quase o pior balanceamento possível (K2,2m−1), para m ∈ {9, 99, 999}.Verificamos a precisão de vários autovalores, bem como decisões baseadas naigualdade ao valor teórico.

Quanto maior o grafo, pior o resultado

A igual tamanho, desbalanceado é pior

O primeiro e último autovalores retornam bons resultados, sendomelhor o segundo

Sugestão: calcular em precisão dupla, e tomar as decisões em pontoflutuante

36 / 42

Page 72: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Análise espectral de grafos

Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm váriaspropriedades interessantes: λ1 = 0, λm+n = m + n, há n− 1 autovalores quevalem m, e m− 1 autovalores que valem n.Analisamos situações de balanceamento quase perfeito (Km,m+1) e situaçõescom quase o pior balanceamento possível (K2,2m−1), para m ∈ {9, 99, 999}.Verificamos a precisão de vários autovalores, bem como decisões baseadas naigualdade ao valor teórico.

Quanto maior o grafo, pior o resultado

A igual tamanho, desbalanceado é pior

O primeiro e último autovalores retornam bons resultados, sendomelhor o segundo

Sugestão: calcular em precisão dupla, e tomar as decisões em pontoflutuante

36 / 42

Page 73: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Solução?Não há solução senão a vigilância constante.

Page 74: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"
Page 75: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Algumas linhas de pesquisa

� Avaliação continuada� Plataforma Web para avaliação

� Proposta de novos protocolos

� Avaliação de outras plataformas

39 / 42

Page 76: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Referencias I

Aliane, N. (2008), ‘Spreadsheet-based control system analysis and design – acommand-oriented toolbox for education’, IEEE Control Systems Magazine28(5), 108–113.

Almeida, E. S., Medeiros, A. C. & Frery, A. C. (2012), ‘How good are Matlab, Octaveand Scilab for computational modelling?’, Computational and Applied Mathematics31(3), 523–538. URL http://ref.scielo.org/wx9rvn.

Almiron, M., Almeida, E. S. & Miranda, M. (2009), ‘The reliability of statisticalfunctions in four software packages freely used in numerical computation’,Brazilian Journal of Probability and Statistics Special Issue on Statistical Image andSignal Processing, 107–119. URL http://www.imstat.org/bjps/.

Almiron, M., Vieira, B. L., Oliveira, A. L. C., Medeiros, A. C. & Frery, A. C. (2010), ‘Onthe numerical accuracy of spreadsheets’, Journal of Statistical Software 34(4), 1–29.URL http://www.jstatsoft.org/v34/i04.

Bäckman, S. (2008), ‘Microeconomics using Excel c©: Integrating economic theory,policy analysis and spreadsheet modelling’, European Review of AgriculturalEconomics 35(2), 247–248.

40 / 42

Page 77: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

Referencias IIBianchi, C., Botta, F., Conte, L., Vanoli, P. & Cerizza, L. (2008), ‘Biological effective

dose evaluation in gynaecological brachytherapy: LDR and HDR treatments,dependence on radiobiological parameters, and treatment optimisation’, RadiologiaMedica 113(7), 1068–1078.

Bollobas, B. (1998), Modern Graph Theory, Springer.

Croll, G. J. (2009), Spreadsheets and the financial collapse, in ‘Proceedings of theEuropean Spreadsheet Risks Interest Group’, pp. 145–161. URLhttp://arxiv.org/pdf/0908.4420, Last checked on January 31, 2010.

Dzik, W. S., Beckman, N., Selleng, K., Heddle, N., Szczepiorkowski, Z., Wendel, S. &Murphy, M. (2008), ‘Errors in patient specimen collection: application of statisticalprocess control’, Transfusion 48(10), 2143–2151.

Powell, S. G., Baker, K. R. & Lawson, B. (2009), ‘Impact of errors in operationalspreadsheets’, Decision Support Systems 47, 126–132.

Roth, J. (2008), ‘Ergebnisse von qualitätskontrollen der individuellen patientendosenin der radioonkologie’, Strahlentherapie und Onkologie 184(10), 505–509.

Zoethout, R. W. M., van Gerven, J. M. A., Dumont, G. J. H., Paltansing, S., van Burgel,N. D., van der Linden, M., Dahan, A., Cohen, A. F. & Schoemaker, R. C. (2008), ‘Acomparative study of two methods for attaining constant alcohol levels’, BritishJournal of Clinical Pharmacology 66(5), 674–681.

41 / 42

Page 78: Análise Numérica Aplicada, ou "Mamãe, Excel dá Errado!"

ContatoAlejandro C. [email protected]://sites.google.com/site/acfreryMestrado em Modelagem Computacional de Conhecimento