• Nenhum resultado encontrado

Uma Ferramenta para Análise e Tratamento de Dados

N/A
N/A
Protected

Academic year: 2021

Share "Uma Ferramenta para Análise e Tratamento de Dados"

Copied!
429
0
0

Texto

(1)

DESENVOLVIMENTO DE UMA FERRAMENTA PARA

AN ´

ALISE E TRATAMENTO DE DADOS

Trabalho de conclus˜

ao de curso

sub-metido ao Curso de Bacharelado em

Ciˆ

encias da Computa¸

ao para a

ob-ten¸

ao do Grau de Bacharel em Ciˆ

encias

da Computa¸

ao.

Orientador: Prof. Dr. Paulo Jos´

e de

Freitas Filho

Florian´

opolis

(2)

UFSC.

A ficha de identifica¸

ao ´

e elaborada pelo pr´

oprio autor

Maiores informa¸

oes em:

(3)

DESENVOLVIMENTO DE UMA FERRAMENTA PARA

AN ´

ALISE E TRATAMENTO DE DADOS

Este Trabalho de conclus˜

ao de curso foi julgado aprovado para

a obten¸

ao do T´ıtulo de “Bacharel em Ciˆ

encias da Computa¸

ao”, e

aprovado em sua forma final pelo Curso de Bacharelado em Ciˆ

encias

da Computa¸

ao.

Florian´

opolis, 3 de dezembro 2014.

Prof. Dr. Renato Cislaghi

Coordenador

Banca Examinadora:

Prof. Dr. Paulo Jos´

e de Freitas Filho

Orientador

Prof. Dr. Mauro Roisenberg

(4)
(5)

L´ıdia que sempre me incentivaram a

se-guir em frente, ajudando a tornar esta

conquista poss´ıvel.

(6)
(7)

A Deus por ter me dado esta oportunidade, sa´

ude e for¸

ca para

superar as dificuldades.

Ao meu orientador, professor Paulo, pelo suporte no tempo que

lhe coube, pelas suas corre¸c˜

oes e incentivos.

Aos meus pais, pelo amor, incentivo e apoio incondicional.

Aos membros do laborat´

orio que direta ou indiretamente fizeram

parte da minha forma¸

ao.

A Petrobras pela bolsa recebida durante o desenvolvimento deste

trabalho.

(8)
(9)

A an´

alise explorat´

oria dos dados (AED) consiste em utilizar

ferramen-tas gr´

aficas e descritivas para analisar um conjunto de dados afim de

extrair informa¸

oes sobre ele. O tratamento dos dados (TD) ´

e uma

etapa complementar a AED e consiste de estrat´

egias afim de melhorar

ou adequar o conjunto de dados.

Neste trabalho ´

e realizado um levantamento de m´

etodos de AED e TD,

que em seguida foram reunidos em uma ferramenta desenvolvida em

C++ e utilizando Qt Framework para desenhar a interface gr´

afica.

A ferramenta desenvolvida cont´

em em termos de AED: medidas

descri-tivas, distribui¸c˜

oes de frequˆ

encias, gr´

aficos, detec¸

ao de valores

anor-mais (outliers, inv´

alidos e missings).

Enquanto em termos de TD,

a ferramenta desenvolvida possui funcionalidades que auxiliam a

ade-qua¸

ao dos dados, como preenchimento/estima¸

ao de valores utilizando

edia, regress˜

oes lineares simples ou distribui¸

oes de probabilidades.

Esta ferramenta foi desenvolvida com a finalidade de ser integrada a

um dos projetos do qual o autor deste trabalho participa.

(10)
(11)

Figura 1

Gr´

afico de barras (qualitativo) . . . 40

Figura 2

Gr´

afico de barras (quantitativo discreto) . . . 40

Figura 3

Histograma (quantitativo cont´ınuo) . . . 40

Figura 4

Diagrama de dispers˜

ao . . . 41

Figura 5

Gr´

afico de barras empilhadas . . . 42

Figura 6

Diagrama de caixa. . . 42

Figura 7

Z-score . . . 44

Figura 8

Tela principal com dados . . . 61

Figura 9

Tela selecionar arquivo . . . 63

Figura 10 Tela escolher atributos. . . 63

Figura 11 Tela tipificar atributos . . . 64

Figura 12 Tela definir intervalos quantitativos . . . 64

Figura 13 Tela definir categorias qualitativas . . . 65

Figura 14 Tela editar valores fora dos intervalos ou categorias

de-finidos . . . 65

Figura 15 Tela escolher t´

ecnicas para identificar outliers . . . 66

Figura 16 Tela editar valores outliers . . . 66

Figura 17 Tela editar missings e inv´

alidos . . . 67

Figura 18 Tela diagrama de dispers˜

ao com dois atributos. . . 68

Figura 19 Tela diagrama de dispers˜

ao com trˆ

es atributos . . . 68

Figura 20 Tela gr´

afico de barras . . . 69

Figura 21 Tela diagrama de caixa . . . 69

Figura 22 Tela edi¸

ao dos dados . . . 71

Figura 23 Tela remover ou identificar valores qualitativos. . . 71

Figura 24 Tela remover ou identificar valores quantitativos . . . 72

Figura 25 Tela substituir valores qualitativos . . . 72

Figura 26 Tela substituir valores quantitativos . . . 73

Figura 27 Tela gerar valor de uma DP . . . 73

Figura 28 Tela gerar valor de uma RLS . . . 74

Figura 29 Tela identificar outliers pelo diagrama de caixa . . . 74

(12)
(13)

Tabela 1

Exemplo de dados . . . 32

Tabela 2

Exemplo de missings, valores inv´

alidos e outliers . . . 33

Tabela 3

Frequˆ

encias do atributo Esta¸

ao . . . 37

Tabela 4

Frequˆ

encias do atributo Mˆ

es . . . 37

(14)
(15)

AED

An´

alise explorat´

oria dos dados . . . 27

TD

Tratamento dos dados . . . 27

ATD

An´

alise e tratamento dos dados . . . 27

SO-BR

Sistema de Otimiza¸

ao de Brocas . . . 28

DP

Distribui¸

ao de probabilidades . . . 45

MLE

Maximum-likelihood estimation . . . 46

RLS

Regress˜

ao linear simples. . . 47

GUI

Graphical user interface . . . 49

IDE

Integrated development environment . . . 49

MVS

Microsoft visual studio . . . 49

(16)
(17)

max

Medida descritiva: maior valor em um conjunto . . . 34

min

Medida descritiva: menor valor em um conjunto . . . 34

µ

Medida descritiva: m´

edia aritm´

etica simples . . . 34

r

Medida descritiva: amplitude total . . . 34

σ

Medida descritiva: desvio padr˜

ao da popula¸

ao . . . 35

s

Medida descritiva: desvio padr˜

ao da amostra . . . 35

c

v

Medida descritiva: coeficiente de varia¸

ao . . . 35

q

i

Medida descritiva: quartil inferior . . . 35

m

d

Medida descritiva: mediana . . . 36

q

s

Medida descritiva: quartil superior . . . 36

d

q

Medida descritiva: desvio interquart´ılico . . . 36

h

Medida descritiva: amplitude da classe . . . 38

k

Medida descritiva: total de classes . . . 38

w

i

Diagrama caixa: whisker inferior . . . 43

w

s

Diagrama caixa: whisker superior . . . 43

m

DP: parˆ

ametro da Triangular, . . . 46

a

DP: parˆ

ametro da Uniforme e Triangular . . . 46

b

DP: parˆ

ametro da Uniforme e Triangular . . . 46

α

DP: parˆ

ametro da Gamma, Weibull e Beta . . . 46

β

DP: parˆ

ametro da Exponencial, Gamma, Weibull e Beta . . . 46

