Utilização da programação de computadores em Estatística



Documentos relacionados
Figura 5.1.Modelo não linear de um neurônio j da camada k+1. Fonte: HAYKIN, 2001

TÉCNICAS DE PROGRAMAÇÃO

Ambiente de Simulação Virtual para Capacitação e Treinamento na Manutenção de. Disjuntores de Subestações de Energia Elétrica,

Guia de utilização da notação BPMN

Introdução Ciclo de vida tradicional de desenvolvimento Prototipagem Pacotes de software Desenvolvimento de 4ª geração Terceirização

UTILIZAÇÃO DE SOFTWARES NA RESOLUÇÃO DE UM PROBLEMA DE PROGRAMAÇÃO LINEAR. Cintia da Silva Araújo, Tiago de Souza Marçal, Magda Aparecida Nogueira

Engenharia de Software

3 Qualidade de Software

Montagem e Manutenção. Luís Guilherme A. Pontes

Curso de Especialização em Tecnologia da Informação. Engenharia de Software

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Software Livre e Engenharia Elétrica

Planificação de. Aplicações Informáticas B

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Aula 4 Estatística Conceitos básicos

Avaliação de Desempenho de Sistemas

Aula 4 Conceitos Básicos de Estatística. Aula 4 Conceitos básicos de estatística

3.1 Definições Uma classe é a descrição de um tipo de objeto.

DESENVOLVENDO COMPETÊNCIAS MATEMÁTICAS Marineusa Gazzetta *

JOGOS ELETRÔNICOS CONTRIBUINDO NO ENSINO APRENDIZAGEM DE CONCEITOS MATEMÁTICOS NAS SÉRIES INICIAIS

O ENSINO DE CÁLCULO NUMÉRICO: UMA EXPERIÊNCIA COM ALUNOS DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

ESTUDO DE CASO: LeCS: Ensino a Distância

ESTUDO DE VIABILIDADE. Santander, Victor - Unioeste Aula de Luiz Eduardo Guarino de Vasconcelos

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Evolução da cooperação em populações modeladas por autômatos celulares com o uso de teoria de jogos

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Exercícios Teóricos Resolvidos

Simulador Virtual para Treinamento em Visão de Máquina com LabVIEW

INTELIGÊNCIA ARTIFICIAL

Pedagogia Estácio FAMAP

As respostas devem ser assinadalas na Folha de Resposta, a qual deverá ser entregue ao Fiscal de Sala Itapetininga, 04 de Dezembro de 2015

Cinco restrições de desenvolvimento/teste que afetam a velocidade, o custo e a qualidade dos seus aplicativos

Daniele Marcelle Grannier, UnB Tércia A. F. Teles, UnB. Introdução

Gestão da TI. Os custos escondidos da. Conheça os custos escondidos na gestão amadora da TI e pare de perder dinheiro.

18º Congresso de Iniciação Científica IMPLEMENTAÇÃO DE UM MODELO DE TESTE DE APLICAÇÕES WEB

NÚCLEO DE APOIO ESPECIALIZADO EM PROGRAMAÇÃO. Lucas Schwendler; Darlei Feix; Andreia Sias Rodrigues

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Curso Técnico em Informática Organização Curricular. A carga horária total dos módulos é oferecida conforme quadro síntese abaixo:

Assunto 9 : Tecnologias de Inteligência Artificial nos Negócios

OS SABERES PROFISSIONAIS PARA O USO DE RECURSOS TECNOLÓGICOS NA ESCOLA

Capítulo 2 Objetivos e benefícios de um Sistema de Informação

Classificação: Determinístico

Módulo 14 Treinamento e Desenvolvimento de Pessoas Treinamento é investimento

CAP5: Amostragem e Distribuição Amostral

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Reconhecimento de Padrões. Reconhecimento de Padrões

6. Programação Inteira

Projeto da Disciplina Parte1: Estudo de Viabilidade. Um Estudo de Viabilidade

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini prof.andre.luis.belini@gmail.com /

