SlideShare ist ein Scribd-Unternehmen logo
1 von 78
Downloaden Sie, um offline zu lesen
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
Por que esse tema e esse título?
As razões que me levaram a propor esse tema e esse título são as
seguintes:
1 A análise numérica é um assunto “em baixa” na nossa
comunidade. Muito embora seja medular para a Ciência da
Computação, ele é mais frequentemente trabalhado pelo pessoal
da Matemática Aplicada.
2 A Análise Numérica clássica requer habilidades matemáticas não
triviais, mas veremos um viés diferente: o da Análise Numérica
Aplicada.
3 O Excel c está presente em quase todo lugar... e veremos que a
qualidade das suas respostas é duvidosa.
4 O Matlab c é praticamente uma commodity... e nem sempre é
confiável.
2 / 42
Por que esse tema e esse título?
As razões que me levaram a propor esse tema e esse título são as
seguintes:
1 A análise numérica é um assunto “em baixa” na nossa
comunidade. Muito embora seja medular para a Ciência da
Computação, ele é mais frequentemente trabalhado pelo pessoal
da Matemática Aplicada.
2 A Análise Numérica clássica requer habilidades matemáticas não
triviais, mas veremos um viés diferente: o da Análise Numérica
Aplicada.
3 O Excel c está presente em quase todo lugar... e veremos que a
qualidade das suas respostas é duvidosa.
4 O Matlab c é praticamente uma commodity... e nem sempre é
confiável.
2 / 42
Por que esse tema e esse título?
As razões que me levaram a propor esse tema e esse título são as
seguintes:
1 A análise numérica é um assunto “em baixa” na nossa
comunidade. Muito embora seja medular para a Ciência da
Computação, ele é mais frequentemente trabalhado pelo pessoal
da Matemática Aplicada.
2 A Análise Numérica clássica requer habilidades matemáticas não
triviais, mas veremos um viés diferente: o da Análise Numérica
Aplicada.
3 O Excel c está presente em quase todo lugar... e veremos que a
qualidade das suas respostas é duvidosa.
4 O Matlab c é praticamente uma commodity... e nem sempre é
confiável.
2 / 42
Por que esse tema e esse título?
As razões que me levaram a propor esse tema e esse título são as
seguintes:
1 A análise numérica é um assunto “em baixa” na nossa
comunidade. Muito embora seja medular para a Ciência da
Computação, ele é mais frequentemente trabalhado pelo pessoal
da Matemática Aplicada.
2 A Análise Numérica clássica requer habilidades matemáticas não
triviais, mas veremos um viés diferente: o da Análise Numérica
Aplicada.
3 O Excel c está presente em quase todo lugar... e veremos que a
qualidade das suas respostas é duvidosa.
4 O Matlab c é praticamente uma commodity... e nem sempre é
confiável.
2 / 42
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
Análise das propriedades numéricas de software
O 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 de
serem resolvidas, mas para as quais temos a resposta exata.
4 / 42
Análise das propriedades numéricas de software
O 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 de
serem resolvidas, mas para as quais temos a resposta exata.
4 / 42
Análise das propriedades numéricas de software
O 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 de
serem resolvidas, mas para as quais temos a resposta exata.
4 / 42
Análise das propriedades numéricas de software
O 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ês
sistemas operacionais (Windows, Linux, Mac OS) e dois tipos de
hardware (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 de
números pseudoaleatórios, e operações sobre matrizes.
5 / 42
Análise das propriedades numéricas de software
O 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ês
sistemas operacionais (Windows, Linux, Mac OS) e dois tipos de
hardware (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 de
números pseudoaleatórios, e operações sobre matrizes.
5 / 42
Por que é importante conhecer os defeitos (além das
virtudes) desses dispositivos de software?
Deles dependem decisões bursáteis globais (Croll, 2009; Powell et
al., 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
Por que é importante conhecer os defeitos (além das
virtudes) desses dispositivos de software?
Deles dependem decisões bursáteis globais (Croll, 2009; Powell et
al., 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
Por que é importante conhecer os defeitos (além das
virtudes) desses dispositivos de software?
Deles dependem decisões bursáteis globais (Croll, 2009; Powell et
al., 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
Por que é importante conhecer os defeitos (além das
virtudes) desses dispositivos de software?
Deles dependem decisões bursáteis globais (Croll, 2009; Powell et
al., 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
Por que é importante conhecer os defeitos (além das
virtudes) desses dispositivos de software?
Deles dependem decisões bursáteis globais (Croll, 2009; Powell et
al., 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
Por que é importante conhecer os defeitos (além das
virtudes) desses dispositivos de software?
Deles dependem decisões bursáteis globais (Croll, 2009; Powell et
al., 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
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
Rationale
Não temos acesso ao código fonte das planilhas para verificar a
qualidade numérica da implementação
A metodologia consiste em alimentar as planilhas com conjuntos
de dados, e fazer operações para as quais sabemos as repostas
certas
Feito isso, compararemos as respostas fornecidas com as respostas
certificadas
A seguir definiremos a comparação.
8 / 42
Rationale
Não temos acesso ao código fonte das planilhas para verificar a
qualidade numérica da implementação
A metodologia consiste em alimentar as planilhas com conjuntos
de dados, e fazer operações para as quais sabemos as repostas
certas
Feito isso, compararemos as respostas fornecidas com as respostas
certificadas
A seguir definiremos a comparação.
8 / 42
Rationale
Não temos acesso ao código fonte das planilhas para verificar a
qualidade numérica da implementação
A metodologia consiste em alimentar as planilhas com conjuntos
de dados, e fazer operações para as quais sabemos as repostas
certas
Feito isso, compararemos as respostas fornecidas com as respostas
certificadas
A seguir definiremos a comparação.
8 / 42
Rationale
Não temos acesso ao código fonte das planilhas para verificar a
qualidade numérica da implementação
A metodologia consiste em alimentar as planilhas com conjuntos
de dados, e fazer operações para as quais sabemos as repostas
certas
Feito isso, compararemos as respostas fornecidas com as respostas
certificadas
A seguir definiremos a comparação.
8 / 42
Rationale
Não temos acesso ao código fonte das planilhas para verificar a
qualidade numérica da implementação
A metodologia consiste em alimentar as planilhas com conjuntos
de dados, e fazer operações para as quais sabemos as repostas
certas
Feito isso, compararemos as respostas fornecidas com as respostas
certificadas
A seguir definiremos a comparação.
8 / 42
Log-Relative Error
Definição
LRE(x, c) =
− log10
|x−c|
|c|
se c = 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
Log-Relative Error
Definição
LRE(x, c) =
− log10
|x−c|
|c|
se c = 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
Dados
Statistical Reference Datasets (StRD)
National Institute of Standards and Technology (NIST)
Classificação: low, average e high
Tipo de dados: observados (reais) e construídos
Dígitos significativos: 15 (StRD), 11 (StRD - Regressão Não
Linear) ou 6 (Mathematica)
Resultados analíticos, Mathematica e outras plataformas de
software amplamente validadas
10 / 42
Funcionalidades analisadas
Média Amostral
Desvio Padrão
Coeficiente de Autocorrelação de Primeira Ordem
Estatístico F de ANOVA
Regresões Linear e Não Linear
Geração de Números Pseudo-Aleatórios
Várias Funções de Distribuição
Operações sobre matrizes (somente para Matlab, Octave e SciLab)
Sempre que possível, verifica-se que o algoritmo empregado pela
plataforma seja o mesmo utilizado para obter o valor certificado.
11 / 42
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
Planilhas Avaliadas
Plataformas avaliadas
Microsoft Excel
OpenOficce.org Calc
GNU Gnumeric
NeoOffice Calc
GNU Oleo
Motivação
Difundidas
Portáveis
Sofisticadas, em tese
Usabilidade (mamãe!)
Necessitam de poucos
recursos
13 / 42
Planilhas Avaliadas
Plataformas avaliadas
Microsoft Excel
OpenOficce.org Calc
GNU Gnumeric
NeoOffice Calc
GNU Oleo
Motivação
Difundidas
Portáveis
Sofisticadas, em tese
Usabilidade (mamãe!)
Necessitam de poucos
recursos
13 / 42
Planilhas Avaliadas
Plataformas avaliadas
Microsoft Excel
OpenOficce.org Calc
GNU Gnumeric
NeoOffice Calc
GNU Oleo
Motivação
Difundidas
Portáveis
Sofisticadas, em tese
Usabilidade (mamãe!)
Necessitam de poucos
recursos
13 / 42
Planilhas Avaliadas
Plataformas avaliadas
Microsoft Excel
OpenOficce.org Calc
GNU Gnumeric
NeoOffice Calc
GNU Oleo
Motivação
Difundidas
Portáveis
Sofisticadas, em tese
Usabilidade (mamãe!)
Necessitam de poucos
recursos
13 / 42
Planilhas Avaliadas
Plataformas avaliadas
Microsoft Excel
OpenOficce.org Calc
GNU Gnumeric
NeoOffice Calc
GNU Oleo
Motivação
Difundidas
Portáveis
Sofisticadas, em tese
Usabilidade (mamãe!)
Necessitam de poucos
recursos
13 / 42
Planilhas Avaliadas
Plataformas avaliadas
Microsoft Excel
OpenOficce.org Calc
GNU Gnumeric
NeoOffice Calc
GNU Oleo
Motivação
Difundidas
Portáveis
Sofisticadas, em tese
Usabilidade (mamãe!)
Necessitam de poucos
recursos
13 / 42
Média Amostral
xn =
1
n
n
∑
i=1
xi =
n − 1
n
xn−1 +
1
n
xn
Datasets
Calc
Excel
Gnumeric
NeoOffice
Oleo
Lew (l) 15.0 15.0 15.0 15.0 15.0
Lottery (l) 15.0 15.0 15.0 15.0 15.0
Mavro (l) 15.0 15.0 15.0 15.0 15.0
Michelso (l) 15.0 15.0 15.0 15.0 15.0
NumAcc1 (l) 15.0 15.0 15.0 15.0 6.6
PiDigits (l) 15.0 15.0 15.0 15.0 15.0
NumAcc2 (a) 14.0 14.0 15.0 14.0 13.9
NumAcc3 (a) 15.0 15.0 15.0 15.0 6.6
NumAcc4 (h) 13.9 13.9 15.0 13.9 7.6
14 / 42
Média Amostral
xn =
1
n
n
∑
i=1
xi =
n − 1
n
xn−1 +
1
n
xn
Datasets
Calc
Excel
Gnumeric
NeoOffice
Oleo
Lew (l) 15.0 15.0 15.0 15.0 15.0
Lottery (l) 15.0 15.0 15.0 15.0 15.0
Mavro (l) 15.0 15.0 15.0 15.0 15.0
Michelso (l) 15.0 15.0 15.0 15.0 15.0
NumAcc1 (l) 15.0 15.0 15.0 15.0 6.6
PiDigits (l) 15.0 15.0 15.0 15.0 15.0
NumAcc2 (a) 14.0 14.0 15.0 14.0 13.9
NumAcc3 (a) 15.0 15.0 15.0 15.0 6.6
NumAcc4 (h) 13.9 13.9 15.0 13.9 7.6
14 / 42
Desvio Padrão
sn =
1
n
n
∑
i=1
(xi − xn)2 =
n − 1
n
sn−1 +
1
n − 1
(xn − xn)2
Datasets Calc
Excel07
Excel08
Gnumeric
NeoOffice
Oleo
Lew (l) 15.0 15.0 15.0 15.0 15.0 15.0
Lottery (l) 15.0 15.0 15.0 15.0 15.0 15.0
Mavro (l) 12.9 12.9 9.4 12.9 12.9 8.8
Michelso (l) 13.8 13.8 8.2 13.8 13.8 8.2
NumAcc1 (l) 15.0 15.0 15.0 15.0 15.0 –
PiDigits (l) 15.0 15.0 15.0 15.0 15.0 15.0
NumAcc2 (a) 15.0 11.5 11.5 15.0 15.0 12.5
NumAcc3 (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
Desvio Padrão
sn =
1
n
n
∑
i=1
(xi − xn)2 =
n − 1
n
sn−1 +
1
n − 1
(xn − xn)2
Datasets Calc
Excel07
Excel08
Gnumeric
NeoOffice
Oleo
Lew (l) 15.0 15.0 15.0 15.0 15.0 15.0
Lottery (l) 15.0 15.0 15.0 15.0 15.0 15.0
Mavro (l) 12.9 12.9 9.4 12.9 12.9 8.8
Michelso (l) 13.8 13.8 8.2 13.8 13.8 8.2
NumAcc1 (l) 15.0 15.0 15.0 15.0 15.0 –
PiDigits (l) 15.0 15.0 15.0 15.0 15.0 15.0
NumAcc2 (a) 15.0 11.5 11.5 15.0 15.0 12.5
NumAcc3 (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
Coeficiente de Autocorrelação
r
(1)
n =
1
(n − 1)s2
n
n
∑
i=1
(xi−1 − xn)(xi − xn)
Calc Excel NeoOffice
Datasets †/‡ 07/08 Gnumeric 2.2.5/3.0
Lew (l) 5.0 5.0 5.0 5.0
Lottery (l) 3.5 3.5 3.5 3.5
Mavro (l) 4.1 4.1 4.1 4.1
Michelso (l) 5.9 5.9/5.8 5.9 5.9
NumAcc1 (l) 15.0 15.0 15.0 15.0
PiDigits (l) 5.3 5.3 5.3 5.3
NumAcc2 (a) 14.4/15.0 11.3 15.0 11.5/15.0
NumAcc3 (a) 12.3 12.3/0.9 12.2 –/12.2
NumAcc4 (h) 11.0 11.0/NA 11.0 –/11.0
†Versão para Ubuntu
‡Versões para Mac OS e Windows
16 / 42
ANOVA
Datasets Excel 07 Gnumeric
SiRstv (l) 13.0 13.0
SmLs01 (l) 15.0 15.0
SmLs02 (l) 13.8 15.0
SmLs03 (l) 13.0 15.0
AtmWtAg (a) 10.1 10.1
SmLs04 (a) 10.4 10.4
SmLs05 (a) 10.2 10.2
SmLs06 (a) 10.1 10.1
SmLs07 (h) 4.1 4.4
SmLs08 (h) 1.8 4.1
SmLs09 (h) – 4.1
17 / 42
Regressão Linear
Excel 2007 apresenta os melhores resultados, divergindo em um
caso do Excel 2008 (pior).
Em apenas dois datasets atingiu-se 15 dígitos de precisão.
18 / 42
Regressão Linear
Excel 2007 apresenta os melhores resultados, divergindo em um
caso do Excel 2008 (pior).
Em apenas dois datasets atingiu-se 15 dígitos de precisão.
18 / 42
Regressão Não Linear
Nenhuma das planilhas apresenta resultados confiáveis.
Os melhores resultados obtidos provém de algoritmos
não-determinísticos nas planilhas OpenOffice.org Calc e
NeoOffice Calc
19 / 42
Regressão Não Linear
Nenhuma das planilhas apresenta resultados confiáveis.
Os melhores resultados obtidos provém de algoritmos
não-determinísticos nas planilhas OpenOffice.org Calc e
NeoOffice Calc
19 / 42
Regressão Não Linear
20 / 42
Geradores de Números Pseudo-Aleatórios
Propriedades desejadas
1 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.
C
alc
Excel2007
Excel2008
G
num
eric
N
eoO
ffice
O
leo
Documentação " "% % " % %
21 / 42
Geradores de Números Pseudo-Aleatórios
Propriedades desejadas
1 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.
C
alc
Excel2007
Excel2008
G
num
eric
N
eoO
ffice
O
leo
Documentação " "% % " % %
Semente % " % % % %
21 / 42
Alguns resultados
Nenhuma das planilhas apresenta resultados confiáveis.
Para muitas das distruições avaliadas Gnumeric apresenta bons
resultados.
Nenhuma planilha conseque sequer um dígito de precisão para
duas distribuições.
Simulações Monte Carlo não devem ser processadas em planilhas.
22 / 42
Alguns resultados
Nenhuma das planilhas apresenta resultados confiáveis.
Para muitas das distruições avaliadas Gnumeric apresenta bons
resultados.
Nenhuma planilha conseque sequer um dígito de precisão para
duas distribuições.
Simulações Monte Carlo não devem ser processadas em planilhas.
22 / 42
Alguns resultados
Nenhuma das planilhas apresenta resultados confiáveis.
Para muitas das distruições avaliadas Gnumeric apresenta bons
resultados.
Nenhuma planilha conseque sequer um dígito de precisão para
duas distribuições.
Simulações Monte Carlo não devem ser processadas em planilhas.
22 / 42
Alguns resultados
Nenhuma das planilhas apresenta resultados confiáveis.
Para muitas das distruições avaliadas Gnumeric apresenta bons
resultados.
Nenhuma planilha conseque sequer um dígito de precisão para
duas distribuições.
Simulações Monte Carlo não devem ser processadas em planilhas.
22 / 42
Conclusões
Nenhuma das planilhas é confiável para fins estatísticos sérios.
Oleo deve ser utilizado somente quando não houver
disponibilidade de interface gráfica.
Experimentos Monte Carlo não devem ser realizados em
planilhas eletrônicas.
Aconselha-se utilizar outras plataformas, sendo R a mais
recomendável.
23 / 42
Conclusões
Nenhuma das planilhas é confiável para fins estatísticos sérios.
Oleo deve ser utilizado somente quando não houver
disponibilidade de interface gráfica.
Experimentos Monte Carlo não devem ser realizados em
planilhas eletrônicas.
Aconselha-se utilizar outras plataformas, sendo R a mais
recomendável.
23 / 42
Conclusões
Nenhuma das planilhas é confiável para fins estatísticos sérios.
Oleo deve ser utilizado somente quando não houver
disponibilidade de interface gráfica.
Experimentos Monte Carlo não devem ser realizados em
planilhas eletrônicas.
Aconselha-se utilizar outras plataformas, sendo R a mais
recomendável.
23 / 42
Conclusões
Nenhuma das planilhas é confiável para fins estatísticos sérios.
Oleo deve ser utilizado somente quando não houver
disponibilidade de interface gráfica.
Experimentos Monte Carlo não devem ser realizados em
planilhas eletrônicas.
Aconselha-se utilizar outras plataformas, sendo R a mais
recomendável.
23 / 42
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
Jonathan D. Cryer
“Friends don’t let friends use Excel for statistics!”
(JSM 2001, Atlanta)
25 / 42
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
Metodologia
A mesma metodologia foi aplicada a Octave, (academic) Ox, Python,
R, SciLab e Matlab.
Em alguns casos acrescentamos um estudo Monte Carlo da
estabilidade dos resultados (omitido aqui por brevidade).
27 / 42
Estatísticas básicas
Média
Platform OS
PiDigits
Lottery
Lew
Mavro
Michelso
Numacc1
Numacc2
Numacc3
Numacc4
Octave
Windows 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 Inf
Mac 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.9
Linux 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
Scilab
Windows 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.7
Mac OS Inf(0) 8.1(7.92) Inf(0) Inf(0.33) Inf(0.43) Inf Inf Inf 7.7
28 / 42
Estatísticas básicas
Desvio padrão
Platform OS
PiDigits
Lottery
Lew
Mavro
Michelso
Numacc1
Numacc2
Numacc3
Numacc4
Octave
Windows 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 Inf
Mac 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.2
Linux 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
Scilab
Windows 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 Inf
Mac 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
Estatísticas básicas
Correlação de primeira ordem
Platform OS
PiDigits
Lottery
Lew
Mavro
Michelso
Numacc1
Numacc2
Numacc3
Numacc4
Octave
Windows 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.3
Mac 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.3
Linux 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
Scilab
Windows – – – 0(1.75) 0(2.09) 0.5 0 0 0
Linux – – – 0(2.09) 0(2.09) 0.5 0 0 0
Mac OS – 0(2.39) 0(2.40) 0(1.75) 0(2.09) 0.5 0 0 0
30 / 42
Conclusões sobre estatísticas básicas
Octave sofre para calcular a média de dados de baixa
complexidade, mas é o melhor para o desvio padrão (SciLab é o
pior para este último).
SciLab é também a pior plataforma para a correlação, mas
nenhuma se saiu bem.
31 / 42
Funções de distribuição
A 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.0
1E-11 3.18310E+10 0 0 0 0 0 6.0 6.0 6.0
1E-12 3.18310E+11 – – – – – 6.0 6.0 6.0
1E-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
Funções de distribuição
A 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.0
103 1.41720E-14 1.4 1.4 1.0 1.0 1.0 2.0 0 0
315 1.41948E-14 0 0 0 0 0 0 0 0
400 5.58069E-36 6.4 6.4 6.0 6.0 6.0 0 0 0
900 1.73230E-286 6.0 6.0 6.0 6.0 6.0 0 0 0
33 / 42
Funções de distribuição
A 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.0
103 1.41720E-14 1.4 1.4 1.0 1.0 1.0 2.0 0 0
315 1.41948E-14 0 0 0 0 0 0 0 0
400 5.58069E-36 6.4 6.4 6.0 6.0 6.0 0 0 0
900 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.0
1E+07 1E+07 0.500084 7.0 7.0 7.0 7.0 7.0 6.0 6.0 6.0
1E+09 1E+09 0.500008 7.0 7.0 7.0 7.0 7.0 6.0 6.0 6.0
33 / 42
Matrizes
Avaliação do determinante
A matriz
M =
b bε
s/ε s
tem determinante nulo para quaisquer b, s, .
Esse determinante é calculado garantindo que sejam feitas as
operações (bε) e (s/ε), e o aferimos com b = 10j e s = 10−j, para
j ∈ 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 plataformas
acertaram em 146, ou seja 60% dos casos.
34 / 42
Análise espectral de grafos
Grafos bipartidos
Grafo bipartido K5,3:
w8w7w6
w5w4 w1w3w2
A matriz laplaciana do grafo G é a diferença entre a matriz diagonal de
graus D e a matriz de adjacência A.
35 / 42
Análise espectral de grafos
Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm várias
propriedades interessantes: λ1 = 0, λm+n = m + n, há n − 1 autovalores que
valem m, e m − 1 autovalores que valem n.
Analisamos situações de balanceamento quase perfeito (Km,m+1) e situações
com 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 na
igualdade ao valor teórico.
Quanto maior o grafo, pior o resultado
A igual tamanho, desbalanceado é pior
O primeiro e último autovalores retornam bons resultados, sendo
melhor o segundo
Sugestão: calcular em precisão dupla, e tomar as decisões em ponto
flutuante
36 / 42
Análise espectral de grafos
Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm várias
propriedades interessantes: λ1 = 0, λm+n = m + n, há n − 1 autovalores que
valem m, e m − 1 autovalores que valem n.
Analisamos situações de balanceamento quase perfeito (Km,m+1) e situações
com 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 na
igualdade ao valor teórico.
Quanto maior o grafo, pior o resultado
A igual tamanho, desbalanceado é pior
O primeiro e último autovalores retornam bons resultados, sendo
melhor o segundo
Sugestão: calcular em precisão dupla, e tomar as decisões em ponto
flutuante
36 / 42
Análise espectral de grafos
Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm várias
propriedades interessantes: λ1 = 0, λm+n = m + n, há n − 1 autovalores que
valem m, e m − 1 autovalores que valem n.
Analisamos situações de balanceamento quase perfeito (Km,m+1) e situações
com 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 na
igualdade ao valor teórico.
Quanto maior o grafo, pior o resultado
A igual tamanho, desbalanceado é pior
O primeiro e último autovalores retornam bons resultados, sendo
melhor o segundo
Sugestão: calcular em precisão dupla, e tomar as decisões em ponto
flutuante
36 / 42
Análise espectral de grafos
Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm várias
propriedades interessantes: λ1 = 0, λm+n = m + n, há n − 1 autovalores que
valem m, e m − 1 autovalores que valem n.
Analisamos situações de balanceamento quase perfeito (Km,m+1) e situações
com 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 na
igualdade ao valor teórico.
Quanto maior o grafo, pior o resultado
A igual tamanho, desbalanceado é pior
O primeiro e último autovalores retornam bons resultados, sendo
melhor o segundo
Sugestão: calcular em precisão dupla, e tomar as decisões em ponto
flutuante
36 / 42
Solução?
Não há solução senão a vigilância constante.
Algumas linhas de pesquisa
 Avaliação continuada
 Plataforma Web para avaliação
 Proposta de novos protocolos
 Avaliação de outras plataformas
39 / 42
Referencias I
Aliane, N. (2008), ‘Spreadsheet-based control system analysis and design – a
command-oriented toolbox for education’, IEEE Control Systems Magazine
28(5), 108–113.
Almeida, E. S., Medeiros, A. C.  Frery, A. C. (2012), ‘How good are Matlab, Octave
and Scilab for computational modelling?’, Computational and Applied Mathematics
31(3), 523–538. URL http://ref.scielo.org/wx9rvn.
Almiron, M., Almeida, E. S.  Miranda, M. (2009), ‘The reliability of statistical
functions in four software packages freely used in numerical computation’,
Brazilian Journal of Probability and Statistics Special Issue on Statistical Image and
Signal 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), ‘On
the 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 Agricultural
Economics 35(2), 247–248.
40 / 42
Referencias II
Bianchi, 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’, Radiologia
Medica 113(7), 1068–1078.
Bollobas, B. (1998), Modern Graph Theory, Springer.
Croll, G. J. (2009), Spreadsheets and the financial collapse, in ‘Proceedings of the
European Spreadsheet Risks Interest Group’, pp. 145–161. URL
http://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 statistical
process control’, Transfusion 48(10), 2143–2151.
Powell, S. G., Baker, K. R.  Lawson, B. (2009), ‘Impact of errors in operational
spreadsheets’, Decision Support Systems 47, 126–132.
Roth, J. (2008), ‘Ergebnisse von qualitätskontrollen der individuellen patientendosen
in 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), ‘A
comparative study of two methods for attaining constant alcohol levels’, British
Journal of Clinical Pharmacology 66(5), 674–681.
41 / 42
Contato
Alejandro C. Frery
acfrery@gmail.com
http://sites.google.com/site/acfrery
Mestrado em Modelagem Computacional de Conhecimento

Weitere ähnliche Inhalte

Andere mochten auch

Notação científica
Notação científicaNotação científica
Notação científicaTaiscecili
 
Apresentação de Trabalho Final de Curso
Apresentação de Trabalho Final de CursoApresentação de Trabalho Final de Curso
Apresentação de Trabalho Final de Cursohnsantana
 
Diferenciação e Integração Numérica - @professorenan
Diferenciação e Integração Numérica - @professorenanDiferenciação e Integração Numérica - @professorenan
Diferenciação e Integração Numérica - @professorenanRenan Gustavo
 
Física II Presentación
Física II PresentaciónFísica II Presentación
Física II Presentaciónpaocuspoca
 
Introdução à Engenharia - Notação Numérica
Introdução à Engenharia - Notação NuméricaIntrodução à Engenharia - Notação Numérica
Introdução à Engenharia - Notação NuméricaFatureto
 

Andere mochten auch (6)

Notação científica
Notação científicaNotação científica
Notação científica
 
Apresentação de Trabalho Final de Curso
Apresentação de Trabalho Final de CursoApresentação de Trabalho Final de Curso
Apresentação de Trabalho Final de Curso
 
Diferenciação e Integração Numérica - @professorenan
Diferenciação e Integração Numérica - @professorenanDiferenciação e Integração Numérica - @professorenan
Diferenciação e Integração Numérica - @professorenan
 
Física II Presentación
Física II PresentaciónFísica II Presentación
Física II Presentación
 
Física II - notas de aula
Física II -  notas de aulaFísica II -  notas de aula
Física II - notas de aula
 
Introdução à Engenharia - Notação Numérica
Introdução à Engenharia - Notação NuméricaIntrodução à Engenharia - Notação Numérica
Introdução à Engenharia - Notação Numérica
 

Análise Numérica Aplicada Excel Matlab

  • 1. 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
  • 2. Por que esse tema e esse título? As razões que me levaram a propor esse tema e esse título são as seguintes: 1 A análise numérica é um assunto “em baixa” na nossa comunidade. Muito embora seja medular para a Ciência da Computação, ele é mais frequentemente trabalhado pelo pessoal da Matemática Aplicada. 2 A Análise Numérica clássica requer habilidades matemáticas não triviais, mas veremos um viés diferente: o da Análise Numérica Aplicada. 3 O Excel c está presente em quase todo lugar... e veremos que a qualidade das suas respostas é duvidosa. 4 O Matlab c é praticamente uma commodity... e nem sempre é confiável. 2 / 42
  • 3. Por que esse tema e esse título? As razões que me levaram a propor esse tema e esse título são as seguintes: 1 A análise numérica é um assunto “em baixa” na nossa comunidade. Muito embora seja medular para a Ciência da Computação, ele é mais frequentemente trabalhado pelo pessoal da Matemática Aplicada. 2 A Análise Numérica clássica requer habilidades matemáticas não triviais, mas veremos um viés diferente: o da Análise Numérica Aplicada. 3 O Excel c está presente em quase todo lugar... e veremos que a qualidade das suas respostas é duvidosa. 4 O Matlab c é praticamente uma commodity... e nem sempre é confiável. 2 / 42
  • 4. Por que esse tema e esse título? As razões que me levaram a propor esse tema e esse título são as seguintes: 1 A análise numérica é um assunto “em baixa” na nossa comunidade. Muito embora seja medular para a Ciência da Computação, ele é mais frequentemente trabalhado pelo pessoal da Matemática Aplicada. 2 A Análise Numérica clássica requer habilidades matemáticas não triviais, mas veremos um viés diferente: o da Análise Numérica Aplicada. 3 O Excel c está presente em quase todo lugar... e veremos que a qualidade das suas respostas é duvidosa. 4 O Matlab c é praticamente uma commodity... e nem sempre é confiável. 2 / 42
  • 5. Por que esse tema e esse título? As razões que me levaram a propor esse tema e esse título são as seguintes: 1 A análise numérica é um assunto “em baixa” na nossa comunidade. Muito embora seja medular para a Ciência da Computação, ele é mais frequentemente trabalhado pelo pessoal da Matemática Aplicada. 2 A Análise Numérica clássica requer habilidades matemáticas não triviais, mas veremos um viés diferente: o da Análise Numérica Aplicada. 3 O Excel c está presente em quase todo lugar... e veremos que a qualidade das suas respostas é duvidosa. 4 O Matlab c é praticamente uma commodity... e nem sempre é confiável. 2 / 42
  • 6. 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
  • 7. Análise das propriedades numéricas de software O 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 de serem resolvidas, mas para as quais temos a resposta exata. 4 / 42
  • 8. Análise das propriedades numéricas de software O 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 de serem resolvidas, mas para as quais temos a resposta exata. 4 / 42
  • 9. Análise das propriedades numéricas de software O 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 de serem resolvidas, mas para as quais temos a resposta exata. 4 / 42
  • 10. Análise das propriedades numéricas de software O 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ês sistemas operacionais (Windows, Linux, Mac OS) e dois tipos de hardware (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 de números pseudoaleatórios, e operações sobre matrizes. 5 / 42
  • 11. Análise das propriedades numéricas de software O 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ês sistemas operacionais (Windows, Linux, Mac OS) e dois tipos de hardware (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 de números pseudoaleatórios, e operações sobre matrizes. 5 / 42
  • 12. Por que é importante conhecer os defeitos (além das virtudes) desses dispositivos de software? Deles dependem decisões bursáteis globais (Croll, 2009; Powell et al., 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
  • 13. Por que é importante conhecer os defeitos (além das virtudes) desses dispositivos de software? Deles dependem decisões bursáteis globais (Croll, 2009; Powell et al., 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
  • 14. Por que é importante conhecer os defeitos (além das virtudes) desses dispositivos de software? Deles dependem decisões bursáteis globais (Croll, 2009; Powell et al., 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
  • 15. Por que é importante conhecer os defeitos (além das virtudes) desses dispositivos de software? Deles dependem decisões bursáteis globais (Croll, 2009; Powell et al., 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
  • 16. Por que é importante conhecer os defeitos (além das virtudes) desses dispositivos de software? Deles dependem decisões bursáteis globais (Croll, 2009; Powell et al., 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
  • 17. Por que é importante conhecer os defeitos (além das virtudes) desses dispositivos de software? Deles dependem decisões bursáteis globais (Croll, 2009; Powell et al., 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
  • 18. 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
  • 19. Rationale Não temos acesso ao código fonte das planilhas para verificar a qualidade numérica da implementação A metodologia consiste em alimentar as planilhas com conjuntos de dados, e fazer operações para as quais sabemos as repostas certas Feito isso, compararemos as respostas fornecidas com as respostas certificadas A seguir definiremos a comparação. 8 / 42
  • 20. Rationale Não temos acesso ao código fonte das planilhas para verificar a qualidade numérica da implementação A metodologia consiste em alimentar as planilhas com conjuntos de dados, e fazer operações para as quais sabemos as repostas certas Feito isso, compararemos as respostas fornecidas com as respostas certificadas A seguir definiremos a comparação. 8 / 42
  • 21. Rationale Não temos acesso ao código fonte das planilhas para verificar a qualidade numérica da implementação A metodologia consiste em alimentar as planilhas com conjuntos de dados, e fazer operações para as quais sabemos as repostas certas Feito isso, compararemos as respostas fornecidas com as respostas certificadas A seguir definiremos a comparação. 8 / 42
  • 22. Rationale Não temos acesso ao código fonte das planilhas para verificar a qualidade numérica da implementação A metodologia consiste em alimentar as planilhas com conjuntos de dados, e fazer operações para as quais sabemos as repostas certas Feito isso, compararemos as respostas fornecidas com as respostas certificadas A seguir definiremos a comparação. 8 / 42
  • 23. Rationale Não temos acesso ao código fonte das planilhas para verificar a qualidade numérica da implementação A metodologia consiste em alimentar as planilhas com conjuntos de dados, e fazer operações para as quais sabemos as repostas certas Feito isso, compararemos as respostas fornecidas com as respostas certificadas A seguir definiremos a comparação. 8 / 42
  • 24. Log-Relative Error Definição LRE(x, c) = − log10 |x−c| |c| se c = 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
  • 25. Log-Relative Error Definição LRE(x, c) = − log10 |x−c| |c| se c = 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
  • 26. Dados Statistical Reference Datasets (StRD) National Institute of Standards and Technology (NIST) Classificação: low, average e high Tipo de dados: observados (reais) e construídos Dígitos significativos: 15 (StRD), 11 (StRD - Regressão Não Linear) ou 6 (Mathematica) Resultados analíticos, Mathematica e outras plataformas de software amplamente validadas 10 / 42
  • 27. Funcionalidades analisadas Média Amostral Desvio Padrão Coeficiente de Autocorrelação de Primeira Ordem Estatístico F de ANOVA Regresões Linear e Não Linear Geração de Números Pseudo-Aleatórios Várias Funções de Distribuição Operações sobre matrizes (somente para Matlab, Octave e SciLab) Sempre que possível, verifica-se que o algoritmo empregado pela plataforma seja o mesmo utilizado para obter o valor certificado. 11 / 42
  • 28. 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
  • 29. Planilhas Avaliadas Plataformas avaliadas Microsoft Excel OpenOficce.org Calc GNU Gnumeric NeoOffice Calc GNU Oleo Motivação Difundidas Portáveis Sofisticadas, em tese Usabilidade (mamãe!) Necessitam de poucos recursos 13 / 42
  • 30. Planilhas Avaliadas Plataformas avaliadas Microsoft Excel OpenOficce.org Calc GNU Gnumeric NeoOffice Calc GNU Oleo Motivação Difundidas Portáveis Sofisticadas, em tese Usabilidade (mamãe!) Necessitam de poucos recursos 13 / 42
  • 31. Planilhas Avaliadas Plataformas avaliadas Microsoft Excel OpenOficce.org Calc GNU Gnumeric NeoOffice Calc GNU Oleo Motivação Difundidas Portáveis Sofisticadas, em tese Usabilidade (mamãe!) Necessitam de poucos recursos 13 / 42
  • 32. Planilhas Avaliadas Plataformas avaliadas Microsoft Excel OpenOficce.org Calc GNU Gnumeric NeoOffice Calc GNU Oleo Motivação Difundidas Portáveis Sofisticadas, em tese Usabilidade (mamãe!) Necessitam de poucos recursos 13 / 42
  • 33. Planilhas Avaliadas Plataformas avaliadas Microsoft Excel OpenOficce.org Calc GNU Gnumeric NeoOffice Calc GNU Oleo Motivação Difundidas Portáveis Sofisticadas, em tese Usabilidade (mamãe!) Necessitam de poucos recursos 13 / 42
  • 34. Planilhas Avaliadas Plataformas avaliadas Microsoft Excel OpenOficce.org Calc GNU Gnumeric NeoOffice Calc GNU Oleo Motivação Difundidas Portáveis Sofisticadas, em tese Usabilidade (mamãe!) Necessitam de poucos recursos 13 / 42
  • 35. Média Amostral xn = 1 n n ∑ i=1 xi = n − 1 n xn−1 + 1 n xn Datasets Calc Excel Gnumeric NeoOffice Oleo Lew (l) 15.0 15.0 15.0 15.0 15.0 Lottery (l) 15.0 15.0 15.0 15.0 15.0 Mavro (l) 15.0 15.0 15.0 15.0 15.0 Michelso (l) 15.0 15.0 15.0 15.0 15.0 NumAcc1 (l) 15.0 15.0 15.0 15.0 6.6 PiDigits (l) 15.0 15.0 15.0 15.0 15.0 NumAcc2 (a) 14.0 14.0 15.0 14.0 13.9 NumAcc3 (a) 15.0 15.0 15.0 15.0 6.6 NumAcc4 (h) 13.9 13.9 15.0 13.9 7.6 14 / 42
  • 36. Média Amostral xn = 1 n n ∑ i=1 xi = n − 1 n xn−1 + 1 n xn Datasets Calc Excel Gnumeric NeoOffice Oleo Lew (l) 15.0 15.0 15.0 15.0 15.0 Lottery (l) 15.0 15.0 15.0 15.0 15.0 Mavro (l) 15.0 15.0 15.0 15.0 15.0 Michelso (l) 15.0 15.0 15.0 15.0 15.0 NumAcc1 (l) 15.0 15.0 15.0 15.0 6.6 PiDigits (l) 15.0 15.0 15.0 15.0 15.0 NumAcc2 (a) 14.0 14.0 15.0 14.0 13.9 NumAcc3 (a) 15.0 15.0 15.0 15.0 6.6 NumAcc4 (h) 13.9 13.9 15.0 13.9 7.6 14 / 42
  • 37. Desvio Padrão sn = 1 n n ∑ i=1 (xi − xn)2 = n − 1 n sn−1 + 1 n − 1 (xn − xn)2 Datasets Calc Excel07 Excel08 Gnumeric NeoOffice Oleo Lew (l) 15.0 15.0 15.0 15.0 15.0 15.0 Lottery (l) 15.0 15.0 15.0 15.0 15.0 15.0 Mavro (l) 12.9 12.9 9.4 12.9 12.9 8.8 Michelso (l) 13.8 13.8 8.2 13.8 13.8 8.2 NumAcc1 (l) 15.0 15.0 15.0 15.0 15.0 – PiDigits (l) 15.0 15.0 15.0 15.0 15.0 15.0 NumAcc2 (a) 15.0 11.5 11.5 15.0 15.0 12.5 NumAcc3 (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
  • 38. Desvio Padrão sn = 1 n n ∑ i=1 (xi − xn)2 = n − 1 n sn−1 + 1 n − 1 (xn − xn)2 Datasets Calc Excel07 Excel08 Gnumeric NeoOffice Oleo Lew (l) 15.0 15.0 15.0 15.0 15.0 15.0 Lottery (l) 15.0 15.0 15.0 15.0 15.0 15.0 Mavro (l) 12.9 12.9 9.4 12.9 12.9 8.8 Michelso (l) 13.8 13.8 8.2 13.8 13.8 8.2 NumAcc1 (l) 15.0 15.0 15.0 15.0 15.0 – PiDigits (l) 15.0 15.0 15.0 15.0 15.0 15.0 NumAcc2 (a) 15.0 11.5 11.5 15.0 15.0 12.5 NumAcc3 (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
  • 39. Coeficiente de Autocorrelação r (1) n = 1 (n − 1)s2 n n ∑ i=1 (xi−1 − xn)(xi − xn) Calc Excel NeoOffice Datasets †/‡ 07/08 Gnumeric 2.2.5/3.0 Lew (l) 5.0 5.0 5.0 5.0 Lottery (l) 3.5 3.5 3.5 3.5 Mavro (l) 4.1 4.1 4.1 4.1 Michelso (l) 5.9 5.9/5.8 5.9 5.9 NumAcc1 (l) 15.0 15.0 15.0 15.0 PiDigits (l) 5.3 5.3 5.3 5.3 NumAcc2 (a) 14.4/15.0 11.3 15.0 11.5/15.0 NumAcc3 (a) 12.3 12.3/0.9 12.2 –/12.2 NumAcc4 (h) 11.0 11.0/NA 11.0 –/11.0 †Versão para Ubuntu ‡Versões para Mac OS e Windows 16 / 42
  • 40. ANOVA Datasets Excel 07 Gnumeric SiRstv (l) 13.0 13.0 SmLs01 (l) 15.0 15.0 SmLs02 (l) 13.8 15.0 SmLs03 (l) 13.0 15.0 AtmWtAg (a) 10.1 10.1 SmLs04 (a) 10.4 10.4 SmLs05 (a) 10.2 10.2 SmLs06 (a) 10.1 10.1 SmLs07 (h) 4.1 4.4 SmLs08 (h) 1.8 4.1 SmLs09 (h) – 4.1 17 / 42
  • 41. Regressão Linear Excel 2007 apresenta os melhores resultados, divergindo em um caso do Excel 2008 (pior). Em apenas dois datasets atingiu-se 15 dígitos de precisão. 18 / 42
  • 42. Regressão Linear Excel 2007 apresenta os melhores resultados, divergindo em um caso do Excel 2008 (pior). Em apenas dois datasets atingiu-se 15 dígitos de precisão. 18 / 42
  • 43. Regressão Não Linear Nenhuma das planilhas apresenta resultados confiáveis. Os melhores resultados obtidos provém de algoritmos não-determinísticos nas planilhas OpenOffice.org Calc e NeoOffice Calc 19 / 42
  • 44. Regressão Não Linear Nenhuma das planilhas apresenta resultados confiáveis. Os melhores resultados obtidos provém de algoritmos não-determinísticos nas planilhas OpenOffice.org Calc e NeoOffice Calc 19 / 42
  • 46. Geradores de Números Pseudo-Aleatórios Propriedades desejadas 1 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. C alc Excel2007 Excel2008 G num eric N eoO ffice O leo Documentação " "% % " % % 21 / 42
  • 47. Geradores de Números Pseudo-Aleatórios Propriedades desejadas 1 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. C alc Excel2007 Excel2008 G num eric N eoO ffice O leo Documentação " "% % " % % Semente % " % % % % 21 / 42
  • 48. Alguns resultados Nenhuma das planilhas apresenta resultados confiáveis. Para muitas das distruições avaliadas Gnumeric apresenta bons resultados. Nenhuma planilha conseque sequer um dígito de precisão para duas distribuições. Simulações Monte Carlo não devem ser processadas em planilhas. 22 / 42
  • 49. Alguns resultados Nenhuma das planilhas apresenta resultados confiáveis. Para muitas das distruições avaliadas Gnumeric apresenta bons resultados. Nenhuma planilha conseque sequer um dígito de precisão para duas distribuições. Simulações Monte Carlo não devem ser processadas em planilhas. 22 / 42
  • 50. Alguns resultados Nenhuma das planilhas apresenta resultados confiáveis. Para muitas das distruições avaliadas Gnumeric apresenta bons resultados. Nenhuma planilha conseque sequer um dígito de precisão para duas distribuições. Simulações Monte Carlo não devem ser processadas em planilhas. 22 / 42
  • 51. Alguns resultados Nenhuma das planilhas apresenta resultados confiáveis. Para muitas das distruições avaliadas Gnumeric apresenta bons resultados. Nenhuma planilha conseque sequer um dígito de precisão para duas distribuições. Simulações Monte Carlo não devem ser processadas em planilhas. 22 / 42
  • 52. Conclusões Nenhuma das planilhas é confiável para fins estatísticos sérios. Oleo deve ser utilizado somente quando não houver disponibilidade de interface gráfica. Experimentos Monte Carlo não devem ser realizados em planilhas eletrônicas. Aconselha-se utilizar outras plataformas, sendo R a mais recomendável. 23 / 42
  • 53. Conclusões Nenhuma das planilhas é confiável para fins estatísticos sérios. Oleo deve ser utilizado somente quando não houver disponibilidade de interface gráfica. Experimentos Monte Carlo não devem ser realizados em planilhas eletrônicas. Aconselha-se utilizar outras plataformas, sendo R a mais recomendável. 23 / 42
  • 54. Conclusões Nenhuma das planilhas é confiável para fins estatísticos sérios. Oleo deve ser utilizado somente quando não houver disponibilidade de interface gráfica. Experimentos Monte Carlo não devem ser realizados em planilhas eletrônicas. Aconselha-se utilizar outras plataformas, sendo R a mais recomendável. 23 / 42
  • 55. Conclusões Nenhuma das planilhas é confiável para fins estatísticos sérios. Oleo deve ser utilizado somente quando não houver disponibilidade de interface gráfica. Experimentos Monte Carlo não devem ser realizados em planilhas eletrônicas. Aconselha-se utilizar outras plataformas, sendo R a mais recomendável. 23 / 42
  • 56. 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
  • 57. Jonathan D. Cryer “Friends don’t let friends use Excel for statistics!” (JSM 2001, Atlanta) 25 / 42
  • 58. 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
  • 59. Metodologia A mesma metodologia foi aplicada a Octave, (academic) Ox, Python, R, SciLab e Matlab. Em alguns casos acrescentamos um estudo Monte Carlo da estabilidade dos resultados (omitido aqui por brevidade). 27 / 42
  • 60. Estatísticas básicas Média Platform OS PiDigits Lottery Lew Mavro Michelso Numacc1 Numacc2 Numacc3 Numacc4 Octave Windows 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 Inf Mac 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.9 Linux 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 Scilab Windows 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.7 Mac OS Inf(0) 8.1(7.92) Inf(0) Inf(0.33) Inf(0.43) Inf Inf Inf 7.7 28 / 42
  • 61. Estatísticas básicas Desvio padrão Platform OS PiDigits Lottery Lew Mavro Michelso Numacc1 Numacc2 Numacc3 Numacc4 Octave Windows 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 Inf Mac 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.2 Linux 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 Scilab Windows 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 Inf Mac 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
  • 62. Estatísticas básicas Correlação de primeira ordem Platform OS PiDigits Lottery Lew Mavro Michelso Numacc1 Numacc2 Numacc3 Numacc4 Octave Windows 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.3 Mac 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.3 Linux 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 Scilab Windows – – – 0(1.75) 0(2.09) 0.5 0 0 0 Linux – – – 0(2.09) 0(2.09) 0.5 0 0 0 Mac OS – 0(2.39) 0(2.40) 0(1.75) 0(2.09) 0.5 0 0 0 30 / 42
  • 63. Conclusões sobre estatísticas básicas Octave sofre para calcular a média de dados de baixa complexidade, mas é o melhor para o desvio padrão (SciLab é o pior para este último). SciLab é também a pior plataforma para a correlação, mas nenhuma se saiu bem. 31 / 42
  • 64. Funções de distribuição A 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.0 1E-11 3.18310E+10 0 0 0 0 0 6.0 6.0 6.0 1E-12 3.18310E+11 – – – – – 6.0 6.0 6.0 1E-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
  • 65. Funções de distribuição A 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.0 103 1.41720E-14 1.4 1.4 1.0 1.0 1.0 2.0 0 0 315 1.41948E-14 0 0 0 0 0 0 0 0 400 5.58069E-36 6.4 6.4 6.0 6.0 6.0 0 0 0 900 1.73230E-286 6.0 6.0 6.0 6.0 6.0 0 0 0 33 / 42
  • 66. Funções de distribuição A 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.0 103 1.41720E-14 1.4 1.4 1.0 1.0 1.0 2.0 0 0 315 1.41948E-14 0 0 0 0 0 0 0 0 400 5.58069E-36 6.4 6.4 6.0 6.0 6.0 0 0 0 900 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.0 1E+07 1E+07 0.500084 7.0 7.0 7.0 7.0 7.0 6.0 6.0 6.0 1E+09 1E+09 0.500008 7.0 7.0 7.0 7.0 7.0 6.0 6.0 6.0 33 / 42
  • 67. Matrizes Avaliação do determinante A matriz M = b bε s/ε s tem determinante nulo para quaisquer b, s, . Esse determinante é calculado garantindo que sejam feitas as operações (bε) e (s/ε), e o aferimos com b = 10j e s = 10−j, para j ∈ 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 plataformas acertaram em 146, ou seja 60% dos casos. 34 / 42
  • 68. Análise espectral de grafos Grafos bipartidos Grafo bipartido K5,3: w8w7w6 w5w4 w1w3w2 A matriz laplaciana do grafo G é a diferença entre a matriz diagonal de graus D e a matriz de adjacência A. 35 / 42
  • 69. Análise espectral de grafos Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm várias propriedades interessantes: λ1 = 0, λm+n = m + n, há n − 1 autovalores que valem m, e m − 1 autovalores que valem n. Analisamos situações de balanceamento quase perfeito (Km,m+1) e situações com 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 na igualdade ao valor teórico. Quanto maior o grafo, pior o resultado A igual tamanho, desbalanceado é pior O primeiro e último autovalores retornam bons resultados, sendo melhor o segundo Sugestão: calcular em precisão dupla, e tomar as decisões em ponto flutuante 36 / 42
  • 70. Análise espectral de grafos Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm várias propriedades interessantes: λ1 = 0, λm+n = m + n, há n − 1 autovalores que valem m, e m − 1 autovalores que valem n. Analisamos situações de balanceamento quase perfeito (Km,m+1) e situações com 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 na igualdade ao valor teórico. Quanto maior o grafo, pior o resultado A igual tamanho, desbalanceado é pior O primeiro e último autovalores retornam bons resultados, sendo melhor o segundo Sugestão: calcular em precisão dupla, e tomar as decisões em ponto flutuante 36 / 42
  • 71. Análise espectral de grafos Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm várias propriedades interessantes: λ1 = 0, λm+n = m + n, há n − 1 autovalores que valem m, e m − 1 autovalores que valem n. Analisamos situações de balanceamento quase perfeito (Km,m+1) e situações com 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 na igualdade ao valor teórico. Quanto maior o grafo, pior o resultado A igual tamanho, desbalanceado é pior O primeiro e último autovalores retornam bons resultados, sendo melhor o segundo Sugestão: calcular em precisão dupla, e tomar as decisões em ponto flutuante 36 / 42
  • 72. Análise espectral de grafos Os autovalores da matriz laplaciana de grafos bipartidos Km,n têm várias propriedades interessantes: λ1 = 0, λm+n = m + n, há n − 1 autovalores que valem m, e m − 1 autovalores que valem n. Analisamos situações de balanceamento quase perfeito (Km,m+1) e situações com 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 na igualdade ao valor teórico. Quanto maior o grafo, pior o resultado A igual tamanho, desbalanceado é pior O primeiro e último autovalores retornam bons resultados, sendo melhor o segundo Sugestão: calcular em precisão dupla, e tomar as decisões em ponto flutuante 36 / 42
  • 73. Solução? Não há solução senão a vigilância constante.
  • 74.
  • 75. Algumas linhas de pesquisa Avaliação continuada Plataforma Web para avaliação Proposta de novos protocolos Avaliação de outras plataformas 39 / 42
  • 76. Referencias I Aliane, N. (2008), ‘Spreadsheet-based control system analysis and design – a command-oriented toolbox for education’, IEEE Control Systems Magazine 28(5), 108–113. Almeida, E. S., Medeiros, A. C. Frery, A. C. (2012), ‘How good are Matlab, Octave and Scilab for computational modelling?’, Computational and Applied Mathematics 31(3), 523–538. URL http://ref.scielo.org/wx9rvn. Almiron, M., Almeida, E. S. Miranda, M. (2009), ‘The reliability of statistical functions in four software packages freely used in numerical computation’, Brazilian Journal of Probability and Statistics Special Issue on Statistical Image and Signal 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), ‘On the 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 Agricultural Economics 35(2), 247–248. 40 / 42
  • 77. Referencias II Bianchi, 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’, Radiologia Medica 113(7), 1068–1078. Bollobas, B. (1998), Modern Graph Theory, Springer. Croll, G. J. (2009), Spreadsheets and the financial collapse, in ‘Proceedings of the European Spreadsheet Risks Interest Group’, pp. 145–161. URL http://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 statistical process control’, Transfusion 48(10), 2143–2151. Powell, S. G., Baker, K. R. Lawson, B. (2009), ‘Impact of errors in operational spreadsheets’, Decision Support Systems 47, 126–132. Roth, J. (2008), ‘Ergebnisse von qualitätskontrollen der individuellen patientendosen in 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), ‘A comparative study of two methods for attaining constant alcohol levels’, British Journal of Clinical Pharmacology 66(5), 674–681. 41 / 42