X

2

Teste de aderˆ

encia: chi-quadrado . . . 47

e

Regress˜

ao linear simples: valor residual aleat´

orio . . . 47

β

Regress˜

ao linear simples: coeficiente angular da reta . . . 48

(18)
(19)

3.1

Classe ValorBase . . . 51

3.2

Classe ValorQuantitativo . . . 52

3.3

Classe Registro . . . 53

3.4

Classe Regress˜

aoLinearSimples . . . 53

3.5

Classe Distribui¸

ao . . . 54

3.6

Classe GeradorDistribui¸

oes . . . 54

3.7

Classe TabelaDeRegistros . . . 55

3.8

Tipos definidos da classe ColetorEstat´ısticas . . . 56

3.9

Constantes da classe ColetorEstat´ısticas . . . 57

3.10

Estruturas da classe ColetorEstat´ısticas . . . 58

3.11

Atributos da classe ColetorEstat´ısticas . . . 59

3.12

Classe GeradorGr´

aficos . . . 60

B.1

AnaliseTratamento.sln . . . 93

B.2

AnaliseTratamento.vcxproj . . . 94

B.3

AnaliseTratamento.vcxproj.filters . . . 121

B.4

gui analise tratamento.rc . . . 129

B.5

resource.h . . . 130

B.6

main.cpp . . . 131

B.7

escala nomes.h . . . 131

B.8

grafico multibarras.cpp . . . 132

B.9

grafico multibarras.h . . . 134

B.10

grafico barras qual quant discreto.cpp . . . 134

B.11

grafico barras qual quant discreto.h . . . 135

B.12

histograma quant continuo.cpp . . . 136

B.13

histograma quant continuo.h . . . 137

B.14

item tabela editora.cpp . . . 137

B.15

item tabela editora.h . . . 138

B.16

populador.cpp . . . 138

B.17

populador.h . . . 142

B.18

diagrama caixa.cpp . . . 143

B.19

diagrama caixa.h . . . 144

B.20

diagrama scatter.cpp . . . 144

B.21

diagrama scatter.h . . . 146

B.22

thread worker coletar estatisticas.cpp . . . 146

B.23

thread worker coletar estatisticas.h . . . 147

B.24

dialog edicao dados.cpp . . . 148

(20)

B.28

dialog escolher distribuicao.h . . . 150

B.29

dialog escolher distribuicao.ui . . . 150

B.30

dialog escolher RLS.cpp . . . 151

B.31

dialog escolher RLS.h . . . 152

B.32

dialog escolher RLS.ui . . . 153

B.33

dialog importacao dados.cpp . . . 154

B.34

dialog importacao dados.h . . . 157

B.35

dialog importacao dados.ui . . . 159

B.36

dialog importacao dados pg 00 arquivo.cpp . . . 169

B.37

dialog importacao dados pg 01 selecionar atribs.cpp . . . 171

B.38

dialog importacao dados pg 02 tipificar.cpp . . . 172

B.39

dialog importacao dados pg 03 def interv cat.cpp . . . 175

B.40

dialog importacao dados pg 04 tratar fora interv

cat.cpp . . . 178

B.41

dialog importacao dados pg 05 tec outliers.cpp . . . 179

B.42

dialog importacao dados pg 06 tratar outliers.cpp . . . 181

B.43

dialog importacao dados pg 07 tratar missings

invalidos.cpp . . . 182

B.44

dialog nova coluna.cpp . . . 184

B.45

dialog nova coluna.h . . . 185

B.46

dialog nova coluna.ui . . . 185

B.47

dialog rem ide outliers.cpp . . . 186

B.48

dialog rem ide outliers.h . . . 188

B.49

dialog rem ide outliers.ui . . . 188

B.50

dialog rem ide quali.cpp . . . 189

B.51

dialog rem ide quali.h . . . 190

B.52

dialog rem ide quali.ui . . . 191

B.53

dialog rem ide quant.cpp . . . 192

B.54

dialog rem ide quant.h . . . 193

B.55

dialog rem ide quant.ui . . . 194

B.56

dialog renomear.cpp . . . 196

B.57

dialog renomear.h . . . 196

B.58

dialog renomear.ui . . . 197

B.59

dialog subst qual.cpp . . . 198

B.60

dialog subst qual.h . . . 200

B.61

dialog subst qual.ui . . . 201

B.62

dialog subst quant.cpp . . . 203

B.63

dialog subst quant.h . . . 208

(21)

B.67

dialog visualizar graficos.ui . . . 222

B.68

tela inicial.cpp . . . 228

B.69

tela inicial.h . . . 228

B.70

tela inicial.ui . . . 229

B.71

tela inicial.qrc . . . 229

B.72

widget analise exploracao dados.cpp . . . 229

B.73

widget analise exploracao dados.h . . . 241

B.74

widget analise exploracao dados.ui . . . 242

B.75

widget categorias qual.cpp . . . 249

B.76

widget categorias qual.h . . . 251

B.77

widget categorias qual.ui . . . 252

B.78

widget distribuicao.cpp . . . 253

B.79

widget distribuicao.h . . . 255

B.80

widget distribuicao.ui . . . 256

B.81

widget escolher dp.cpp . . . 257

B.82

widget escolher dp.h . . . 260

B.83

widget escolher dp.ui . . . 260

B.84

widget intervalo quant.cpp . . . 262

B.85

widget intervalo quant.h . . . 263

B.86

widget intervalo quant.ui . . . 264

B.87

widget intervalos quant.cpp . . . 265

B.88

widget intervalos quant.h . . . 268

B.89

widget intervalos quant.ui . . . 269

B.90

widget param diag caixa.cpp . . . 271

B.91

widget param diag caixa.h . . . 272

B.92

widget param diag caixa.ui . . . 272

B.93

widget param zscore.cpp . . . 275

B.94

widget param zscore.h . . . 276

B.95

widget param zscore.ui . . . 276

B.96

widget parametro.cpp . . . 278

B.97

widget parametro.h . . . 279

B.98

widget parametro.ui . . . 279

B.99

widget regressao linear simples.cpp . . . 280

B.100 widget regressao linear simples.h . . . 282

B.101 widget regressao linear simples.ui . . . 282

B.102 widget tabela editora.cpp . . . 285

B.103 widget tabela editora.h . . . 308

B.104 widget tabela editora.ui . . . 310

(22)

B.108 coletor estatisticas.h . . . 327

B.109 distribuicao controle.cpp . . . 328

B.110 distribuicao controle.h . . . 330

B.111 enums at.h . . . 331

B.112 gerador distribuicoes.cpp . . . 331

B.113 gerador distribuicoes.h . . . 332

B.114 gerador graficos.cpp . . . 332

B.115 gerador graficos.h . . . 335

B.116 registro.cpp . . . 336

B.117 registro.h . . . 338

B.118 regressao linear simples.cpp . . . 338

B.119 regressao linear simples.h . . . 339

B.120 tabela registros.cpp . . . 339

B.121 tabela registros.h . . . 346

B.122 tabela registros get set registros.cpp . . . 349

B.123 tabela registros get valores.cpp . . . 351

B.124 tabela registros identificador.cpp . . . 355

B.125 tabela registros populador.cpp . . . 358

B.126 tabela registros removedor.cpp . . . 359

B.127 tabela registros substituidor.cpp . . . 360

B.128 valor base.h . . . 368

B.129 valor qualitativo.cpp . . . 368

B.130 valor qualitativo.h . . . 369

B.131 valor quantitativo.cpp . . . 369

B.132 valor quantitativo.h . . . 370

B.133 lib fit.vcxproj . . . 371

B.134 lib fit.vcxproj.filters . . . 373

B.135 fit.cpp . . . 374

B.136 fit.h . . . 377