Casos de uso Objetivo:

Do neurônio biológico ao neurônio das redes neurais artificiais

Engenharia de Software II

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

TECNOLOGIA E FORMAÇÃO DE PROFESSORES

CÓDIGO CRÉDITOS PERÍODO PRÉ-REQUISITO TURMA ANO INTRODUÇÃO

Papo com a Especialista

Compartilhe. Neste livro está uma das melhores e comprovadas maneiras de se ganhar dinheiro na internet.

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

UNIVERSIDADE FEDERAL DE OURO PRETO PROJETO BÁSICO CURSO DE APERFEIÇOAMENTO EM PRODUÇÃO E ORGANIZAÇÃO DE CONTEÚDO NA EAD CURSO PARA DOCENTES DA UFOP

CLUBE DE PROGRAMAÇÃO NAS ESCOLAS: NOVAS ERSPECTIVAS PARA O ENSINO DA COMPUTAÇÃO. IF Farroupilha Campus Santo Augusto; joaowinck@hotmail.

TEORIA DOS JOGOS E APRENDIZADO

INTEGRAÇÃO DE MÍDIAS E A RECONSTRUÇÃO DA PRÁTICA PEDAGÓGICA

Curso e-learning CEP Controle Estatístico de Processo

COMO FUNCIONA NOSSA CONSULTORIA DE MARKETING DIGITAL ESPECIALIZADA EM VENDAS ONLINE

Introdução. Capítulo. 1.1 Considerações Iniciais

As tecnologias de informação e comunicação

Indicamos inicialmente os números de cada item do questionário e, em seguida, apresentamos os dados com os comentários dos alunos.

A PRÁTICA PEDAGÓGICA DO PROFESSOR DE PEDAGOGIA DA FESURV - UNIVERSIDADE DE RIO VERDE

Denise Fernandes CARETTA Prefeitura Municipal de Taubaté Denise RAMOS Colégio COTET

natureza do projeto e da aplicação métodos e ferramentas a serem usados controles e produtos que precisam ser entregues

Educação Patrimonial Centro de Memória

Especificação Operacional.

Engenharia de Produção: Grande Área e Diretrizes Curriculares

1. Introdução. Avaliação de Usabilidade Página 1

Profa. Ma. Adriana Rosa

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

O USO DE PROGRAMAS COMPUTACIONAIS COMO RECURSO AUXILIAR PARA O ENSINO DE GEOMETRIA ESPACIAL

PROJETO POLÍTICO PEDAGÓGICO: ELABORAÇÃO E UTILIZAÇÃO DE PROJETOS PEDAGÓGICOS NO PROCESSO DE ENSINO APRENDIZAGEM

Capítulo 2. Processos de Software Pearson Prentice Hall. Todos os direitos reservados. slide 1

SIG. Uma plataforma para introdução de técnicas emergentes no planejamento urbano, regional e de transportes

Base Nacional Comum Curricular Lemann Center at Stanford University

EMENTAS DAS DISCIPLINAS

4.1. UML Diagramas de casos de uso

O ENSINO DE PROGRAMAÇÃO PARA CRIANÇAS DA REDE PÚBLICA DE CAMPINA GRANDE

FILOSOFIA SEM FILÓSOFOS: ANÁLISE DE CONCEITOS COMO MÉTODO E CONTEÚDO PARA O ENSINO MÉDIO 1. Introdução. Daniel+Durante+Pereira+Alves+

agility made possible

Orientações para Secretarias de Educação

White-box test: Também conhecido como teste estrutural, tem por objetivo validar os dados derivados das funções do sistema.

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

ADMINISTRAÇÃO GERAL GESTÃO DO DESEMPENHO

Apostila da disciplina Introdução à Engenharia de Software Professor: Sandro Melo Faculdades São José Curso de Tecnologia de Sistemas de Informação

Engenharia de Software. Tema 1. Introdução à Engenharia de Software Profa. Susana M. Iglesias

