Handout #01

Estatística Descritiva e Inferencial Básica

Prof. Anderson Ara (DESt-UFPR)

14 jun 2022

Neste capítulo apresentamos algumas situações nas quais a Estatística é aplicada, bem como alguns conceitos e terminologias utilizados ao longo deste material.

Como apoio computacional, utilizamos duas linguagens de programação estatística: A linguagem R (Team 2020Team, R Core. 2020. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.) e a Linguagem Python (Van Rossum e Drake 2009Van Rossum, Guido, e Fred L. Drake. 2009. Python 3 Reference Manual. Scotts Valley, CA: CreateSpace.). Ambas são softwares livres e de código aberto (FLOSS - Free/Libre and Open Source Software) e largamente aplicadas para análise de dados. Ao fim deste capítulo, descrevemos os passos para a instalação em ambiente Windows e a integração de ambas as linguagens através do Software RStudio (Team 2015Team, RStudio. 2015. «RStudio: integrated development for R». RStudio, Inc., Boston, MA URL http://www.rstudio.com.).

Introdução

É comum no dia a dia utilizarmos alguns resultados, resumos numéricos ou até mesmo tomarmos uma decisão, sem saber que estamos utilizando técnicas estatísticas. A Estatística é uma ciência multidisciplinar que permite a análise de dados e pode ser empregada em diferentes áreas, como por exemplo,

Os casos acima são apenas alguns breves exemplos da aplicação da estatística em nosso dia a dia. De uma forma geral, estamos acostumados a utilizar a coleta de informação para a tomada de decisão. De fato, até mesmo ao atravessar a rua, nosso corpo capta alguns dados sensorais do ambiente (tipo de pavimento, volume e velocidade dos carros, luminosidade etc.) e os processa em comparação com outras várias informações e experiências anteriores. Assim, intuitivamente ponderamos e esperamos pelo momento certo para atravessar, ou seja, inferimos que nossa ação de atravessar a rua será bem sucedida.

A Estatística é a ciência que formaliza a coleta, análise e interpretação de dados, podendo ser aplicada nas mais diversas áreas onde é possível dados serem obtidos. Envolve um vasto conjunto de técnicas e métodos, que englobam a coleta de informações, planejamento e delineamento de experimentos, análise descritiva, construção de modelos, inferência, tomada de decisões e previsões.

“A Estatística é a ciência de aprender a partir de dados, transformando as informações obtidas em conhecimento. Ela trabalha com a presença da variabilidade nas atividades humanas e nas realizações dos mais diferentes fenômenos de natureza aleatória.”

— Associação Brasileira de Estatística

“Grandes quantidades de dados estão sendo geradas em muitos campos, e o trabalho do estatístico é dar sentido a tudo: extrair padrões e tendências importantes e entender ‘o que os dados dizem’. Chamamos isso de aprender com os dados ‘learning from data’.”

— Hastie, Tibshirani e Friedman

Historicamente, a origem do termo Estatística está ligada ao estudo de informações populacionais e econômicas de um Estado, tema fortemente discutido no século XVII. O termo statisticum collegium, em latim, referenciava-se a “palestra sobre os assuntos do Estado”, a palavra italiana statista referia-se a “homem de estado”, bem como Statistik, palavra alemã, designava a análise de dados sobre o Estado.

A verdadeira origem da Estatística é difícil de ser definida, pois se muitas ciências requerem dados - e a estatística é a formalização da coleta e da análise de dados - segue-se que a história da estatística pode abranger a história de muitas outras ciências (Fienberg 1992Fienberg, Stephen E. 1992. «A brief history of statistics in three and one-half chapters: A review essay». JSTOR.).

Hoje em dia, a estatística moderna fornece um conjunto de tecnologias quantitativas para as ciências empíricas. É muito mais do que uma caixa de ferramentas ou uma miscelânea de técnicas isoladas úteis para as ciências específicas. Há uma unidade nos métodos de estatística. O mesmo programa de computador que analisa os dados de um geofísico hoje pode ser utilizado por um economista, um químico, um cientista da computação, um sociólogo, um psicólogo ou, até mesmo, por um cientista político amanhã (Stigler 2002Stigler, Stephen M. 2002. Statistics on the table: The history of statistical concepts and methods. Harvard University Press.).

Com frequência surgem nomenclaturas alternativas para o emprego da Estatística nos mais diversos contextos. Alguns exemplos recentes são Mineração de Dados, Ciência de Dados, Analytics, Aprendizado de Máquina e Business Analytics. Outros exemplos de termos, um pouco menos populares hoje em dia, são: Biometria, Bioestatística, Bibliometria, Contabilometria, Econometria, Jurimetria, Psicometria, Quimiometria, Sensometria e Sociometria.

Existe um vasto número de métodos estatísticos, porém este material concentra-se apenas nos métodos introdutórios e considerados como métodos de Estatística Básica.

Didaticamente, podemos dividir a Estatística Básica em cinco subáreas: estatística descritiva (organização e descrição dos dados), amostragem (métodos de coleta de dados), probabilidade (análise de eventos que envolvem incerteza nos possíveis resultados), inferência (conclusões sobre características de uma população com base em resultados amostrais) e teoria de decisão (Morettin e Bussab 2017Morettin, P. A., e W. O. Bussab. 2017. Estatı́stica básica. Editora Saraiva.; Costa Neto 1977Costa Neto, P. L. O. 1977. Estatı́stica. Editora Saraiva.). Com exceção da teoria de decisão, abordamos de forma introdutória estas subáreas nas unidades deste material.

Estudo e Pesquisa

As informações coletadas em uma pesquisa ou um estudo, chamadas dados, são inicialmente resumidas em números, organizadas em tabelas e gráficos e utilizadas para descrever uma característica em estudo. Para tanto, precisamos conhecer como tais dados foram coletados e o tipo de dados que vamos analisar.

A atuação de um profissional de Estatística deve começar no planejamento de uma pesquisa. Entre as várias definições encontradas na literatura, podemos dizer que a pesquisa é uma atividade voltada para a solução de problemas, através do emprego de processos científicos.

Existem vários tipos e modalidades de pesquisa. Resumidamente, tem-se a pesquisa de campo (observação dos fatos tal como ocorrem), a experimental (algumas condições são fixadas para verificar possíveis mudanças em desfechos de interesse) e a bibliográfica (recuperar e difundir o conhecimento científico). O primeiro tipo envolve o uso de técnicas de obtenção e análise de uma amostra representativa da população sob estudo e, bem como a experimentação envolve o planejamento dos ensaios com o objetivo de responder questões relevantes aos pesquisadores. As pesquisas também diferem quanto aos objetivos, à forma de abordagem e etapas para análises das informações. Para mais detalhes, ver, por exemplo, Rodrigues (2007Rodrigues, W. C. 2007. «Metodologia Científica». http://www.ebras.bio.br.).

Como exemplo de pesquisa de campo, considere uma empresa de software interessada em conhecer a opinião dos usuários em relação ao desempenho, facilidade, satisfação e aceitação deste software. Neste caso, o planejamento deve envolver uma técnica para seleção da amostra de usuários (programadores, estudantes, etc.), a construção de um questionário, contendo perguntas que permitem atingir o objetivo da pesquisa e a determinação do número de respondentes deste questionário. No caso da pesquisa experimental, um exemplo pode ser uma indústria que deseja identificar, entre seus produtos, quais são mais lucrativos e a região que apresenta maior venda. Neste caso, fixa-se os tipos de produtos e regiões de estudo e verifica-se o desfecho na lucratividade.

População e Amostra

Em um estudo ou pesquisa precisamos, inicialmente, definir os elementos a serem coletados e os que, de fato, podem ser coletados.

Por diversas razões, como custo, viabilidade ou tempo de execução, torna-se inviável coletar informações sobre todos os elementos que englobam um estudo ou pesquisa.

Ilustração dos conceitos de população e amostra. Ilustração dos conceitos de população e amostra.

Chamamos de população o conjunto com todos os elementos (unidades amostrais) que possuem a característica sob estudo. Amostra é uma parte da população para a qual há (ou planeja-se ter) informação. A Figura 1 ilustra o conceito de população e amostra.

Na prática, muitas vezes estamos lidando com uma amostra, pois raramente se tem acesso a todos os dados dos elementos que englobam o estudo. Por exemplo, mesmo em uma instuição financeira que armazena continuamente informações relevantes de seus clientes, o conceito de amostra está presente. Estes dados podem ser pensados, de uma forma geral, como uma parcela da população global de clientes desta instituição.

Mesmo que raro, um estudo que considera dados de todos os elementos de uma população é chamado de censo.

Chamamos de variável a característica a ser estudada (que pode ser medida ou simplesmente observada). A resposta varia de uma unidade para outra, isto é, a característica pode assumir diferentes valores para as diferentes unidades amostrais. Desta forma, a característica estudada é chamada de variável. Também, dependendo da forma de coleta da informação, essa característica pode ser um número ou uma categoria (nome ou palavra). Por exemplo, a variável idade pode ser coletada em anos (número) ou em faixas etárias (categoria).

Assim, a análise estatística está balizada pela classificação de variáveis, ou seja, pode diferir para cada tipo de classificação.

Tipos de variáveis e escala de medidas

As variáveis podem ser classificadas em dois grupos: qualitativas e quantitativas. É importante destacar que o tipo de resposta (numérica ou não) deve ser definido antes de iniciar a obtenção dos dados.

As variáveis qualitativas ou categóricas são classificadas em:

Ilustração dos tipos de variáveis. Ilustração dos tipos de variáveis.

As variáveis quantitativas ou numéricas são classificadas em:

A Figura 2 exibe esquematicamente os tipos de variável.

Uma relação direta com os diferentes tipos de dados é a chamada escala de mensuração, com basicamente 4 níveis: nominal, ordinal, intervalar e de razão.

No próximo capítulo discutiremos alguns exemplos sobre classificação de variáveis e as respectivas análises. Mais detalhes sobre mensuração podem ser encontrados em Agresti e Kateri (2011Agresti, Alan, e Maria Kateri. 2011. Categorical data analysis. Springer.).

A importância de uma linguagem computacional ou software surge com disponibilidade de grandes conjuntos de dados, ou facilidade de obtenção de muitas informações, por exemplo questionários aplicados por e-mail e análise aplicada à estes conjuntos. Decidimos aqui neste material pelo uso das linguagens R e Python que, além da flexibidade e gratuidade de ambas, possem várias metodologias estatísticas já implementadas.

Linguagem R

O ambiente computacional R - também conhecido como Software R - surgiu em 1996, desenvolvido originalmente por Ross Lhaka e Robert Gentleman na Universidade de Auckland, Nova Zelândia. Batizado com o nome R, a inicial de ambos os nomes de seus criadores e sucessor da linguagem S, é uma linguagem amplamente utilizada nas décadas de 80 e 90.

A linguagem R é uma linguagem de programação com foco específico para análise de dados. Através desta linguagem, encontramos facilidade para manipular e armazenar dados, bem como uma diversidade de ferramentas intermediárias para análise de dados, visualização de dados e comunicação gráfica.

A Figura 3 exibe a interface básica do Software R.

Interface gráfica do *Software* R. Interface gráfica do Software R.

No site de apoio do software R estão disponíveis informações relativas às formas de se operar arquivos necessários para sua instalação, bem como uma relação de pacotes disponíveis. O R é compatível com diversos sistemas operacionais, como Windows, Linux e Macintosh.

No sistema operacional Windows, podemos dividir a tela principal em três grandes partes:

  1. menu principal: responsável por todas as opções e funções do software, tais como abrir ou fechar uma imagem, editar a tela principal, gerenciar objetos, gerenciar pacotes, modificar a disposição de janelas e uma opção de ajuda;

  2. barra de ferramentas: exibe botões de atalho para funções importantes como salvar, copiar ou colar, imprimir, etc.;

  3. console de programação: nesta parte são realizados todos os procedimentos de programação. De uma forma geral, qualquer função do programa pode ser executada diretamente do console de programação. O símbolo maior ( \(>\) ) indica que o software está pronto para receber procedimentos.

Instalação da Linguagem R

Para instalar o R iniciamos pelo download, seguindo os passos (a) a (f) descritos a seguir:

  1. acessar o site http://cran.r-project.org indicado na Figura 4;

  2. selecionar o download para sistema operacional desejado como, por exemplo, Download R for Windows;

  3. selecionar o link base;

  4. clicar no link para download como, por exemplo, Download R-4.x.x for Windows .

  5. salvar o arquivo no computador de acesso;

  6. iniciar o procedimento de instalação.

Após o download do arquivo devemos executá-lo. Para uma instalação padrão, basta selecionar o idioma desejado, avançar até a tela final e concluir a instalação.

Página inicial do site do software R. Página inicial do site do software R.

Primeiros passos em R

Nesta seção apresentamos alguns exemplos básicos de utilização do R. Todos os comandos devem ser digitados no console de programação, como mostra o item (c) da Seção . Para facilitar o estudo do leitor, antes da inserção dos comandos, inserimos o símbolo # o qual é chamado de comando para comentários, ou seja, em uma linha de comando, o que estiver depois de # o R não irá interpretar como código. Este procedimento é útil para comentar funções ou mesmo apresentar uma descrição do que está sendo realizado pelo código.

A Linguagem R também pode ser utilizada como uma simples máquina de calcular. Alguns exemplos de adição, subtração, multiplicação, divisão, módulo e potenciação são exibidos abaixo.

#Adição
2+3
## [1] 5
#Subtração
89-71
## [1] 18
#Multiplicação
6*6
## [1] 36
#Divisão

85/3
## [1] 28.33333
#Módulo
abs(-9)
## [1] 9
#Potenciação
2^8
## [1] 256

A linguagem R possui nativamente funcionalidades um pouco mais sofisticadas para cálculos matemáticos, como por exemplo para a aplicação das funções raiz quadrada, exponencial, logaritmos, trigonométricas e fatorial.

#Raiz Quadrada
sqrt(9)
## [1] 3
#Exponencial
exp(-1)
## [1] 0.3678794
#Logaritmo base 10
log10(89)
## [1] 1.94939
#Logaritmo Natural
log(89)
## [1] 4.488636
#Funções Trigonométricas
sin(9)
## [1] 0.4121185
cos(8)
## [1] -0.1455
tan(7)
## [1] 0.871448
#Fatorial
factorial(3)
## [1] 6

Linguagem Python

A primeira versão do Python foi introduzida em 1991 por Guido van Rossum (Van Rossum 2007Van Rossum, Guido. 2007. «Python Programming language.» Em USENIX annual technical conference, 41:1–36. 1.). É uma linguagem de programação gratuita e com foco generalista, através dela é possível desenvolver websites e softwares, automatizar tarefas, bem como realizar análise de dados. O nome Python teve a sua origem no grupo humorístico inglês Monty Python, embora muitas pessoas façam associação com a cobra de mesmo nome (em português, píton). A linguagem Python está disponível gratuitamente em https://www.python.org.

Ainda existem duas versões principais do Python que são utilizadas no momento: Python 2 e Python 3. O que pode levar a uma certa confusão, pois diferem moderadamente em sua sintaxe, ou seja, na forma de programar. O Python 2 está descontinuado e não está mais sendo desenvolvido ativamente, o Python 3 com alta atividade de desenvolvimento. Os códigos em Python 2 geralmente não são executados no Python 3. Este material considera apenas a sintaxe de Python 3.

Interface padrão da Linguagem Python. Interface padrão da Linguagem Python.

A Figura 5 exibe a interface básica da Linguagem Python no terminal Prompt de Comando do Windows.

Instalação da Linguagem Python

  1. Visite o website https://www.python.org/downloads/, indicado na Figura 6, e baixe a versão mais recente. No momento da redação deste material, a versão mais atual é a versão 3.10. A instalação é como qualquer outro software baseado em Windows.

  2. Se você quiser usar o Python em linha de comando do Windows, ou seja, no Prompt de Comando, precisará definir a variável PATH adequadamente, isto é, clicar em Add Python 3.10 to PATH.

Página inicial do site da Linguagem Python. Página inicial do site da Linguagem Python.

  1. Em customize install location adicione um local apropriado para a instalação e que seja de fácil recordação. Por exemplo, C:\Python310, este caminho será importante para configurações adicionais.

Primeiros passos em Python

Nesta seção apresentamos alguns exemplos básicos de utilização do Python. Em suma, são os mesmos exemplos vistos anteriormente em R, porém utilizando a sintaxe de Python. Note que, no momento, a maior diferença encontra-se na potenciação 2^8 no R e 2**8 no Python. A forma geral para inserção de comentários é a mesma do R, através do comando #.

#Adição
2+3
## 5
#Subtração
89-71
## 18
#Multiplicação
6*6
## 36
#Divisão
85/3
## 28.333333333333332
#Módulo
abs(-3)
## 3
#Potenciação
2**8
## 256

Ao contrário do R, A linguagem Python necessita da importação de uma biblioteca (uma coleção organizada de outras funcionalidades) para cálculos matemáticos um pouco mais sofisticados. Para a aplicação de funções matemáticas tais com raiz quadrada, exponencial, logaritmos, trigonométricas e fatorial é necessária a importação da biblioteca nativa math através do código import math. Assim, tais funções são chamadas internamente desta biblioteca através do comando math..

import math

## Raiz Quadrada
math.sqrt(9)
## 3.0
## Exponencial
math.exp(-1)
## 0.36787944117144233
# Logaritmo base 10
math.log10(89)
## 1.9493900066449128
# Logaritmo Natural
math.log(89)
## 4.48863636973214
#Funções Trigonométricas
math.sin(9)
## 0.4121184852417566
math.cos(8)
## -0.14550003380861354
math.tan(7)
## 0.8714479827243188
#Fatorial
math.factorial(3)
## 6

R e Python

Ambas as linguagens são muito utilizadas e bastante poderosas para análise de dados. A maior diferença entre elas pode ser interpretada como, principalmente, o foco inicial de cada uma. A Linguagem R foi criada com foco principal para análise de dados e Linguagem Python com foco mais generalista. Qualquer comparação entre elas é, analogamente, como comparar um carro com um motor para apenas um tipo de combustível e um carro com um motor ‘flex’. Assim, muitos autores ou analistas de dados divagam sobre possíveis comparações entre ambas.

Neste material, optamos por exibir a análise introdutória de dados através de ambas as linguagens devido a grande utilização de ambas, em situações até mesmo integradas.

RStudio IDE

O RStudio é um Software de ambiente de desenvolvimento integrado (IDE - Integrated Development Environment) para a Linguagem R. É disponibilizado pela empresa RStudio Inc., possuindo seu módulo básico de uso gratuito e pode ser obtido através do link https://www.rstudio.com/products/rstudio/download/.

O RStudio visa facilitar a programação em R, e em outras linguagens como Python, por meio de diversas ferramentas, como painéis que o tornam mais prático e de fácil utilização. A Figura 7 exibe a Interface do RStudio, bem como indica os principais locais para sua utilização.

Página inicial do site da Linguagem Python. Página inicial do site da Linguagem Python.

  1. MENU: diversas funcionalidades disponíveis através de navegação;

  2. EDITOR DE CÓDIGOS: área principal para inserção dos códigos;

  3. COMPILADOR: área principal para interpretação, ou compilação, dos códigos;

  4. WORKSPACE, AMBIENTE E HISTÓRICO: ambiente de trabalho com informações adicionais sobre objetos disponíveis, histórico de comandos e conexões com ferramentas externas;

  5. GRÁFICOS, ARQUIVOS E AJUDA: tela auxiliar para criação de gráficos, consultar arquivos, pacotes e ajuda.

Alternativamente, o Python possui diversas IDEs bastante utilizadas com Spyder, PyCharm e Atom, dentre outras. Bem como o Jupyter notebook é uma IDE utilizada para Python, R e Julia. Porém, neste material exploremos o uso do RStudio para uso das Linguagens R e Python.

Desta forma, para realizar a integração das Linguagens R e Python para RStudio é necessário a instalação do pacote (ou biblioteca) chamado reticulate (Ushey et al. 2020Ushey, Kevin, JJ Allaire, Yuan Tang, Dirk Eddelbuettel, Bryan Lewis, S Keydana, R Hafen, e M Geelnard. 2020. «reticulate: Interface to Python». R package version 1: 16.). Esse pacote irá instalar uma versão básica do Python, através do r-miniconda, pelo qual possível integrar ambas linguagens. Neste caso, tornando o ambiente RStudio um local direto para utilização de R e/ou Python.

O reticulate deve ser instalado em R através do seguinte comando:

install.packages('reticulate')

Por default, a versão do Python instalada pelo r-miniconda - ou seja, o software responsável por interpretar e compilar a linguagem Python - difere da versão instalada anteriormente em nosso material. Assim, é necessário sincronizar o RStudio para a versão instalada, sendo esta mais atual. Além disso, essa sincronização será importante pois novas funcionalidades, ou bibliotecas, poderão ser instaladas em Python e, assim, teremos apenas uma única versão para tais instalações.

Para realizar essa sincronização, é necessário alterar um arquivo do R chamado .Rprofile. Para utilizamos a função edit_r_profile() do pacote usethis. Caso o pacote usethis não esteja disponível, instale-o através do comando install.packages('usethis'). Desta forma, a função abaixo irá abrir o arquivo .Rprofile para edição.

usethis::edit_r_profile() 

Basta inserir a linha abaixo com o caminho da versão do Python instalada anteriormente.

Sys.setenv(RETICULATE_PYTHON = 'C:\\Python310')

Após isso, feche e abra novamente o RStudio.

Desta forma, podemos escrever novos códigos em linguagem R através de File > New File > R Script ou podemos escrever nossos códigos em linguagem Python através de File > New File > Python Script utilizando a mesma versão do Python instalada anteriormente neste material.

Ambas as linguagens podem ser mescladas diretamente durante a confecção dos códigos, porém este tema excede a temática deste capítulo.