B.137 fit defs.h . . . 378

B.138 fit utils.cpp . . . 379

B.139 fit utils.hpp . . . 382

B.140 freq table.cpp . . . 384

B.141 freq table.h . . . 386

B.142 freq table entry.cpp . . . 387

B.143 freq table entry.h . . . 388

B.144 base distrib.cpp . . . 389

B.145 base distrib.h . . . 390

B.146 beta distrib.cpp . . . 391

(23)

B.149 expo distrib.h . . . 396

B.150 gamm distrib.cpp . . . 397

B.151 gamm distrib.h . . . 400

B.152 lognorm distrib.cpp . . . 401

B.153 lognorm distrib.h . . . 402

B.154 norm distrib.cpp . . . 403

B.155 norm distrib.h . . . 406

B.156 tria distrib.cpp . . . 407

B.157 tria distrib.h . . . 409

B.158 unif distrib.cpp . . . 410

B.159 unif distrib.h . . . 411

B.160 weib distrib.cpp . . . 412

B.161 weib distrib.h . . . 415

B.162 lib utilidades.vcxproj . . . 416

B.163 lib utilidades.vcxproj.filters . . . 420

B.164 dialog progresso.h . . . 422

B.165 widget progresso.h . . . 422

B.166 IObserver.h . . . 422

B.167 thread worker.h . . . 422

B.168 thread controller.cpp . . . 423

B.169 thread controller.h . . . 423

B.170 thread controller dialog.cpp . . . 424

B.171 thread controller dialog.h . . . 425

B.172 utilidades.cpp . . . 425

B.173 utilidades.h . . . 429

(24)
(25)

1

INTRODUC

¸ ˜

AO . . . .

27

1.1

INTRODUC

¸ ˜

AO GERAL . . . 27

1.2

MOTIVAC

¸ ˜

AO . . . 28

1.3

OBJETIVO GERAL . . . 29

1.4

OBJETIVOS ESPEC´IFICOS . . . 29

1.5

ESTRUTURA DO TRABALHO . . . 29

2

CONCEITOS FUNDAMENTAIS . . . .

31

2.1

AN ´

ALISE EXPLORAT ´

ORIA DOS DADOS . . . 31

2.1.1

Dados e atributos . . . 31

2.1.1.1 Valores missings . . . 32

2.1.1.1.1 Registros missings . . . 32

2.1.1.2 Valores inv´

alidos . . . 32

2.1.1.3 Valores outliers . . . 33

2.1.2

Medidas descritivas . . . 34

2.1.2.1 Valor m´

aximo e m´ınimo . . . 34

2.1.2.2 M´

edia aritm´

etica simples . . . 34

2.1.2.3 Amplitude total . . . 34

2.1.2.4 Desvio padr˜

ao . . . 34

2.1.2.5 Coeficiente de varia¸

ao . . . 35

2.1.2.6 Quartis . . . 35

2.1.2.7 Desvio interquart´ılico . . . 36

2.1.3

Distribui¸

ao de frequˆ

encias . . . 36

2.1.3.1 Distribui¸

ao de frequˆ

encias para atributos qualitativos . . . 36

2.1.3.2 Distribui¸

ao de frequˆ

encias para atributos quantitativos . . 37

2.1.3.2.1 Atributos discretos . . . 37

2.1.3.2.2 Atributos cont´ınuos . . . 37

2.1.4

Representa¸

oes gr´

aficas . . . 39

2.1.4.1 Histograma e gr´

afico de barras . . . 39

2.1.4.2 Diagrama de dispers˜

ao . . . 40

2.1.4.3 Gr´

afico de barras empilhadas ou agrupadas . . . 41

2.1.4.4 Diagrama de caixa . . . 42

2.1.5

Identifica¸

ao de valores outliers, inv´

alidos ou

mis-sings . . . 43

2.1.5.1 Identifica¸

ao de outliers . . . 43

2.1.5.1.1 Teste Z-score . . . 43

2.1.5.1.2 Diagrama de caixa . . . 44

2.1.5.2 Identifica¸

ao de valores inv´

alidos . . . 44

(26)

2.3

DISTRIBUIC

¸ ˜

OES DE PROBABILIDADES . . . 45

2.3.1

Testes de aderˆ

encia . . . 46

2.3.1.1 Teste chi-quadrado . . . 46

2.4

REGRESS ˜

OES . . . 47

2.4.1

Regress˜

ao linear simples . . . 47

3

DESENVOLVIMENTO . . . .

49

3.1

METODOLOGIA DE TRABALHO . . . 49

3.2

ORGANIZAC

¸ ˜

AO E FUNCIONAMENTO . . . 49

3.3

ASPECTOS PRINCIPAIS DE IMPLEMENTAC

¸ ˜

AO . . . 50

3.3.1

lib fit . . . 50

3.3.2

lib analise tratamento . . . 51

3.3.2.1 Classe ValorBase . . . 51

3.3.2.1.1 Classe ValorQualitativo . . . 52

3.3.2.1.2 Classe Valor Quantitativo . . . 52

3.3.2.2 Classe Registro . . . 52

3.3.2.3 Classe Regress˜

aoLinearSimples . . . 53

3.3.2.4 Classe Distribui¸

ao . . . 54

3.3.2.4.1 Classe GeradorDistribui¸

oes . . . 54

3.3.2.5 Classe TabelaDeRegistros . . . 55

3.3.2.6 Classe ColetorEstat´ısticas . . . 56

3.3.2.6.1 Tipos definidos . . . 56

3.3.2.6.2 Constantes . . . 57

3.3.2.6.3 Estruturas . . . 57

3.3.2.6.4 Atributos . . . 59

3.3.2.6.5 Fun¸

oes . . . 59

3.3.2.7 Classe GeradorGr´

aficos . . . 60

3.4

INTERFACE GR ´

AFICA . . . 60

3.4.1

Tela principal . . . 61

3.4.2

Tela assistente de carregamento . . . 62

3.4.3

Tela de visualiza¸

ao dos dados . . . 67

3.4.4

Tela de edi¸

ao dos dados . . . 70

4

CONCLUS ˜

AO . . . .

77

4.1

ALTERAC

¸ ˜

OES . . . 77

4.2

TRABALHOS FUTUROS . . . 78

REFER ˆ

ENCIAS . . . .

81

ANEXO A -- Artigo . . . .

85

(27)

1 INTRODUC

¸ ˜

AO

1.1 INTRODUC

¸ ˜

AO GERAL

Segundo Gantz e Reinsel (2007), estima-se que a quantidade

to-tal de informa¸

oes digitais presente no universo entre os anos de 2006

a 2010 aumentaria de 161 para 988 exabytes, um crescimento

espe-rado anualmente de 57%. Este massivo incremento ´

e um dos principais

aspectos tratados pelo Big Data e sua causa est´

a fortemente

relacio-nada com a populariza¸c˜

ao de equipamentos de captura imagem, v´ıdeo

e ´

audio. Entretanto, uma outro motivo se deve, segundo Lohr (2012),

ao fato que atualmente a maioria dos sistemas, como as cidades

inteli-gentes ou redes de computadores, tˆ

em consigo sensores que monitoram

ao longo do tempo vari´

aveis referentes ao sistema em quest˜

ao, de modo

a comunicar as medi¸

oes capturadas para algo que ir´

a utiliz´

a-la para

tomar decis˜

oes necess´

arias para que o sistema alcance seu objetivo.

Tendo em vista esta crescente quantidade de informa¸

oes, ´

e cada

vez maior a probabilidade da ocorrˆ

encia de erros durante a sua captura,

promovendo a redu¸c˜

ao da qualidade dos dados, de modo que eles n˜

ao

representem corretamente a realidade. Segundo Silva (2011), os erros

mais comuns s˜

ao:

• De medi¸c˜

oes.

• De transcri¸c˜

ao.

• Diferentes formatos de representa¸c˜

ao.

• Heterogeneidade, por exemplo, quando m´

ultiplos sensores

desi-gualmente calibrados monitoram uma mesma vari´

avel.

• Por algum motivo o valor a ser medido n˜

ao estava dispon´ıvel no

momento.

Uma forma de tentar encontrar estes problemas ´

e realizando

uma AED (An´

alise explorat´

oria dos dados), que consiste, segundo Reis

(2008), na coleta, apresenta¸

ao, an´

alise e interpreta¸

ao dos dados atrav´

es

de instrumentos adequados: tabelas, gr´

aficos e indicadores. J´

a o TD

(Tratamento dos dados) consiste em adequar os problemas

identifica-dos de modo a melhor condizer com o esperado. Ambas, AED e TD

(28)

A ATD ´

e de grande importˆ

ancia para as mais diversas aplica¸

oes

que s˜

ao baseadas em dados de entradas, dois exemplos ser˜

ao listados a

seguir:

• Aprendizado de m´

aquina: ´

Area da inteligˆ

encia artificial dedicada

na constru¸

ao de modelos computacionais que possibilitam o

com-putador aprender (extrair regras e padr˜

oes) a partir dos dados e

utiliz´

a-lo, por exemplo, para realizar previs˜

oes.

• Simula¸c˜

ao de sistemas: T´

ecnica utilizada com objetivo de imitar

ou simular as opera¸

oes de um processo em quest˜

ao (sistema). A

maioria dos sistemas possuem comportamento estoc´

astico, afim

de fazer com que a simula¸

ao possua o mesmo comportamento s˜

ao

utilizadas, por exemplo, distribui¸

oes de probabilidades para

re-presentar cada vari´

avel aleat´

oria do sistema real, sendo que estas

distribui¸

oes tˆ

em seus parˆ

ametros obtidos atrav´

es especialistas ou

estimadores, contudo ambos se apoiam em dados do sistema real.

Essas s˜

ao duas de muitas aplica¸

ao onde a ATD ´

e essencial para o

seu funcionamento, ambas s˜

ao fortemente dirigidas por dados, de modo

que a qualidade dos resultados est˜

ao diretamente relacionados com a

qualidade da entrada. A qualidade da entrada determina a confian¸

ca

de utilizar estes sistemas para apoio `

a tomadas de decis˜

oes.

1.2 MOTIVAC

¸ ˜

AO

Modelos de previs˜

ao s˜

ao essenciais para qualquer sistema

(trans-porte, produ¸

ao, administrativo, etc.), pois conseguem prever os efeitos

da execu¸

ao de um plano e ajudam nas tomadas de decis˜

oes relacionas

com quest˜

oes do tipo “o que aconteceria se?”. Entretanto, a existˆ

encia

de dados que n˜

ao condizem com a realidade podem comprometer o

desempenho destes modelos. Ent˜

ao, se faz necess´

ario a ATD para

bus-car e corrigir o maior n´

umero poss´ıvel de problemas afim de aumentar

a qualidade dos dados e consequentemente elevar a confian¸

ca destes

modelos.

A principal motiva¸

ao surgiu de um dos projetos que o autor

deste trabalho participa durante a gradua¸

ao junto ao

Performance-Lab, na qual utiliza modelos computacionais para prever e otimizar o

processo de perfura¸

ao de petr´

oleo, titulado SO-BR (Sistema de

Oti-miza¸

ao de Brocas). Afim de buscar melhores resultados e dispor de

(29)

de integrar ao projeto um m´

odulo de ATD, esse m´

odulo ´

e a ferramenta

desenvolvida neste trabalho.

No in´ıcio, o orientador e os membros da banca deste trabalho

forneceram o c´

odigo fonte de um projeto j´

a desenvolvido pelo

Perfor-manceLab, chamado de E&P Risk, na qual cont´

em um m´

odulo de ATD

que foi codificado por Santin (2007) em outro framework (C++

Buil-der) diferente do projeto SO-BR (Qt Framework). Este m´

odulo de

ATD do E&P Risk foi utilizado como apoio, por´

em foi amplamente

melhorado em termos de codifica¸c˜

ao (bugs, otimiza¸

oes), assim como

novas funcionalidades foram adicionadas.

Uma outra motiva¸

ao ´

e que a ferramenta desenvolvida ´

e de uso

geral para qualquer ´

area, podendo ser facilmente integrada a qualquer

outro projeto, desde que utilize o mesmo framework (Qt) e a mesma

lin-guagem (C++), tamb´

em por ser de c´

odigo aberto, est´

a dispon´ıvel para

toda a sociedade acadˆ

emica para utiliza¸

ao, estudo ou aperfei¸

coamento.

1.3 OBJETIVO GERAL

Desenvolvimento de uma ferramenta que forne¸

ca suporte a ATD,

que posteriormente foi integrada como um m´

odulo no SO-BR.

1.4 OBJETIVOS ESPEC´IFICOS

• Migrar e aperfei¸coar o m´

odulo de ATD do E&P Risk desenvolvido

em C++ Builder para Qt Framework.

• Investigar os m´etodos de AED: medidas descritivas e representa¸c˜

oes

gr´

aficas.

• Investigar estrat´egia de apoio ao TD, tais como preencher o

va-lor inadequado utilizando distribui¸

oes de probabilidade ou

re-gress˜

oes lineares.

• Codificar os conceitos estudados e desenvolver uma interface gr´

afica

que permita utilizar as t´

ecnicas de ATD estudadas.

1.5 ESTRUTURA DO TRABALHO

(30)

No presente cap´ıtulo, apresenta-se a introdu¸

ao que ´

e composta

pela introdu¸

ao geral, motiva¸

ao, objetivos gerais e espec´ıficos e a

es-trutura do trabalho.

O segundo cap´ıtulo exp˜

oe conceitos de ATD utilizadas para criar

a ferramenta.

No terceiro cap´ıtulo, ´

e apresentado o desenvolvimento da

ferra-menta: metodologia, organiza¸

ao, funcionamento, aspectos de

imple-menta¸

ao e a interface gr´

afica desenvolvida.

No quarto cap´ıtulo e ´

ultimo ´

e apresenta uma conclus˜

ao contendo:

lista com as principais altera¸c˜

oes em rela¸c˜

ao ao m´

odulo de ATD do

E&P Risk, cita¸

ao de algumas outras ferramentas existentes, uma breve

(31)

2 CONCEITOS FUNDAMENTAIS

Este cap´ıtulo descreve os conceitos utilizados para criar a

ferra-menta.

2.1 AN ´

ALISE EXPLORAT ´

ORIA DOS DADOS

A AED ou estat´ıstica descritiva consiste, segundo MEDRI (2011),

de um conjunto estrat´

egias de organiza¸

ao, apresenta¸

ao e sintetiza¸

ao

dos dados, utilizando gr´

aficos, tabelas e medidas descritivas para

estu-dar um conjunto de dados, de modo a transformar os dados brutos em

informa¸

oes. Segundo Todesco (2014) a AED ´

e utilizada, por exemplo,

como pr´

e-requisito para uma an´

alise dos dados mais formal (Predi¸

ao,

Previs˜

ao, Estima¸

ao, Classifica¸

ao e Testes de Hip´

oteses), e como parte

integral formal da constru¸

ao de modelos, pois d´

a suporte `

a uma

me-lhor compreens˜

ao dos dados e eventual detec¸

ao problemas que podem

diminuir o desempenho ou a confian¸ca destes modelos.

2.1.1 Dados e atributos

Os dados s˜

ao geralmente organizados em forma de tabela, onde

cada linha corresponde a uma observa¸

ao, indiv´ıduo ou registro, cada