Faculdade de Ciências Sociais e Aplicadas de Petrolina - FACAPE Curso: Ciência da Computação Disciplina: Ambiente de Negócios e Marketing

LEAN OFFICE - ELIMINANDO OS DESPERDÍCIOS NAS ATIVIDADES ADMINISTRATIVAS

Agenda Semântica. Grupo: Francisco Rodrigues Júnior Guilherme Daher Ferreira Luana Vieira Morellato Renan Rigo

Transcrição:

Universidade Federal de Minas Gerais Luana Sílvia dos Santos Utilização da programação de computadores em Estatística Belo Horizonte Dezembro, 2012

O computador tem desempenhado um papel muito importante nos trabalhados de Estatística desde o fim da década de 60. Atualmente, o seu uso tem crescido de forma exponencial devido a difusão dos microcomputadores que ocorreu há alguns anos atrás. Nos dias de hoje é quase impossível desenvolver análises estatísticas de dados sem o uso do computador e de um software adequado. Até mesmo para conjuntos de dados pequenos ou médios, é necessário recorrer ao computador, visto que grande parte das técnicas incluem processos interativos e são numericamente sofisticadas. Como ferramenta de trabalho em pesquisa estatística, o papel do computador também tem crescido. Seja em estudo de Monte Carlo, seja como ferramenta para investigações heurísticas, o computador se faz cada vez mais presente no processo de busca de novas técnicas e metodologias, e até na formulação e solução de problemas teóricos. Existem hoje vários jornais científicos dedicados exclusivamente (ou com grande ênfase) à área de estatística computacional, como o Journal of Statistical Computation & Simulation, o SIAM Journal on Scientifc and Statistical Computation e o Communications in Statistics. Outros têm sistematicamente seções dedicadas à estatística computacional, ou a algoritmos estatísticos como: The American Statistician e Applied Statistics. O número de pacotes computacionais para análise estatística (ou simplesmente, pacotes estatísticos) tem crescido muito e a tendência é aumentar nos próximos anos. Uma nova perspectiva foi aberta com a possibilidade de se desenvolverem sistemas especialistas. Existe uma linguagem computacional voltada para solução de problemas estatísticos, o S, semelhante à linguagem C, desenvolvida originalmente nos laboratórios da Bell e atualmente em várias universidades e instituições de pesquisa. É muito difícil apresentar um panorama histórico do desenvolvimento do uso do computador em estatística. O início foi lento, e somente no final dos anos 60 o computador começou de fato a representar um papel importante no uso e desenvolvimento da estatística.

A partir dos anos 70 o desenvolvimento acelerou-se rapidamente, e começaram a aparecer livros sobre estatística computacional. Uma indicação da importância que adquiriu essa área são os frequentes simpósios sobre o assunto. Nas reuniões do International Statistical Institute e da American Statistical Association há sempre sessões sobre o tema e, anualmente, realizase o Computer Science & Statistics: Symposium on the Interface. Geração de Números Pseudo- Aleatórios Poderia parecer que fosse imprescindível ter uma definição precisa e rigorosa do que seja uma sequência aleatória, para, somente a partir dela, pensarmos em desenvolver métodos e algoritmos para sua obtenção num computador. Este é, no entanto, um problema complexo e profundo filosófico, inclusive relacionado com o que seja probabilidade. Uma sequência aleatória é um conceito vago, que engloba a ideia de uma sequência em que cada termo é imprevisível, e cujos dígitos passam por um certo número de testes, de uso trdicional pelos estatísticos, e que dependem, de certa forma, dos usos que se pretende dar à sequência. Com isso, fica claro porquê de podermos aceitar gerar sequências (pseudo) aleatórias através de precedimentos determinísticos. Na realidade, tais sequências não são aleatórias no sentido restrito da palavra, mas para fins práticos, comportam-se como se o fossem. Em geral cada centro de computação e, no caso de microcomputadores, cada linguagem de programação dispõem de um procedimento ou função para geração de sequências de valores pseudo-aleatórios. Sequências de números aleatórios têm uma grande gama de aplicações. Entre estas nas seguintes áreas: Amostragem: Para podermos selecionar, dentr os membros de uma população, aqueles que serão incluídos em uma amostra.