coluna corresponde a uma caracter´ıstica, vari´

avel ou atributo e cada

elula ´

e um valor do registro (BARBETTA; REIS; BORNIA, 2010). Neste

trabalho foram utilizados os termos atributo, registro e valor .

Os atributos se classificam entre quantitativos (n´

umeros de certa

escala) ou qualitativos (qualidade ou categoria).

A Tabela 1 ´

e um

exemplo de dados clim´

aticos provenientes do BDMEP (Banco de Dados

Meteorol´

ogicos para Ensino e Pesquisa). Os atributos

NumDiasPreci-pita¸

ao e Precipita¸

aoTotal s˜

ao considerados quantitativos, enquanto

o atributo Esta¸

ao ´

e considerado qualitativo. Os atributos

quantita-tivos ainda se dividem em dois subconjuntos: discretos e cont´ınuos.

Pela Tabela 1, o atributo Mˆ

es ´

e um exemplo de atributo quantitativo

discreto, pois possui valores que podem ser listados (1, 2, 3, . . . , 12),

caso o atributo Mˆ

es fosse representado textualmente ele seria

qualita-tivo. Enquanto Precipita¸

aoTotal, que pode assumir qualquer valor ´

e

um atributo quantitativo cont´ınuo. Os atributos qualitativos tamb´

em

(32)

a existˆ

encia e inexistˆ

encia de uma ordena¸c˜

ao das categorias do

atri-buto, por´

em estas duas subclassifica¸c˜

oes n˜

ao foram englobadas neste

trabalho.

Tabela 1: Exemplo de dados

id

Esta¸

ao

es

NumDiasPrecipita¸

ao

Precipita¸

aoTotal

0

RS

12

9

134,1

1

RS

12

5

48,2

2

SC

12

20

138,1

3

SC

12

13

35,6

4

SP

12

22

186,6

5

SP

12

17

236,3

6

SP

12

9

70,8

Fonte: BDMEP

2.1.1.1 Valores missings

Consiste na ausˆ

encia de valores, que pode ter sido provocada por

falhas humanas, de software ou de hardware, ou simplesmente o valor

ao estava dispon´ıvel no momento da captura (SILVA, 2011). A Tabela

2 cont´

em um valor missing no registro com id 0 referente ao atributo

NumDiasPrecipita¸

ao.

2.1.1.1.1 Registros missings

Uma outra forma de missing ´

e quando se verifica a poss´ıvel

ausˆ

encia de registros ao analisar o comportamento de um atributo, por

exemplo, na Tabela 2, se analisarmos o atributo id, ele tem

comporta-mento sequencial e discreto, podemos notar que ´

e poss´ıvel que haja um

registro faltante referente ao id 2.

2.1.1.2 Valores inv´

alidos

Valores inv´

alidos na maioria das vezes est˜

ao relacionados com

(33)

caso contr´

ario o valor que deveria corresponder a um n´

umero se torna

um valor inv´

alido. Este tipo de problema geralmente ´

e causado, por

exemplo, devido a falhas de transcri¸c˜

ao, diferentes nota¸

oes num´

ericas

dependendo da regi˜

ao. Exemplo, “12,345.67”´

e uma nota¸

ao num´

erica

alida no Canad´

a, por´

em n˜

ao no Brasil. Na Tabela 2, o atributo Mˆ

es

pode ser representado numericamente ou textualmente, dessa forma seu

tipo pode ser qualitativo ou quantitativo discreto, se for considerado

quantitativo discreto o valor “Dezembro”´

e inv´

alido, j´

a que

“Dezem-bro”n˜

ao ´

e um valor num´

erico.

Atributos qualitativos tamb´

em possuem valores inv´

alidos, por´

em

as categorias de um atributo qualitativos podem expressar qualquer

coisa, desta forma automaticamente n˜

ao podem ser detectados.

2.1.1.3 Valores outliers

Outlier, valor aberrante, valor at´ıpico ou ponto discrepante ´

e um

valor que apresenta um grande afastamento dos demais (SILVA, 2011).

Por exemplo, a sociedade brasileira ´

e separada em v´

arias

clas-ses sociais, de modo que os indiv´ıduos de uma mesma classe tenham

condi¸

oes econˆ

omicas semelhantes, supondo que Bill Gates morasse no

Brasil, com certeza ele seria um exemplo de outlier caso erroneamente

fosse classificado pertencer a classe m´

edia, uma vez que sua condi¸

ao

financeira est´

a bem acima do padr˜

ao esperado dentro da classe. Mais

`

a frente ser˜

ao apresentadas dois modos de detectar outliers para

atri-butos quantitativos. Na Tabela 2, o valor 836,6 de Precipita¸

aoTotal ´

e

um prov´

avel outlier.

Tabela 2: Exemplo de missings, valores inv´

alidos e outliers

id

Esta¸

ao

es

NumDiasPrecipita¸

ao

Precipita¸

aoTotal

0

RS

12

134,1

1

RS

12

5

48,2

3

SC

12

13

835,6

4

SP

12

22

186,6

5

SP

Dezembro

17

236,3

6

SP

12

9

70,8

(34)

2.1.2 Medidas descritivas

Existem medidas que servem para descrever resumidamente os

atributos quantitativos (BARBETTA; REIS; BORNIA, 2010). As mais

uti-lizadas ser˜

ao apresentadas nos t´

opicos a seguir. Considere {x

1

, x

2

, . . . , x

N

}

uma popula¸

ao com N indiv´ıduos.

2.1.2.1 Valor m´

aximo e m´ınimo

ao os valores extremos (m´

aximo e m´ınimo) de um atributo,

Equa¸

oes 2.2 e 2.1 respectivamente.

max = m´

aximo{x

1

, x

2

, . . . , x

N

}

(2.1)

min = m´inimo{x

1

, x

2

, . . . , x

N

}

(2.2)

2.1.2.2 M´

edia aritm´

etica simples

Valor t´ıpico ou ponto de equil´ıbrio de um atributo.

µ =

1

N

N

X

i=1

x

i

(2.3)

2.1.2.3 Amplitude total

Forma simples de representar a dispers˜

ao, pode levar a

con-clus˜

oes errˆ

oneas quando existem valores discrepantes.

r = max − min

(2.4)

2.1.2.4 Desvio padr˜

ao

Comumente utilizado para representar dispers˜

ao em rela¸

ao `

a

edia. A Equa¸

ao 2.5 considera todos os indiv´ıduos de uma popula¸

ao,

caso se tenha uma amostra de tamanho n da popula¸

ao deve-se usar

(35)

da amostra e x a m´

edia da amostra.

σ =

v

u

u

t

1

N

N

X

i=1

(x

i

− µ)

2

(2.5)

s =

v

u

u

t

1

n − 1

n

X

i=1

(x

i

− x)

2

(2.6)

Neste trabalho foi considerado apenas o desvio padr˜

ao da

po-pula¸

ao.

2.1.2.5 Coeficiente de varia¸

ao

Expressa a variabilidade dos valores de um atributo sem

consi-derar a ordem de grandeza do atributo.

c

v

=

σ

µ

(2.7)

2.1.2.6 Quartis

Divide a popula¸

ao em quatro partes iguais, o c´

alculo de cada

quartil deve ser feito utilizando a popula¸

ao ordenada ascendentemente.

Dependendo do valor de N , o c´

alculo de cada quartil ´

e realizado

uti-lizando interpola¸

ao linear. A opera¸

ao x mod y significa o resto da

divis˜

ao inteira de x por y.

• Primeiro quartil ou quartil inferior (q

i

), ´

e o valor que separa os

25% menores valores dos 75% maiores valores da popula¸

ao.

Se (N + 3) mod 4 = 0, ent˜

ao q

i

= x

N +3 4

Sen˜

ao, q

i

= x

N +3 4



+

(N + 3) mod 4

4

x

N +3 4



− x

N +3 4



(2.8)

(36)

• Mediana, valor que ocupa a posi¸c˜

ao central da popula¸

ao.

Se N ´

e ´ımpar m

d

= x

N +1 2

Sen˜

ao, m

d

=

x

N 2

+ x

N +22

2

(2.9)

• Terceiro quartil ou quartil superior (q

s

), valor que separa os 75%

menores valores dos 25% maiores valores da popula¸

ao.

Se (3N + 1) mod 4 = 0, ent˜

ao q

s

= x

3N +1 4

Sen˜

ao, q

s

= x

3N +1 4



+

(3N + 1) mod 4

4

x

3N +1 4



− x

3N +1 4



(2.10)

2.1.2.7 Desvio interquart´ılico

´

E calculado atrav´

es da diferen¸

ca entre o quartil inferior e

su-perior.

Quanto mais dispersa for a distribui¸

ao dos valores de um

atributo, maior ser´

a seu desvio interquart´ılico.

d

q

= q

s

− q

i

(2.11)

2.1.3 Distribui¸

ao de frequˆ

encias

As contagens de indiv´ıduos que se enquadram a um valor ou

in-tervalo (classe) formam a distribui¸

ao de frequˆ

encias do atributo

(BAR-BETTA; REIS; BORNIA, 2010). Algumas caracter´ısticas podem ser

iden-tificadas a partir da distribui¸

ao de frequˆ

encias: valores ou intervalos

que ocorrem com mais/menos frequˆ

encia e poss´ıveis outliers.

A maneira como ´

e constru´ıda difere para atributos qualitativos

e quantitativos, ambas ser˜

ao apresentadas nas duas Se¸

oes a seguir.

2.1.3.1 Distribui¸

ao de frequˆ

encias para atributos qualitativos

Consiste em contar as ocorrˆ

encias de cada categoria do atributo

(37)

exem-plo da distribui¸

ao de frequˆ

encias do atributo Esta¸

ao da Tabela 1.

Tabela 3: Frequˆ

encias do atributo Esta¸

ao

Esta¸c˜

ao

Frequˆ

encia

SC

2

RS

2

SP

3

2.1.3.2 Distribui¸

ao de frequˆ

encias para atributos quantitativos

A forma de construir a distribui¸

ao de frequˆ

encias para

atribu-tos quantitativos se divide entre os atribuatribu-tos quantitativos discreatribu-tos e

cont´ınuos, como apresentadas a seguir.

2.1.3.2.1 Atributos discretos

A distribui¸

ao de frequˆ

encias dos atributos discretos pode ser

constru´ıda de forma an´

aloga `

a atributos qualitativos, por´

em n˜

ao s˜

ao

contadas as ocorrˆ

encias das categorias, mas sim dos valores

(BAR-BETTA; REIS; BORNIA, 2010), exemplo Tabela 4.

Tabela 4: Frequˆ

encias do atributo Mˆ

es

es

Frequˆ

encia

12

7

2.1.3.2.2 Atributos cont´ınuos

A constru¸

ao da distribui¸

ao de frequˆ

encias dos atributos

quan-titativos cont´ınuos ´

e realizada atrav´

es da divis˜

ao do intervalo [min,

max] do atributo desejado em k subintervalos (classes) de amplitude

h. A quantidade de classes k para compor a distribui¸

ao de frequˆ

encias

´

e uma escolha arbitr´

aria (BARBETTA; REIS; BORNIA, 2010). Existem

ecnicas que tentam estimar o n´

umero de classes. Ainda considerando

(38)

• Dada uma quantidade de classes k qualquer, a amplitude h das

classes ´

e calculada pela Equa¸

ao 2.12.

h =

max − min

k

(2.12)

• Dada uma amplitude da classe h arbitr´

aria, a quantidade de classe

k ´

e calculada pela Equa¸

ao 2.13.

k =

 max − min

h



(2.13)

• Amplitude de Scott (2009), onde σ ´

e o desvio padr˜

ao da

po-pula¸

ao.

h =

3, 5 ∗ σ

3

N

(2.14)

• Quantidade de classes de Hines, Montgomery e Borror (2008).

k =

N

(2.15)

• Quantidade de classes de Sturges (1926).

k =

log

2

N + 1

(2.16)

Neste trabalho foram utilizados os estimadores de quantidade de

classes de Scott e Hines, os mesmo utilizados no E&P Risk, de modo

que para N > 200 usa-se Scott, caso contr´

ario Hines, j´

a que segundo

Scott (2009), o estimador Sturges n˜

ao resulta em boas classes para gerar

histogramas. Mesmo utilizados estes dois estimadores ainda foi definido

uma regra na qual 25 ´

e o n´

umero m´

aximo de classes, mais classes que

isso acaba tornando dif´ıcil de se obter informa¸

oes do histograma.

Definido a quantidade de classes (k) e a amplitude das classes

(h), as classes s˜

ao criadas de forma que englobem todos o valores do

atributo.

Construindo a tabela de frequˆ

encias do atributo Precipita¸

aoTotal

da Tabela 1 por Sturges:

min = 36, 6

(2.17)

max = 236, 3

(2.18)

(39)

h =

max − min

k

=

236, 3 − 36, 6

4

= 50, 175

(2.20)

C = {35, 6

85, 775; 85, 775

135, 95; 135, 95

186, 125; 186, 125

236, 3}

(2.21)

Contando a frequˆ

encia de cada classe (Tabela 5).

Tabela 5: Frequˆ

encias das classes do atributo Precipita¸

aoTotal

Precipita¸

aoTotal

Frequˆ

encia

35, 6

85, 775

3

85, 775

135, 95

1

135, 95

186, 125

1

186, 125

236, 3

2

2.1.4 Representa¸

oes gr´

aficas

Nesta Se¸

ao ser˜

ao apresentas quatro formas de representa¸

ao dos

dados e suas principais caracter´ısticas.

2.1.4.1 Histograma e gr´

afico de barras

Al´

em das tabelas de frequˆ

encias da Se¸

ao 2.1.3, o histograma

e o gr´

afico de barras (ou colunas), s˜

ao alternativas de se apresentar

graficamente a distribui¸

ao de frequˆ

encias de um atributo (BARBETTA;

REIS; BORNIA, 2010). Em geral de forma mais sugestiva.

Em ambos o comprimento, geralmente medido pelo eixo y,

cor-responde as frequˆ

encias absolutas (ou relativas) dos valores ou

inter-valos dependendo do tipo do atributo, esses valores ou interinter-valos s˜

ao

geralmente representados pelo eixo x (CHAMBERS, 1983). Apesar do

histograma tamb´

em ser um gr´

afico de barras, ele se difere no fato de

que suas barras est˜

ao justapostas, j´

a que ele representa o intervalo que

engloba todos os valores de um atributo quantitativo cont´ınuo.

As Figuras 1, 2 s˜

ao exemplos de gr´

afico de barras de

atribu-tos qualitativos e quantitativos discreatribu-tos respectivamente. Enquanto a

(40)

Figura 1: Gr´

afico de barras (qualitativo)

Figura 2: Gr´

afico de barras (quantitativo discreto)

Figura 3: Histograma (quantitativo cont´ınuo)

2.1.4.2 Diagrama de dispers˜

ao

O diagrama de dispers˜

ao ´

e um dos mais utilizados para an´

alise

dos dados, possibilita identificar as correla¸

oes entre os atributos

(41)

Os valores dos atributos s˜

ao organizados em tuplas com n

com-ponentes que correspondem a cada um dos eixos do gr´

afico

respectiva-mente, deste modo, cada tupla representa uma coordenada ou ponto

no gr´

afico.

Com objetivo de diminuir o total de dimens˜

oes do gr´

afico com

mais de duas dimens˜

oes, pode-se substituir algumas delas de modo que

os valores da dimens˜

ao substitu´ıda sejam representados na forma, por

exemplo, de cor ou formato do ponto. A Figura 4 ´

e um exemplo de

gr´

afico de dispers˜

ao.

Figura 4: Diagrama de dispers˜

ao

2.1.4.3 Gr´

afico de barras empilhadas ou agrupadas

´

E uma extens˜

ao do gr´

afico de barras apresentado na Se¸

ao 2.1.4.1,

por´

em permite representar frequˆ

encias conjuntas de um grupo de

atri-butos, geralmente dois. A apresenta¸

ao das frequˆ

encias conjuntas

des-tes atributos ´

e realizada de forma que cada coluna, visualmente

iden-tificada, represente a frequˆ

encia de uma combina¸

ao de valores dos

(42)

Figura 5: Gr´

afico de barras empilhadas

2.1.4.4 Diagrama de caixa

O diagrama de caixa ou boxplot permitem apresentar um resumo

da distribui¸

ao dos valores de um atributo (BARBETTA; REIS; BORNIA,

2010).

´

E composto por uma caixa que corresponde ao desvio

inter-quart´ılico de modo a englobar 50% dos valores da distribui¸

ao.

A

Figura 6 apresenta o diagrama de caixa do atributo Precipita¸

aoTotal

da Tabela 1. As arestas horizontais na parte superior, central e

infe-rior da caixa correspondem aos quartis supeinfe-rior, mediana e infeinfe-rior,

respectivamente.

(43)

Os seguimentos de retas na vertical, denominados whisker, que

est˜

ao conectadas ao topo e base da caixa se estendem at´

e os valores

calculados pelas Equa¸

oes 2.22 e 2.23 respectivamente.

w

s

= m´inimo{q

s

+ 1, 5 ∗ d

q

; max}

(2.22)

w

i

= m´

aximo{q

i

− 1, 5 ∗ d

q

; min}

(2.23)

O diagrama de caixa ´

e uma maneira f´

acil de identificar outliers.

Os valores que s˜

ao maiores que w

s

ou menores que w

i

ao considerados

outliers e s˜

ao representados geralmente no gr´

afico de bolinhas.

2.1.5 Identifica¸

ao de valores outliers, inv´

alidos ou missings

Est´

a Se¸

ao descreve como identificar os principais fatores que

influenciam a m´

a qualidade dos dados, que s˜

ao os valores outliers,

inv´

alidos e missings.

2.1.5.1 Identifica¸

ao de outliers

Como j´

a definido, outliers s˜

ao valores fora do padr˜

ao. Existem

diversas t´

ecnicas para identifica¸

ao destes, por´

em neste trabalho ser˜

ao

apresentadas nas Se¸

oes a seguir as duas t´

ecnicas comumente utilizadas.

2.1.5.1.1 Teste Z-score

Z-score ´

e uma medida de dispers˜

ao, que pode assumir valores

negativos ou positivos descrevendo o deslocamento de um determinado

valor em rela¸

ao `