Simulação: Ao se imitar, através de um programa de computador, o comportamento de um sistema real, para estudar seu funcionamento sob condições alternativas. Cálculo Numérico: Atravpes de métodos engenhosos de solução de alguns problemas cujas equações têm um paralelo ou são as mesmas que ocorrem em certos processos estocáticos que podem ser, então, simulados. Com o desenvolvimento crescente dos métodos numéricos, está é uma área que tem hoje pouca relevância. Computação: Uma das maneiras de se testar alguns algoritmos é com o uso de sequências de valores aleatórios, como em técnicas de ordenação e busca. Isso quando desejamos saber se o método é adequado em diversas situações. Em vez de escolhermos conjuntos arbitrários de valores, podemos testar o algoritmo usando vários conjuntos de valores gerados aleatoriamente. Monte Carlo: Apesar de que os problemas englobados por simulação e uso de técnicas aleatórias em cálculo numérico podem e foram classificados muitas vezes como de Monte Carlo, esse nome é usado atualmente com frequência crescente, para nos referirmos ao uso de técnicas computacionais em que se geram amostras de acordo com determinadas distribuições teóricas conhecidas, visando estudar novos procedimentos estatísticos ou para compararmos o comportamento de diferentes técnicas estatísticas que poderiam ser empregadas num dado problema. Simulação Esta é, possivelmente, a área em que mais se usa geração de números aleatórios, na atualidade. É uma área muito vasta, que cresceu muito nos últimos vinte anos, tendo nascido com o computador digital. A idéia de construir modelos de simulação é muito antiga. As primeiras simulações feitas pelo homem talvez tenham sido na forma de maquetes para edificações e, mais tarde, em simulações de combates, usando pedras e galhos de árvores para representar batalhões e obstáculos. Possivelmente, o

avanço da ciência não teria alcançado o estágio em que nos encontramos, ou pelo menos teria nos levado por caminhos bastante diferentes, se o homem não tivesse a habilidade de quase inata de criar modelos e simular o comportamento de fenômenos do mundo real usando esses modelos. Foi, no entanto, o aparecimento do computador digital e sua enorme disseminação nos últimos anos que colocaram ao alcance das mentes e das mãos de um número crescente de pessoas a possibilidade de realizar simulações, desde simples joguinhos, até modelos da economia em escala mundial. Para as gerações mais novas, é em geral muito fácil transmitir ideias básicas sobre simulação. Todos os jogos eletrônicos são simulações discretas, algumas complexas. Quase qualquer revista ou livro de divulgação sobre computadores digitais de uso doméstico traz exemplos de alguns jogos simples que usam ideias básicas de simulação, incluindo o uso de geração de números aleatórios. O avanço na área de simulação discreta tem sido muito grande e contínuo. Existem hoje várias revistas técnicas especializadas no assunto e linguagens especiais de quarto nível, como GPSS, Simula e Simscript, dentre outros. Método de Monte Carlo O nome Método de Monte Carlo foi e é usado para indicar geração de números aleatórios, simulação e Método de Monte Carlo propriamente dito. Este nome é usado, com frêquencia crescente, para referir-se ao uso do computador para gerar diferentes situações amostrais e estudar o desempenho de procedimentos e técnicas estatísticas. Esse estudo pode comparar várias técnicas já existentes sob situações bastante variadas ou para experimentar uma técnica nova, ou um procedimento inovador, sob condições estabelecidas, comparando ou não os resultados obtidos com os que se obtêm com outros métodos preexistentes.

Podemos utilizar esse método para, por exemplo, comparar o esempenho de estimadores (média, mediana, trimédia, etc), comparar o desempenho de dois testes de hipóteses para duas situações amostrais e para realizar o cálculo de uma integral. Algoritmos para média, variância e covariância Devido basicamente aos problemasde imprecisão na representação interna de números reais e à maneira como são realizadas as operações básicas no computador, até mesmo os cálculos de médias, variâncias e covariâncias (e correlações) podem resultar em valores completamente errados. Que o problema pode ser sério, principalmente para variâncias e covariâncias (e correlações) evidencia-se pelo fato de que, em 1977, pacotes de uso muito frequentes como SPSS, DATATEXT e OSIRIS produziram resultados errados para conjuntos de dados simples, como apontadi por Wilkinson e Dallal (1977). Até mesmo no cálculo da média, feito de maneira usual, somando os valores e dividindo so final pelo número de termos, podem ocorrer erros. Existem algoritmos que são tentaivas de contornar esses problemas e dar a resposta correta para a média, variância e covariância. Aproximação de distribuições Existem alguns algoritmos relacionados ao seguinte problema: Se X é uma variável aleatória com distribuição F e se Prob (X <= a) = p, como encontrar o valor de p para um dado a e vice-versa. Estamos acostumados, ao trabalhar com Estatística, a resolver este problema usando tabelas. No computador não seria prático (às vezes nem mesmo viável) fazer o uso dessas tabelas. Por essa razão, é importante conhecer métodos eficientes para resolver o problema através de

aproximações das distribuições, por exemplo, Normal, Qui-Quadrado, t de Student e F de Snedecor. Estatística e o Aprendizado de Máquina (Machine Learning) Nos últimos anos, a Inteligência Artificial (IA) ganhou um papel de protagonista no cenário mundial de estudos relacionados à computação. Mesmo com esta nova notoriedade vinda à tona somente recentemente, o estudo de IA não é algo tão novo assim. As pesquisas foram iniciadas logo após o fim da Segunda Guerra Mundial e o seu nome foi definido no final da década de 50. Russell e Norving (2004). É sabido que existe uma ampla área de atuação em IA, informação que contrasta com a falta de interesse dos profissionais de ingressarem em estudos relacionados neste setor. Russell e Norving (2004) afirmam devido à falta de pesquisas em IA, existe espaço ainda para o nascimento de muitos Einsteins, Galileus e Newtons. Fazem menção a não existência de grandes pensadores revolucionários nesta área de estudos. Atualmente, a IA cobre uma vasta área de estudos com muitas subáreas. Simon (1983) define aprendizado como qualquer mudança num sistema que melhore o seu desempenho na segunda vez que ele repetir a mesma tarefa, ou outra tarefa da mesma população. Aprendizado de Máquina (AM) é uma parte da IA responsável pelo desenvolvimento de teorias computacionais focadas na criação do conhecimento artificial. Softwares desenvolvidos com esta tecnologia possuem a característica de tomarem decisões com base no conhecimento prévio acumulado através da interação com o ambiente.