a m´

edia atrav´

es de z desvios padr˜

oes, Equa¸

ao 2.24,

onde x ´

e o valor que se deseja calcular o seu respectivo z-score.

z =

x − µ

σ

(2.24)

O teste de z-score consiste em considerar valores que tem seus

respectivos z-scores fora de um intervalo [z

min

, z

max

] (SILVA, 2011).

Este teste funciona bem quando a distribui¸

ao dos valores de um

atri-buto se aproximam de uma distribui¸

ao normal, por exemplo, de acordo

com a Figura 7, um intervalo [-2 , 2] engloba 95,44% do valores

exis-tentes, os demais 4,56% poderiam ser considerados outliers.

(44)

Figura 7: Z-score

2.1.5.1.2 Diagrama de caixa

Como foi apresentado, o diagrama de caixa al´

em de

apresen-tar a dispers˜

ao dos valores de um atributo tamb´

em permite identificar

poss´ıveis valores outliers, de modo que aqueles que estejam fora do

in-tervalo [w

i

, w

s

] s˜

ao considerados outliers (BARBETTA; REIS; BORNIA,

2010).

2.1.5.2 Identifica¸

ao de valores inv´

alidos

Supondo que os dados sejam provenientes de algo que os

arma-zene em forma de texto e deseja-se realizar uma an´

alise destes atrav´

es

de um computador. Computacionalmente, textos s˜

ao textos

indepen-dentemente se eles representam n´

umeros o computador n˜

ao consegue

compreender, deste modo valores de atributos considerados

quantitati-vos em forma de texto precisam ser convertidos para tipo num´

erico de

modo que o computador consiga compreender. Assim um valor ´

e

consi-derado inv´

alido se a sua representa¸

ao textual n˜

ao pode ser convertida

em um valor num´

erico entend´ıvel por computadores.

a para os valores inv´

alidos dos atributos qualitativos, n˜

ao

po-dem ser identificados automaticamente desta mesma forma, j´

a que as

categorias destes tipos de atributos podem expressar qualquer coisa,

uma solu¸

ao seria apresentar as categorias presentes no atributos e

(45)

2.1.5.3 Identifica¸c˜

ao de valores e registros missings

Conforme apresentado, missing ´

e a ausˆ

encia de valor, a

identi-fica¸

ao deste ´

e feita simplesmente por uma verifica¸

ao, se o valor n˜

ao

cont´

em nada, ent˜

ao ele ´

e um valor missing.

a a identifica¸

ao dos registros missings pode ser realizada

ob-servando o comportamento de um atributo X, sabendo que todos os

valores de X s˜

ao discretos, podemos considerar que existe um

regis-tro missing quando existe um valor discreto pertencente ao intervalo

[X

min

, X

max

] por´

em esse valor n˜

ao pertence ao conjunto de valores de

X, resumindo, consiste em identificar valores que possivelmente

deve-riam estar dentro do intervalo de valores do atributo X, para todos

esses valores identificados, ´

e prov´

avel que exista um registro missing.

2.2 TRATAMENTO DOS DADOS

O tratamento de valores que s˜

ao outliers, inv´

alidos ou missings

ou qualquer outro valor considerado inadequado pode ser realizado de

maneira semelhante, podendo:

• Remover o registro, entretanto pode resultar na perda de

in-forma¸

oes dos outros atributos.

• Substituir o valor inadequado por um outro valor, como por

exem-plo a m´

edia aritm´

etica da popula¸

ao ou parte dela.

• Identificar uma distribui¸c˜

ao de probabilidades que melhor

cor-responda ao comportamento dos valores do atributo, e a partir

desta distribui¸

ao gerar um valor aleat´

orio que substitua o valor

inadequado.

• Para atributos correlacionadas, pode-se fazer uso, por exemplo,

de t´

ecnicas de aprendizagem de m´

aquina, como regress˜

oes, que

permitem representar as correla¸

oes entre atributos, de modo a

prever qual o valor mais adequado, que condiga com o

compor-tamento da rela¸

ao, deve substituir o valor incorreto.

2.3 DISTRIBUIC

¸ ˜

OES DE PROBABILIDADES

Uma DP (Distribui¸

ao de probabilidades) ´

e uma fun¸

ao

(46)

poss´ıvel de valores ocorrer (FREITAS FILHO, 2008) Uma DP ´

e utilizada

para representar o comportamento aleat´

orio de um atributo. In´

umeras

ao as distribui¸

oes, por´

em as utilizadas neste trabalho foram: Normal

(µ, σ), Lognormal (µ, σ), Uniforme (a, b), Triangular (a, b, m),

Expo-nencial (β), Gamma (α, β), Weibull (α, β) e Beta (α, β).