AM (do inglês, Machine Learning) é a área de Inteligência Artificial cujo objetivo é o desenvolvimento de técnicas computacionais sobre processo de aprendizado, conclui Bishop (2007). De acordo com a Wikipédia, "A aprendizagem de máquina é um subcampo da inteligência artificial dedicado ao desenvolvimento de algoritmos e técnicas que permitam ao computador aprender, isto é, que permitam ao computador aperfeiçoar seu desempenho em alguma tarefa." Outra definição possível é a de que Machine Learning é um conjunto de ferramentas e métodos que visa perceber padrões e extrair visões a partir de registros e observações passadas. É uma ciência que faz os computadores agirem sem serem explicitamente programados! AM é uma peça fundamental para a evolução da robótica e automações de modo geral. É comum a utilização de algoritmos, computação on-demand, dados que estão em toda parte, Big data analytics, porque o dado por si só não significa nada. Logo, é facíl perceber a junção da Estatística e da Programação, visto que o Mchine Learning pode ser visto como a interseção de Matemática e Estatística com Engenharia de Software e Ciência da Computação. Ela é usada por exemplo na web - por meio de monitoramento de campanhas e eventos (blogs/twitter) -, na medicina, no reconhecimento de escrita manual, no reconhecimento de imagens, na detecção de fraudes de cartões de crédito, na classificação do DNA, na astronomia, etc. Algumas partes da aprendizagem de máquina estão intimamente ligadas à Estatística. O papel da Estatística é usar métodos para modelagem do input output, avaliar erros de predição, utilizar critérios para escolha de modelos, adaptação de técnicas já existentes a grandes bancos de dados, desenvolvimento de métodos estatísticos praa previsão e classificação, desenvolvimento de algoritmos eficientes a partir de modelos probabilísticos, dentre outros. As técnicas utilizadas são: Árvores de Decisão, SVM, redes neurais, etc. Existem dois tipos de aprendizados, são eles: Aprendizado supervisionado: Neste existe um banco de dados de treino, onde o output é conhecido. (Ex: Etiquetar)

Aprendizado não supervisionado: Um modelo estatístico deve ser ajustado do input, mas não há banco de dados. (Ex: Clustering, Estatística) A maioria dos problemas do Machine Learning são de classificação ou regressão. Software Livre R: aplicação estatística O uso de pacotes estatísticos para a análise de dados é de grande importância no que se refere à análise e a interpretação de resultados. Porém, podemos observar que eles têm um custo de aquisição relativamente elevado, ou a criação de programas de alternativos. Dentre os softwares de domínio público, livres, que podem ser utilizados para análise de dados em geral, encontra-se o Ambiente R, ou simplesmente R, conforme usualmente chamado pelos seus usuários. Este apresenta código fonte aberto, podendo ser modificado ou implementado com novos procedimentos desenvolvidos por qualquer usuário a qualquer momento. O R conta com um grande número de colaboradores das mais diversas áreas do conhecimento. O R é uma linguagem orientada a objetos criada em 1996 por Ross Ihaka e Robert Gentleman que aliada a um ambiente integrado permite a manipulação de dados, realização de cálculos e geração de gráficos. Semelhante à linguagem S desenvolvida pela AT&T s Bell Laboratories e que já é utilizada para análise de dados, mas com a vantagem de ser de livre distribuição. É importante salientar que o R não é um programa estatístico, mas que devido a suas rotinas permite a manipulação, avaliação e interpretação de procedimentos estatísticos aplicado a dados. O R é, portanto, uma importante ferramenta na análise e na manipulação de dados, com testes paramétricos e não paramétricos, modelagem linear e não linear, análise de séries temporais, análise de sobrevivência, simulação e estatística espacial, entre outros, além de apresentar facilidade na elaboração de diversos tipos de gráficos, no qual o usuário tem pleno controle sobre o gráfico criado.

Como o R é uma linguagem de programação orientada a objetos, o usuário pode criar suas próprias funções e sua própria rotina na análise de dados. Outro atributo do R é sua capacidade de interagir com outros programas estatísticos, bem como de banco de dados. Além dos procedimentos estatísticos o R permite operações matemáticas simples, e manipulação de vetores e matrizes. Assim como confecção de diversos tipos de gráficos. Referências: Introduction to Statistics and Computer Pograming - Kossack e Herschke Estatística Computacional - J. Noberto W. Dachs Elementary Computer-Assisted Statistics - Frank Dcalzo & Rowland Hughes Statistical Computation - Milton e Nelder http://blog.concretesolutions.com.br/2012/05/machine-learning-no-java-cecommunity-conference/ http://pt.wikipedia.org/wiki/aprendizagem_de_m%c3%a1quina http://www2.ufersa.edu.br/portal/view/uploads/setores/137/apostilas%20e%20 Tutoriais%20-%20R%20Project/Apostila%20R%20-%20GenMelhor.pdf