Segundo Freitas Filho (2008), a identifica¸

ao da DP segue como:

• A constru¸c˜

ao da distribui¸c˜

ao de frequˆ

encias e a utiliza¸

ao de

his-togramas s˜

ao muito ´

uteis para um inferˆ

encia inicial de qual DP

utilizar.

• Escolhida a DP ´

e necess´

ario estimar seus parˆ

ametros. A maioria

das distribui¸

oes utilizam como parˆ

ametros as medidas descritivas

ou parˆ

ametros calculados a partir delas.

Os parˆ

ametros estimados para µ, σ, a, b, m, α e β s˜

ao

respectiva-mente as Equa¸

oes 2.3, 2.5, 2.2, 2.1, 2.25, 2.27 e 2.26. Equa¸

oes

2.27 e 2.26 por Law, Kelton e Kelton (1991)

m = 3µ − (min + max)

(2.25)

β =

σ

2

µ

(2.26)

α =



µ

σ



2

(2.27)

Uma outra maneira de estimar os parˆ

ametros da distribui¸

ao ´

e

utilizando estimador de m´

axima verossimilhan¸

ca (MLE), na qual

foi utilizada na implementa¸

ao da biblioteca de fun¸

oes lib fit

desenvolvida por Formighieri (2007), mais detalhes sobre ser˜

ao

apresentados na Se¸

ao 3.3.1.

2.3.1 Testes de aderˆ

encia

Os testes de aderˆ

encia tˆ

em como objetivo verificar a qualidade

da DP. De forma a observar o desvio entre a distribui¸

ao amostral e a

te´

orica.

2.3.1.1 Teste chi-quadrado

Dado dois conjuntos de valores, um composto pelas amostras

(47)

E = {e

1

, e

1

, . . . , e

N

}. Para realizar o teste chi-quadrado ´

e necess´

ario

construir as distribui¸

oes de frequˆ

encias f o e f e para os conjuntos O e E

respectivamente, Se¸

ao 2.1.3, com pelo menos 5 classes (ou intervalos).

O c´

alculo do valor chi-quadrado ´

e realizado utilizando a Equa¸

ao 2.28,

onde k ´

e o total de classes.

X

2

=

k

X

i=1

(f o

i

− f e

i

)

2

f e

i

(2.28)

Se as frequˆ

encias observadas e esperadas estiverem pr´

oximas, o

numerador da equa¸

ao ser´

a pequeno e consequentemente X

2

tamb´

em.

Quanto menor o valor de X

2

, maior a probabilidade da DP escolhida

condizer com o comportamento real.

Outra forma de compara¸

ao pode ser feita utilizando o valor-p,

que permite testar se hip´

otese de que os valores observados e esperados

se coincidem ´

e nula. Quanto maior for o valor de p, maior a

probabili-dade de a hip´

otese ser falsa.

2.4 REGRESS ˜

OES

As regress˜

oes s˜

ao m´

etodos que permitem identificar a rela¸

ao

entre o valor de um atributo y (dependente) e o valor de outros atributos

x, z, . . . , t (independentes) de modo que permita prever ou calcular o

valor de y em fun¸

ao dos valores de x, z, . . . , t.

As rela¸

oes entre os atributos podem ser de v´

arios tipos: linear,

exponencial, logar´ıtmica, potˆ

encia, log´ıstica, etc. Neste trabalho

so-mente ser´

a abordada a regress˜

ao linear simples.

2.4.1 Regress˜

ao linear simples

A regress˜

ao linear simples (RLS) ´

e a regress˜

ao mais b´

asica de

todas, descreve a rela¸

ao linear, em forma de reta, entre dois atributos

x e y, independente e dependente respectivamente (REIS, 2008). A

Equa¸

ao 2.29 determina a rela¸

ao entre ambos os atributos, ou seja,

o c´

alculo de y em fun¸

ao de x. O e ´

e um valor residual aleat´

orio que

inclui outros fatores, al´

em de x, que podem influenciar o valor de y, α

representa a intercepta¸

ao da reta com o eixo vertical e β ´

e coeficiente

angular da reta.

(48)

alculo das constantes β e α, Equa¸

oes 2.30 e 2.31

respectiva-mente, considerando {x

1

, x

2

, . . . , x

N

} e {y

1

, y

2

, . . . , y

N

} os valores dos

atributos x e y respectivamente que se deseja identificar a rela¸

ao.

β =

N ∗

N

P

i=1

(x

i

∗ y

i

) −

N

P

i=1

x

i

N

P

i=1

y

i

N ∗

N

P

i=1

x

2

i



N

P

i=1

x

i



2

(2.30)

α = µ

y

− β ∗ µ

x

(2.31)

(49)

3 DESENVOLVIMENTO

Neste cap´ıtulo ser˜

ao apresentados detalhes sobre a codifica¸

ao

da ferramenta.

3.1 METODOLOGIA DE TRABALHO

A cria¸c˜

ao desta ferramenta consistiu basicamente em codificar

os conceitos apresentados no Cap´ıtulo 2 e desenvolver a GUI

(Graphi-cal user interface), que permita o usu´

ario utilizar as funcionalidades

implementadas.

Para criar a ferramenta foi alocada uma equipe formada apenas

pelo autor e orientador deste trabalho.

As atividades consistiam em estudar os conceitos necess´

arios,

solucionando eventuais d´

uvidas junto ao orientador e ent˜

ao

traduzi-los para uma linguagem de programa¸

ao. A atividade final e a mais

trabalhosa foi o desenvolvimento da interface.

A linguagem de programa¸c˜

ao escolhida foi C++, na qual o autor

deste trabalho tem maior experiˆ

encia, al´

em de apresentar um bom

de-sempenho nos mais diversos problemas. Foram utilizadas as seguintes

ferramentas de desenvolvimento:

• Microsoft Visual Studio 2010 Ultimate x86 (MVS): Ambiente de

desenvolvimento (IDE).

• Qt 5.0.2 x86 MVS 2010 OpenGL: Ambiente de desenvolvimento

(IDE).

• Qt Visual Studio Add-in 1.2.2: Integra ao MVS a maioria das

funcionalidades disponibilizadas pelo Qt.

3.2 ORGANIZAC

¸ ˜

AO E FUNCIONAMENTO

Nesta Se¸

ao ser˜

ao apresentados os principais aspectos de

orga-niza¸

ao e funcionamento da ferramenta.

A ferramenta foi dividida em 6 subprojetos:

• lib utilidades: Biblioteca que cont´em fun¸c˜

oes variadas que servem

Referências

Documentos relacionados

O cromossomo 7 desempenha um papel principal para a sobrevivência de camundongos infectados com à cepa Y do Trypanosoma cruzi, conforme observado com os resultados de

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

Os casos não previstos neste regulamento serão resolvidos em primeira instância pela coorde- nação do Prêmio Morena de Criação Publicitária e, em segunda instância, pelo

Os ativos não circulantes classificados como disponível para venda são mensurados pelo menor montante entre o seu custo contábil e o seu valor justo, líquido das despesas com a

As mulheres que encontramos nesta pesquisa eram contratadas não somente como professoras de piano e de canto (modo como se apresentavam nos anún- cios), mas como professoras de

atuação das Embaixadas brasileiras no aprimoramento da análise de informações junto a empresas e instituições de outros países sobre atração de investimento em

A PROEX da UFSJ divulga as normas para a seleção de Programas de Extensão, na modalidade “Ação Cultural”, e concessão de Bolsas de Extensão,

A obtenc¸a˜ o de uma lista ligada e´ mais simples e eficiente, e e´ uma soluc¸a˜ o muito boa no caso de blocos de tamanho fixo.4 No caso de blocos de tamanho vari´avel, pode-se