Logo

INTRODUÇÃO A ESTATÍSTICA DESCRITIVA: CONCEITOS E APLICAÇÕES

UNIVERSIDADE FEDERAL DA PARAÍBA

Prof. Dr. Sinézio Fernandes Maia

Monitor: Josué de Meneses Lopes

Atualização: 10.12.2024

Objetivos

Apresentar os conceitos introdutórios de estatítistica descritiva com fins específicos para o uso na disciplina de econometria e com aplicações no software R-Studio / statistics®.

Sobre o Professor (lattes):

Graduação em Economia pela Universidade Estadual de Maringá, PR (1992), mestrado em Economia Aplicada pela Universidade Federal de Viçosa, MG (1996), doutorado em Economia pela Universidade Federal de Pernambuco, PE (2001) e pós-doutorado em Economia pela Universidade Federal do Rio Grande do Sul, RS (2009). Desde 2002 é professor da Universidade Federal da Paraíba, PB. Foi Coordenador do Grupo de Assessoria, Planejamento e Pesquisa Econômica do Departamento de Economia (GAPPE) de 2003-2005; foi Coordenador do Programa de Pós-Graduação em Economia, (PPGE) de 2005-2007 e 2007-2009. Foi Chefe do Departamento de Economia da UFPB, gestão 2013-2015 e 2015-2017, Foi Diretor Científico do Instituto de Desenvolvimento em Economia (IDEP-UFPB). Tem concentrado em pesquisas, na área de Economia Aplicada, com ênfase em modelagens econométricas de série de tempo em Mercado de Capitais, Economia Monetária e Comércio Internacional. Tem atuado nos seguintes temas: Modelos de Volatilidade e Modelagem por Séries Temporais. No ensino tem ministrado as disciplinas de Econometria, Derivativos e Gestão de Riscos na graduação. Na Extensão Universitária, coordena o Projeto Sala de Ações da UFPB com enfoque na Educação Financeira e ênfase em Investimentos em Renda Variável, desde 2007 (17 anos).

Currículum Lattes:

http://lattes.cnpq.br/3294212520805128

E-mail para Contato:

Parte 1 - Noções preliminares

1. A Estatística Descritiva e Indutiva

A estatística descritiva é a área da estatística que trabalha com os valores amostrais, aplicando-lhes uma série de procedimentos: distribuição de frequências, histogramas, média, mediana, moda, quartis, variância, desvio padrão, coeficiente de variações, assimetria, curtoses, etc. Além dos diversos procedimentos efetuados, é também razoável descrever os dados através de Tabelas e Gráficos sintetizando, assim, toda a trajetória de uma base de dados. A estatística indutiva permite estabelecer conclusões (inferências) populacionais a partir das estatísticas descritivas amostrais, que são: estimação, cálculo da margem de erro, nível de significãncia, testes de hipóteses, etc. Por exemplo, admita que a altura representativa de uma população (X) seja obtida por uma amostra de 31 valores e que possui um comportamento normal, tenha um valor expresso por 1,62m. Em linguagem matemática:

\[ Média(X) = \mu\approx \bar{x} = 1,62m \]

1.1. A Probabilidade

A estatÍstica permite induzir acerca das características individuais, a partir das características médias de uma população. Dessa forma, é razoável imaginar que a partir de uma base de dados coletadas de uma população, efetua-se a inferência estatística com alguma probabilidade de acerto, nas afirmações. Por exemplo, admita uma altura individual de 1,57m poderíamos calcular a probabilidade de existirem estudantes iguais ou mais baixos que 1,57m essa probabilidade seria de 25,8%, ou seja:

\[ P (X \leq 1,57) = 25,8\% \]

Essa afirmação não é uma certeza, mas uma previsão. Não se sabe todos os valores populacionais da altura, mas podemos prever que se um censo for realizado, 25,8% da população de estudantes será menor que 1,57m. Veja a força da Estatística! Através de uma amostra (de 31 observações) de alturas de estudantes, podemos traçar conclusões para as alturas da população. No entanto, para isso dar certo, a amostra deve ser representativa da população, deve ser imparcial e possuir tamanho suficiente.

1.2. Método Estatístico

Seja X uma variável aleatória que represente uma característica em estudo de certa população. Queremos estudar o comportamento dessa característica, mas não podemos, por razões de economia, obter os valores populacionais de X.

Modelo probabilístico → distribuição de probabilidades;

  1. Através dos valores que calculamos para as estatísticas descritivas da amostra, estimamos os valores dos parâmetros desse modelo populacional.

  2. Estimados os parâmetros populacionais podemos, através do uso de tabelas, calcular as probabilidades de eventos populacionais de interesse da variável X;

O Método Estatístico encerra um ciclo de indução e dedução:

  1. Através de uma parte do todo (amostra), induzimos uma teoria representativa (modelo probabilístico). Através dessa teoria, deduzimos comportamentos futuros do todo que estamos estudando (calculamos probabilidades de ocorrências).

Fonte: Elaboração Própria.
Figura 1

1.3. Coletando Dados

Os agentes econômicos precisam de informações para tomar decisões; parte dessas informações será “estatística”. A fonte destes dados deve ser sempre de órgãos oficiais que seguem diretrizes e padronizações internacionais (IBGE, FMI, OIT, ONU, FAO, OECDE, etc).

Existem duas maneiras de obter dados:

  • Podemos usar dados já coletados por orgãos oficiais (secundários);
  • podemos coletar, nós mesmos, nossos dados (primários).

Quando usamos dados secundários, precisamos estar atentos para todos os tipos potenciais de erros e tendenciosidade. Usando dados secundários, você acessa informação de maneira rápida e barata, mas precisa ser capaz de verificar erros e tendenciosidade.

1.3.1. Buscando dados pela API do Banco Central

variável <- get_series(1000, start_date = "2023-01-01", end_date = "2023-12-31")

1.3.2. Buscando dados pela API do IBGE

variável <- get_sidra(api = "/t/1000/n1/all/v/all/p/all/c10000/100000")

1.3.3. Fontes Potenciais de Erro e Tendenciosidade

O que você deve verificar? As pesquisas estão sujeitas a erros potenciais. Existem quatro tipos de erros de pesquisa:

  1. Erro de amostragem (espera-se representatividade da amostra);
  2. Erro de resposta;
  3. Erro de falta de resposta;
  4. Erro de delineamento.

Erro de delineamento (cobertura) - o erro de delineamento pode aparecer devido a incorreções

  • Na configuração da população; ou,
  • No método de selecionar a amostra de uma configuração.

1.3.4. Questões Eticas

Nem todo estudo de pesquisa é bom, significativo ou importante, e nem todo estudo de pesquisa é ético. Devemos nos tornar saudavelmente céticos e avaliar criticamente o que lemos e ouvimos. Devemos examinar o objetivo da pesquisa, por que ela foi conduzida, para quem, e então descartá-la se acharmos que carece de objetividade ou de credibilidade.

Implicações éticas surgem quando estamos decidindo que dados devemos apresentar em forma de tabelas e gráficos, e que dados não devemos apresentar. É de importância vital, ao apresentar dados, que se documentem tanto os resultados bons quanto os ruins. Ao fazer apresentações orais e ao apresentar relatórios por escrito, é essencial que os resultados sejam oferecidos de maneira justa, objetiva e neutra.

2. Apresentando Informações

A primeira etapa de uma pesquisa, para transformar dados brutos em informações úteis, é simplificá-los e apresentá-los. A escolha entre gráficos e tabelas depende tanto da clareza com que eles apresentam a informação com precisão como da receptividade do público ao formato escolhido. “é importante, quando se apresenta informação numérica, lembrar que muitas pessoas têm dificuldade para entender tal informação”.

O gráfico estatístico é uma forma de apresentação dos dados estatísticos, cujo objetivo é o de produzir, no investigador ou no público em geral, uma impressão rápida e viva do fenômeno em estudo, já que os gráficos falam mais rápidos que as séries no formato de tabelas.

Para tornarmos possível uma representação gráfica, estabelecemos uma correspondência entre os termos da série e determinada figura geométrica, de tal modo que cada elemento da série seja representado por uma figura proporcional.

REQUISITOS

A representação gráfica de um fenômeno deve obedecer aos seguintes requisitos primordiais:

  1. Simplicidade - indispensável devido à necessidade de levar a uma rápida apreensão do sentido geral do fenômeno apresentado a fim de não nos perdermos na observação de minúcias de importância secundaria.

  2. Clareza o gráfico deve possibilitar uma correta interpretação dos valores represen- tativos do fenômeno em estudo.

  3. Veracidade indispensável qualquer comentário, posto que, se não representa uma realidade, o gráfico perde sua finalidade.

Construindo Bons Gráficos

Ao construir qualquer tipo de gráfico, é importante garantir que o gráfico receba um título adequado, cada um dos eixos sendo rotulado e uma escala sensata utilizada.

A qualidade do gráfico depende de quão bem ele apresente o padrão dos dados e quão claramente ele conte a história neles contida para o público.

Um gráfico transmite a informação em formato mais fácil de ler do que uma tabela. Todavia, gráficos mal desenhados, intencionalmente ou não, podem confundir e conduzir à interpretações erradas.

Gráfico em Linhas

Este é um gráfico que é normalmente utilizado para um propósito específico - série temporal.

  • Cada ponto individual pode ser representado por um destaque ligado por uma linha reta;

  • Mostrar uma Tendência.

Gráficos de Barras

Esse tipo de gráfico pode ser utilizado para todos os tipos de dados, exceto dados contínuos e dados na forma de uma série temporal.

  • Os gráficos de barras são mais usados para mostrar diferenças entre categorias, como gênero, por exemplo.
Código
# Criar um data frame com as colunas necessárias para o PIB
pib_data <- data.frame(
  Data = ymd(paste(var1$`Trimestre (Código)`, "01", sep = "")),
  PIB = as.numeric(gsub(",", ".", var1$Valor)) / 1000 # Converter para bilhões substituindo vírgulas por pontos e dividindo por 1000
)

# Filtrar os dados para o período de 2016 até o momento mais atual
pib_data <- pib_data[pib_data$Data >= as.Date("2016-01-01"), ]
pib_data <- pib_data[order(pib_data$Data), ]

# Criar um data frame com as colunas necessárias para o RNB
rnb_data <- data.frame(
  Data = ymd(paste(var2$`Trimestre (Código)`, "01", sep = "")),
  RNB = as.numeric(var2$Valor) / 1000 # Converter para bilhões dividindo por 1000
)

# Filtrar os dados para o período de 2016 até o 1º trimestre de 2024
rnb_data <- rnb_data[rnb_data$Data >= as.Date("2016-01-01"), ]
rnb_data <- rnb_data[order(rnb_data$Data), ]

# Combinar os dados de PIB e RNB
combined_data <- merge(pib_data, rnb_data, by = "Data", all = TRUE)

# Criar rótulos no formato "Ano-Mês"
combined_data$Trimestres <- format(combined_data$Data, "%Y-T%m")

# Garantir que os rótulos sejam únicos e correspondam aos meses corretos
combined_data$Trimestres <- factor(combined_data$Trimestres, levels = unique(combined_data$Trimestres))


####### Gráfico Interativo com Plotly #######

# Converter os dados para formato longo (long format) para o Plotly
combined_long <- combined_data %>%
  pivot_longer(cols = c(PIB, RNB), names_to = "Indicador", values_to = "Valor")

# Criar o gráfico com barras lado a lado para cada trimestre
plot <- plot_ly(
  combined_long,
  x = ~Trimestres,
  y = ~Valor,
  color = ~Indicador, # Cores diferentes para PIB e RNB
  colors = c("blue", "darkorange"),
  type = 'bar',
  text = ~paste(Indicador, ": ", round(Valor, 2), " bilhões"),
  hoverinfo = "text"
) %>%
  layout(
    title = "PIB e RNB Trimestral a Preços de Mercado (em bilhões de reais)",
    xaxis = list(
      title = "Trimestres",
      tickangle = -45, # Rotação dos rótulos do eixo x
      type = "category" # Tratar o eixo x como categórico
    ),
    yaxis = list(title = "Bilhões de reais"),
    barmode = 'group', # Barras lado a lado
    legend = list(title = list(text = "Indicador"))
  )

# Exibir o gráfico
plot
Código
####### Tabela Interativa #######

# Remover a coluna "Data"
combined_data <- combined_data %>% select(-Data)

# Reordenar as colunas para que "Trimestres" seja a primeira
combined_data <- combined_data %>%
  relocate(Trimestres, .before = everything())

####### Tabela Interativa #######

# Gerar a tabela com as configurações ajustadas
datatable(
  combined_data,
  caption = 'Tabela de PIB e RNB Trimestral a Preços de Mercado (em bilhões de reais)', 
  options = list(
    pageLength = 10,
    language = list(
      url = '//cdn.datatables.net/plug-ins/1.10.25/i18n/Portuguese-Brasil.json'
    ),
    rowCallback = JS(
      "function(row, data, index) {",
      "  $('td', row).css('background-color', '#f2f6fc');",  # Cor uniforme para todas as linhas
      "}"
    ),
    headerCallback = JS(
      "function(thead, data, start, end, display) {",
      "  $(thead).css({'background-color': '#2366C0', 'color': 'white', 'font-family': 'Roboto'});",  # Alterar a fonte
      "  $('th', thead).css({'background-color': '#2366C0', 'color': 'white', 'font-family': 'Roboto'});",
      "}"
    ),
    initComplete = JS(
      "function(settings, json) {",
      "  $(this.api().table().node()).css({'font-family': 'Roboto'});",  # Alterar a fonte
      "}"
    )
  )
)

Gráficos de Setores

De maneira similar a um gráfico de barra, o gráfico de setores pode ser utilizado para a maioria dos tipos de dados.

  • Mostrar que proporção do todo é tomada por uma categoria:

  • Somente será útil se o número de categorias for pequeno;

  • Cada categoria for uma proporção significativa do total de dados.

Código
# Processando os dados do PIB de 2010
agropecuaria1 <- agropecuaria1 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

industria1 <- industria1 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

servicos1 <- servicos1 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

consumofamilia1 <- consumofamilia1 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

consumogoverno1 <- consumogoverno1 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

fbcf1 <- fbcf1 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

exportacao1 <- exportacao1 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

importacao1 <- importacao1 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

# Criando o data frame para 2010
data2010 <- data.frame(
  Categorie = c("Agronegócio", "Serviços", "Indústria", "Consumo das Famílias", 
                "Consumo do Governo", "Exportação", "Importação", "FBCF"),
  Values = c(agropecuaria1, servicos1, industria1, consumofamilia1, 
             consumogoverno1, exportacao1, importacao1, fbcf1)
)

# Processando os dados do PIB de 2020
agropecuaria2 <- agropecuaria2 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

industria2 <- industria2 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

servicos2 <- servicos2 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

consumofamilia2 <- consumofamilia2 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

consumogoverno2 <- consumogoverno2 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

fbcf2 <- fbcf2 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

exportacao2 <- exportacao2 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

importacao2 <- importacao2 %>% 
  summarise(sum = sum(Valor)) %>% 
  pull(sum)

# Criando o data frame para 2020
data2020 <- data.frame(
  Categorie = c("Agronegócio", "Serviços", "Indústria", "Consumo das Famílias", 
                "Consumo do Governo", "Exportação", "Importação", "FBCF"),
  Values = c(agropecuaria2, servicos2, industria2, consumofamilia2, 
             consumogoverno2, exportacao2, importacao2, fbcf2)
)

# Definindo as cores para ambas as fatias com tons mais vivos
colors <- c('rgb(255,0,0)',    # Agronegócio - Vermelho
            'rgb(0,0,255)',  # Serviços - Azul Escuro
            'rgb(255,255,0)',  # Indústria - Amarelo
            'rgb(0,255,0)',    # Consumo das Famílias - Verde
            'rgb(0,255,255)',  # Consumo do Governo - Azul claro (Ciano)
            'rgb(128,0,128)',  # FBCF - Roxo
            'rgb(255,0,255)',    # Exportação - Laranja
            'rgb(255,165,0)')  # Importação - Magenta (Rosa forte)

# Criando o gráfico interativo com plotly
fig <- plot_ly()

# Adicionando o gráfico de pizza para 2010
fig <- fig %>% add_pie(
  data = data2010, 
  labels = ~Categorie, 
  values = ~Values, 
  name = "PIB 2010", 
  domain = list(x = c(0, 0.3), y = c(0, 1)),
  marker = list(
    colors = colors, 
    line = list(color = 'black', width = 0.7)  # Contorno preto
  ),
  textinfo = "label+percent",
  hoverinfo = "label+value+percent"
)

# Adicionando o gráfico de pizza para 2020
fig <- fig %>% add_pie(
  data = data2020, 
  labels = ~Categorie, 
  values = ~Values, 
  name = "PIB 2020", 
  domain = list(x = c(0.5, 1), y = c(0, 1)),
  marker = list(
    colors = colors, 
    line = list(color = 'black', width = 0.7)  # Contorno preto
  ),
  textinfo = "label+percent",
  hoverinfo = "label+value+percent"
)

# Ajustando o layout do gráfico
fig <- fig %>% layout(
  title = "Comparação do Produto Interno Bruto: 2010 vs 2020 em Milhões de Reais / Fonte: IBGE",
  showlegend = FALSE,  # Remove a legenda
  xaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE),
  yaxis = list(showgrid = FALSE, zeroline = FALSE, showticklabels = FALSE)
)

# Exibindo o gráfico
fig

Pontos Importantes Sobre Gráficos

  1. Gráfico sem o devido comentário é como um filme mudo: pode ser bem feito e bem planejado, mas sem palavras para destacar pontos importantes, indicar os padrões gerais e transmitir uma mensagem, somente alguns realmente entenderão. As palavras têm um papel importante nos gráficos;

  2. A menos que o espaço seja caro, dois gráficos são melhores do que um só, sobrecarregado;

  3. Podem ser feitas linhas de grades horizontais para ajudar a leitura, principalmente no eixo das ordenadas;

  4. O título do gráfico deve ser claro; use unidades de medida, identifique a área geográfica e o período, defina as variáveis; a fonte dos dados deve ser escrita claramente. Se houver mais de um gráfico, cada um deve ter número próprio, para referência;

  5. Sempre que possível, devem ser identificados no próprio gráfico as linhas e os setores, sem o uso de uma legenda que exija olhar em dois pontos diferentes;

  6. Use sombreamento ou cores e símbolos para distinguir setores, barras e linhas;

  7. Se você quiser comparar tendências ao longo do tempo, pergunte-se por que você está começando o gráfico em determinado período.

Pontos Importantes Sobre Tabelas

As tabelas de dados são uma ocorrência quase diária, e não existem regras realmente fixas que determinem sua construção.

  1. Seja claro sobre o que você deseja que a tabela mostre;

  2. As tabelas devem ter títulos: o título deve explicar os dados com poucas palavras simples, e explicar como eles foram classificados, em que tempo e lugar, as unidades de medida.

  3. Como os títulos das colunas e das linhas devem ser pequenos, você pode usar notas para dar definições, no entanto, devem ser evitadas as notas muito longas, porque sua função é melhorar o entendimento dos dados;

  4. A fonte completa dos dados (em geral no rodapé da tabela) deve ser, sempre, fornecida, de maneira que os leitores possam achar os dados originais;

  5. Use letras maiúsculas apenas no início das palavras de uma linha ou de uma coluna;

  6. Decida-se sobre a precisão dos números antes de fazer a tabela, isto é, sobre o número de casas decimais, sobre arredondamentos e se os dados devem ser apresentados em unidades, centenas, milhares etc. A razão é o fato de ser mais fácil para o leitor comparar e memorizar números redondos;

  7. Escreva os números que devem ser comparados um ao lado do outro, de preferência em colunas é mais fácil ler colunas do que linhas;

  8. Faça um sumário dos pontos mais importantes da tabela no texto. Uma tabela bem feita deve permitir que sejam vistos, de imediato, os padrões e exceções relatados no texto:

  9. Como regra não use tabelas para mostrar tendências ou correlações genéricas. Os gráficos são melhores;

  10. Se você possui grandes quantidades de dados, duas ou três tabelas simples são melhores do que uma grande e complicada.

3. Utilização de Softwares

3.1. Rstudio

Na realização de pesquisas sejam elas qualitativas ou quantitativas os pesquisadores recorrem ao uso de softwares que lhes permitem realizar os cálculos estatísticos e as inferências necessárias para responder problemas de pesquisas que por ventura foram estabelecidos. Existem diversos softwares estatísticos: Excel, Stata, Eviews, MatLab, Ocs, R, dentre outros. Cada um possui sua forma de realizar as funções, sejam elas com interface gráfica ou através de comandos. Neste curso utilizaremos o R statisites.

Para realizar o download do R basta acessar o site https://cran.r-project.org e clicar no link referente ao sistema operacional instalado no seu computador (Windows, Linux, Mac). No procedimento de instalação deve-se escolher um dos Mirrors, geralmente a localidade mais próxima de sua Universidade; no caso, escolheria <>: http://www.vps.fmvz.usp.br/CRAN/ ou http://cran-r.c3sl.ufpr.br/.

Após o procedimento de instalação, ao executar o programa a página inicial será mostrada conforme a figura abaixo:

Os comandos podem ser executados na janela R console conforme a figura acima, ou podem serem digitados em um script separado. Para abrir um script e criar a rotina desejada basta seguir os passos: clicar no menu Arquivo > Novo Script.

Ao iniciar a execução do R, por default, alguns PACOTES (Packages) ficam disponíveis para a utilização; para carregar da memória (disponíveis para utilização), deve-se utilizar as seguintes funções:

library("pacote")
require("pacote")

Muito outros podem ser carregados para o R com as seguintes funções:

install.packages("package") # Nome do pacote

Para detalhes sobre os diversos pacotes existentes, no MENU do R <<Packages & Data>> estão disponibilizados um número muito grande de processos. Após a instalação e execução do software, é necessário a inserção de dados para realizar os cálculos e funções desejadas. Assim, pode-se criar o banco de dados, digitando os valores no próprio script, ou pode-se importar uma base de dados prontos (secundários).

Os dados secundários podem ser coletados em base de dados nas quais contém séries temporais, como o IPEADATA, o Banco Central do Brasil e o IBGE. Nessas bases de dados é possível baixar as séries em formato .xls (Excel). A figura abaixo está a construção da base de dados com duas séries que serão utilizadas como exemplo aqui: o PIB acumulado no últimos 12 meses e o IPCA em forma de número índice. Para realizar os procedimentos de testes e cálculos no software R, é necessário que importe as séries do arquivo .xls para um arquivo .txt.

3.2. PASSO 1

Após esta transformação do arquivo xls em .txt, ao abrir o software digita-se o seguinte comando para importar os dados:

base = read.table(file.choose(), head = T)
base

Ou informa o endereço exato de onde se encontra o arquivo .txt:

pibac12 <- read.table ("Dados/PIBAC12.txt", header=TRUE)
pibac12_ts <- ts(pibac12, frequency = 12, start = c(2003,1))

Para fins de exemplo, utilizaremos a série do PIB acumulado últimos 12 meses e a série do IPCA em forma de número índice. Chamamos a base de pibac12 conforme a figura abaixo.

Abrindo a base de dados (delimitado a apresentação das 30 primeiras observações):

Código
var3_ts[1:30]
 [1] 1502124 1522030 1543732 1564350 1580855 1595357 1613126 1629693 1654912
[10] 1680139 1698929 1717950 1734698 1744966 1765492 1783600 1803656 1828300
[19] 1851889 1875591 1894202 1910240 1933499 1957751 1976938 1995254 2012678
[28] 2031483 2049495 2066440

3.3. PASSO 2

Com os dados importados, é possível fazer diversos cálculos e inferências. Caso deseje calcular probabilidades, o software fornece funções para tal finalidade de acordo com a distribuição dos dados. Pode-se calcular a função de densidade, função de distribuição e função da probabilidade. Assim, para o caso da distribuição normal as funções abaixo podem ser utilizadas

# Calcula a densidade de probabilidade no ponto x;
dnorm (x, mean, sd)

# Calcula a função de probabilidade acumulada no ponto x;
pnorm (x, mean, sd)

# Calcula o quantil correspondente a uma dada probabilidade p;
qnorm (p, mean, sd)

# mean se refere a média e sd ao desvio padrão.

Para o caso da distribuição t student:

# Calcula a densidade de probabilidade no ponto x;
dt(x, df)

# Calcula a função de probabilidade acumulada no ponto x;
pt(x, df)

# Calcula o quantil correspondente a uma dada probabilidade p;
qt(p, df)

#df se refere aos graus de liberdade.

Para o caso da distribuição Qui-Quadrado:

# calcula a densidade de probabilidade no ponto x;
dchisq (x,df)

# calcula a função de probabilidade acumulada no ponto x;
pchisq (x,df)

# calcula o quantil correspondente a uma dada probabilidade p;
qchisq (p,df)

#df se refere aos graus de liberdade.

Para o caso da distribuição F:

# calcula a densidade de probabilidade no ponto x;
df (x, df1, df2)

# calcula a função de probabilidade acumulada no ponto x;
pf (x, df1, df2)

# calcula o quantil correspondente a uma dada probabilidade p;
qf (p, df1, df2)
Observação

‘df1’ corresponde aos graus de liberdade do numerados e df2 aos graus de liberdade do denominador.

Para o caso da distribuição Uniforme:

# calcula a densidade de probabilidade no ponto x;
dunif (x, min, max)

# calcula a função de probabilidade acumulada no ponto x;
punif (x, min, max)

# calcula o quantil correspondente a uma dada probabilidade p;
qunif (p, min, max)
Observação

‘min’ se refere ao limite inferior da distribuição e max ao limite superior.

3.4. PASSO 3

Para explorar o comportamento dos dados de maneira visual, o R fornece funções para criação de gráficos. Um gráfico de linhas simples pode ser executado com o comando:

plot(varíavel, type = "l")

Para os dados do nosso exemplo PIB acumulado últimos 12 meses o comando a ser executado fica da seguinte forma:

plot(pibac12_ts, type="l")
Código
par(mfrow = c(1, 1))
plot(var3_ts, main = "", xlab = "Time", ylab = "PIBAC12")

É possível melhorar o gráfico de linhas!

Basta transformar os dados numa série temporal, informando a frequência dos dados e o ano de início conforme o comando abaixo:

No nosso exemplo, transformamos o pib acumulado 12 meses, dados mensais com início em 2003.

Agora podemos melhorar o gráfico de linhas, colocando cor na trajetória da série, título do gráfico e título dos eixos horizontal e vertical. Além disso, como o pib está em milhões de reais o número científico apresentando na figura acima pode ser alterado com o comando:

options(scipen=999)

Posteriormente, o gráfico de linhas pode ser feito com o seguinte comando:

Código
options(scipen=999)
par(mfrow = c(1, 1))
plot(var3_ts, main = "Produto Interno Bruto, 2003-2024 em Milhões R$",  col = "blue",  xlab = "Anos", ylab = "PIB Acumulado")

Onde, Main se refere ao título do gráfico; o col a cor da trajetória da série; zlab o nome dado ao eixo X e, ylab o nome dado ao eixo Y.

Um gráfico de barras também pode ser realizado, caso se tenha muitas variáveis.

3.4.1. No R, o comando para esse tipo de gráfico é o seguinte:

barplot(variável)

Um gráfico de setores ou de pizza também pode ser realizado, embora para os nossos dados não se aplique.

3.4.2. o comando no R para esse tipo de gráfico é: Opções:

pie(dados, opções)

labels: vetor contendo os rótulos de cada fatia.

radius: raio da circunferência da pizza. (padrão = 1)

col: vetor contendo as cores das fatias.

Main: Título do gráfico.

3.5. PASSO 4

Além dos gráficos e probabilidades o R permite a utilização de tabelas de maneira a organizar os dados.

3.5.1. Para criar uma tabela no R, basta digitar o seguinte comando:

table(variável)

3.5.2. No nosso exemplo (pib, ipca) temos:

table(pib)
table(ipca)

Parte II - Estatística Descritiva

4. Distribuições de Frequências

Ao estudar grandes conjuntos de dados, é conveniente resumi-los numa tabela, através do agrupamento dos dados em classes, com suas respectivas frequências. Quando os dados são discretos com valores repetidos, a simples identificação dos mesmos com as respectivas frequências, pode ser um procedimento adequado.

Quando os dados são contínuos, pode acontecer que poucos, ou até nenhum deles, apresente frequência. Nestes casos, o procedimento começa pela definição de classes. Cada classe é determinada por um intervalo (diferença entre os limites superior e inferior).

Uma distribuição de frequência é uma tabela na qual os possíveis valores de uma variável se encontram agrupados em classes, registrando-se o número de valores observados em cada classe. Os dados organizados em uma distribuição de frequência são chamados de dados agrupados.

4.1. Intervalos de Classe

Para cada classe, em uma distribuição de frequência, os limites de classe inferior e superior indicam os valores compreendidos pela classe. Há diversos métodos para determinar o número de classes (k).

Regras Básicas

  1. Efetua-se um ROL ESTATÍSTICO (ordenação crescente ou decrescente de gran- deza) nos Dados Brutos (aqueles ainda não organizados numericamente).

  2. Determina-se a AMPLITUDE TOTAL dos dados

\[ AT = X\underset{max}{} - X\underset{min}{} \]

Onde \(X\underset{max}{}\): maior valor observado e \(X\underset{min}{}\): menor valor observado.

  1. Escolhe-se convenientemente o número de classes K (nº inteiro), \(5 \leq K \leq 15\) onde podemos tomar \(K \cong\sqrt[]{n}\) ou a fórmula de Sturges, \(n \geq 25\) (total de observações). Se possível determina-se, ou seja, constrói-se classes de mesma amplitude, tomando:

\[ h\cong \frac{AT}{K} \]

  1. Efetua-se o AGRUPAMENTO EM CLASSES e, a seguir, toma-se as FREQUÊNCIAS SIMPLES DE CLASSES, elaborando-se, portanto, a tabela de distribuição de frequências.

4.2. Conceito Essenciais

  • LIMITES DE CLASSES: \(L_{i}\) (incluir) \(\vdash L_{s}\) (excluir)

Por exemplo, distribuição das Idades, na Tabela 1:

1ª classe \(\rightarrow h_{1} = 20 - 18 = 2\); 2ª classe \(\rightarrow h_{1} = 22 - 20 = 2\); … ; 5ª classe \(\rightarrow h_{1} = 28 - 26 = 2\) Como as classes têm mesma amplitude, denominamos, simplesmente, por \(h = L_{i} - L_{s} - 2\)

  • PONTO MÉDIO DE CLASSE: \(X_{i} = \frac{L_{i}- L_{s}}{2}\), ponto médio da i-ésima classe. Por exemplo, distribuição das Idades, na Tabela 1: 1ª classe \(\rightarrow X_{i} = \frac{18+20}{2} = 19\); 2ª classe \(\rightarrow X_{i} = \frac{20+22}{2} = 21\)

No caso de classes com mesma amplitude de h, tomamos \(X_{t+1} = X_{i} + \mathit{h}\), ou seja por ex.:

2ª classe \(\rightarrow X_{1} + \mathit{h} = 19 + 2 = 21\)

3ª classe \(\rightarrow X_{2} + \mathit{h} = 21 + 2 = 23\) etc.

4.3. Tipos de Frequências

4.3.1. FREQUÊNCIA SIMPLES OU ABSOLUTA DE CLASSE

  • \(f_{i}\): frequência simples da i-ésima classe (número de observações)

  • \(\sum_{i=1}^{k}f_{i}=\sum_{}^{}f_{i}=n\) (número total de observações).

  • Por ex.: \(f_{1}=12\); \(f_{2}=11\); \(f_{3}=4\); \(f_{4}=1\); \(f_{5}=2\); \(f_{i}=n=30\)

4.3.2. FREQUÊNCIA RELATIVA E PERCENTUAL DE CLASSE

FREQUÊNCIA RELATIVA (i-ésima classe do valor):

  • \(f_{r_{i}} = \frac{f_{i}}{n}\) (Razão entre a frequência simples e o total de observações)

  • \(\sum f_{r_{i}}=1\) (Soma das frequências relativas)

FREQUÊNCIA PERCENTUAL (i-ésima classe ou valor):

  • \(f_{i} \% = 100\) (Soma das frequências percentuais)

FREQUÊNCIA SIMPLES ACUMULADA (do tipo “abaixo de”)

  • \(F_{i} = f_{r_{1}} + f_{r_{2}} + ... + f_{i}\), frequência relativa acumulada da i-ésima classe ou valor;

  • \(F_{i}\% f_{1}\% + f_{2}\% + f_{3}\% + ... + f_{i}\%\), frequência percentual acumulada da i-ésima classe ou valor;

Código
# Criando uma tabela
data <- data.frame(
  `Número` = c(1, 2, 3, 4, "...", "K"),
  `Intervalo de Classes` = c("$LI_{1} \\vdash LS_{1}$", "$LI_{2} \\vdash LS_{2}$", "$LI_{3} \\vdash LS_{3}$", "$LI_{4} \\vdash LS_{4}$", "...", "$LI_{5} \\vdash LS_{5}$"),
  `Frequência (f_i)` = c("$f_{1}$", "$f_{2}$", "$f_{3}$", "$f_{4}$", "...", "$f_{5}$"),
  `Frequência Acumulada (F_i)` = c("$f_{i}$", "$F_{1} + f_{2}$", "$f-1+f_2+f_3$", "$f-1+f_2+f_3+f_4$", "...", "$F_{t}$"),
  `Frequência Relativa (f_{r})` = c("$\\frac{f_{1}}{F_{t}}$", "$\\frac{f_{2}}{F_{t}}$", "$\\frac{f_{3}}{F_{t}}$", "$\\frac{f_{4}}{F_{t}}$", "...", "$\\frac{f_{k}}{F_{t}}$"),
  `Frequência Relativa Acumulada (F_{r})` = c("$\\frac{f_{1}}{F_{t}}$", "$\\frac{f_{1} + f_{2}}{F_{t}}$", "$\\frac{f_{1} + f_{2} + f_{3}}{F_{t}}$", "$\\frac{f_{1} + f_{2} + f_{3} + f_{4}}{F_{t}}$", "...", "1"),
  `Ponto Médio` = c("$\\frac{LI_{1} + LS_{1}}{2}$", "$\\frac{LI_{2} + LS_{2}}{2}$", "$\\frac{LI_{3} + LS_{3}}{2}$", "$\\frac{LI_{4} + LS_{4}}{2}$", "...", "$\\frac{LI_{k} + LS_{k}}{2}$")
)

# Adicionando a linha de cabeçalho secundária
secondary_header <- data.frame(
  `Número` = "",
  `Intervalo de Classes` = "",
  `Frequência (f_i)` = "$f_{i}$",
  `Frequência Acumulada (F_i)` = "$F_{i}$",
  `Frequência Relativa (f_{r})` = "$fr_{i}$",
  `Frequência Relativa Acumulada (F_{r})` = "$Fr_{r}$",
  `Ponto Médio` = "$PM_{i}$"
)

# Combinando o cabeçalho secundário com os dados
data_combined <- rbind(secondary_header, data)

# Convertendo para tabela em Markdown usando kable
kable(data_combined, format = "markdown", col.names = c("", "Intervalo de Classes", "Frequência", "Frequência Acumulada", "Frequência Relativa", "Frequência Relativa Acumulada", "Ponto Médio"), escape = FALSE, caption = "$LI$ = Limite Inferior; $LS$ = Limite Superior")
\(LI\) = Limite Inferior; \(LS\) = Limite Superior
Intervalo de Classes Frequência Frequência Acumulada Frequência Relativa Frequência Relativa Acumulada Ponto Médio
\(f_{i}\) \(F_{i}\) \(fr_{i}\) \(Fr_{r}\) \(PM_{i}\)
1 \(LI_{1} \vdash LS_{1}\) \(f_{1}\) \(f_{i}\) \(\frac{f_{1}}{F_{t}}\) \(\frac{f_{1}}{F_{t}}\) \(\frac{LI_{1} + LS_{1}}{2}\)
2 \(LI_{2} \vdash LS_{2}\) \(f_{2}\) \(F_{1} + f_{2}\) \(\frac{f_{2}}{F_{t}}\) \(\frac{f_{1} + f_{2}}{F_{t}}\) \(\frac{LI_{2} + LS_{2}}{2}\)
3 \(LI_{3} \vdash LS_{3}\) \(f_{3}\) \(f-1+f_2+f_3\) \(\frac{f_{3}}{F_{t}}\) \(\frac{f_{1} + f_{2} + f_{3}}{F_{t}}\) \(\frac{LI_{3} + LS_{3}}{2}\)
4 \(LI_{4} \vdash LS_{4}\) \(f_{4}\) \(f-1+f_2+f_3+f_4\) \(\frac{f_{4}}{F_{t}}\) \(\frac{f_{1} + f_{2} + f_{3} + f_{4}}{F_{t}}\) \(\frac{LI_{4} + LS_{4}}{2}\)
K \(LI_{5} \vdash LS_{5}\) \(f_{5}\) \(F_{t}\) \(\frac{f_{k}}{F_{t}}\) 1 \(\frac{LI_{k} + LS_{k}}{2}\)

Pontos importantes na construção de tabelas de frequências

Intervalos de classes inadequados podem conduzir os usuários a erros:

  1. os intervalos de classe devem ser representativos, isto é, a média dos valores dentro do intervalo devem ser aproximadamente igual ao ponto médio da classe;

  2. os intervalos de classe devem ser do mesmo tamanho, a menos que determinada amplitude de valores precise de atenção particular;

  3. o número de intervalos de classe deve ser um meio-termo entre a quantidade exigida de detalhes e a facilidade com que o usuário pode assimilar os dados;

  4. a tabela de frequência deve atender o objetivo de identificar as características de uma variável.

Em algumas situações, nossos interesses não são as frequências, ou seja, quantas observações caem em cada intervalo, mas a frequência acumulada, isto é, quantas observações caem acima (ou abaixo) de determinado valor.

A partir dos dados originais ou dos dados distribuídos em classes, podem-se representá-los graficamente.

4.3.3. No R as frequências: absoluta, relativa e percentual, podem ser calculadas conforme os comandos abaixo:

# Frequência Absoluta
fa = table(variável)

# Frequência relativa
fr = fa/sum(fa)

# Frequência Percentual
fp <- 100*fr

# Frequência absoluta acumulada
Ni <- cumsum (fa)

# Frequência relativa acumulada
Fi <- cumsum (fr)

4.4. Representação Gráfica

Os principais tipos de gráficos estatísticos para as distribuições de frequências são os DIAGRAMAS, os quais são gráficos geométricos de, no máximo duas dimensões. Para sua construção, em geral, fazemos uso do sistema cartesiano.

Dentre os principais tipos de diagramas destacamos, segundo a variável em estudo:

Variável Qualitativa → GRÁFICOS EM BARRAS OU COLUNAS, GRÁFICOS EM SETORES.

Código
flowchart LR
  A[Variável Quantitativa:]
  A --> B[Distribuição por Valores -> GRÁFICO EM COLUNAS]
  A --> C[Distribuição por Intervalos -> HISTOGRAMA, POLÍGONO DE FREQUÊNCIAS.]

flowchart LR
  A[Variável Quantitativa:]
  A --> B[Distribuição por Valores -> GRÁFICO EM COLUNAS]
  A --> C[Distribuição por Intervalos -> HISTOGRAMA, POLÍGONO DE FREQUÊNCIAS.]

4.4.1. Histograma

É uma representação gráfica dos resultados das distribuições de frequências cons- truídas de retângulos justapostos, cujas alturas são os segmentos de retas dados pelas frequências de cada classe e cujas larguras são proporcionadas pelo h. Dito de outra forma, o histograma é, simplesmente, o equivalente gráfico de uma tabela de frequências onde o eixo X estão os extremos inferiores de cada intervalo de classe e no eixo Y, estão as frequências correspondentes a cada classe. O histograma não é claro nos extremos dos intervalos de classe.

Código
library(agricolae)
teste <- rnorm (500)
classes <- sturges.freq(teste)
breaks <- classes$breaks
hist(teste, breaks = breaks, xlab = "Valor", ylab = "Frequência", main = "", col = "white")

4.4.2. No R, o histograma dos dados pode ser realizado com o seguinte comando:

hist (variável, opções)

Para saber o número de classes do histograma, podemos usar o conceito de classes em frequências, no qual se determina através da fórmula \(K\cong \sqrt{(n)}\), onde k é o número de classes e n o número de observações.

4.4.3. No R, o comando para calcular raiz quadrada é: sqrt(x).

Do exemplo, temos:

Código
sqrt (242)
[1] 15.55635

Em que nclass é o número de classes e col é a cor das barras.

Código
classes <- sturges.freq(var3_ts)
breaks <- classes$breaks
hist(var3_ts, breaks = breaks, col = "red", main = "Histograma do PIB", xlab = "pibac12")

Código
classes <- sturges.freq(var4_ts)
breaks <- classes$breaks
hist(var4_ts, breaks = breaks, col = "blue", main = "Histograma do IPCA", xlab = "IPCA")

4.4.4. Polígono de Frequência

Polígono é um gráfico de linha de uma distribuição de freqüência. O polígono é uma versão “suavizada” do histograma, porque é constituído unindo os pontos médios do topo de cada bloco do histograma. Uma outra maneira de representar graficamente, os dados analisados, é através do polígono de freqüência acumulada (ogiva), que é traçado utilizando-se as frequências acumuladas a partir dos limites superiores de cada classe. A ogiva permite perceber qual a proporção de observações é maior/menor do que um dado valor.

Código
teste <- rnorm(500)
classes <- sturges.freq(teste)
breaks <- classes$breaks
h_teste <- hist(teste, breaks = breaks, xlab = "Valor", ylab = "Frequência", main = "", col = "white")
lines(c(min(h_teste$breaks), h_teste$mids, max(h_teste$breaks)), 
      c(0, h_teste$counts, 0), 
      type = "l")

Para obter o histograma com o polígono de frequência, basta gerar o gráfico e incluir a linha referente ao polígono. Isso pode ser feito com o seguinte comando:

Em que, nclass é o número de classes do histograma; col é a cor das barras; main é o título do gráfico; zlab é o título do eixo X; ylab é o título do eixo Y. O comando lines é para incluir o polígono de frequência.

4.4.5. Saída dos gráficos no R:

Código
classes <- sturges.freq(var3_ts)
breaks <- classes$breaks
h_var3_ts <- hist(var3_ts, breaks = breaks, col = "red", main = "Histograma do PIB", xlab = "pibac12", ylab = "Frequência")
lines(c(min(h_var3_ts$breaks), h_var3_ts$mids, max(h_var3_ts$breaks)), 
      c(0, h_var3_ts$counts, 0), 
      type = "l")

Código
classes <- sturges.freq(var4_ts)
breaks <- classes$breaks
h_var4_ts <- hist(var4_ts, breaks = breaks, col = "blue", main = "Histograma do IPCA", xlab = "IPCA", ylab = "Frequência")
lines(c(min(h_var4_ts$breaks), h_var4_ts$mids, max(h_var4_ts$breaks)), 
      c(0, h_var4_ts$counts, 0), 
      type = "l")

4.4.6. Box-Plot e QQplot do PIB

Código
par(mfrow = c(1, 2))
boxplot(var3_ts, main = "Boxplot do PIB acumulado 12 meses", ylab = "PIB", horizontal=TRUE)
qqnorm(var3_ts, col = "blue", main = "QQplot do PIB acumulado 12 meses")
qqline(var3_ts, col = "red")

4.4.7. Inferência

Caso deseje calcular probabilidades, o software fornece funções para tal finalidade de acordo com a distribuição dos dados. Pode-se calcular a função de densidade, função de distribuição e função da probabilidade. Assim, para o caso da distribuição normal as funções abaixo podem ser utilizadas:

  • Para o caso da distribuição t student:

  • Para o caso da distribuição Qui-Quadrado:

  • Para o caso da distribuição F:

  • Para o caso da distribuição Uniforme:

5. Medidas de Posição

São chamadas medidas de tendência central, pois representam as características avaliadas pelos seus valores médios, em torno dos quais tendem a concentrar-se os dados. Tais medidas possibilitam comparações de séries de dados pelo confronto de seus valores.

5.1. Média

É a medida mais comumente usada para descrever resumidamente uma série de dados. Há vários tipos de médias, sendo que as mesmas podem ser influenciadas pelos valores extremos da série. Uma alternativa seria remover os valores mais baixos (5%) e os valores mais altos (5%) para calcular a média com os 90% das observações restantes.

5.1.1. Média Aritmética

A média aritmética é obtida pela soma de todos os valores de uma variável X dividida pelo número total de observações (n):

\[ \bar{X}=\frac{X_{1}+X_{2}+...+X_{n}}{n}=\frac{\sum_{i=1}^{n}X_{i}}{n} \]

entretanto, se na série existirem dados repetidos, os k diferentes valores da variável X podem ser agrupados, ou seja, a cada valor \(X_{i}\) estará associada uma respectiva frequência \(f_{i}\), obtendo-se então, a média aritmética ponderada:

\[ \bar{X}=\frac{f_{1}K_{1}+f_{2}K_{2}+...+X_{n}K_{n}}{f_{1}+f_{2}+...+f_{k}}=\frac{\sum_{i=1}^{n}f_{i}X_{i}}{\sum_{i=1}^{n}f_{i}} \]

Onde \(\sum_{i=1}^{n}f_{i}=n\)

5.1.2. Média Geométrica

A média geométrica é definida como a raiz de ordem n no produto de todos os valores que uma variável X assume, sendo dada por:

\[ \bar{X}_{G}=\sqrt[n]{X_{1}\cdot X_{2}\cdot ...\cdot X_{k}}=\sqrt[n]{\prod_{i=1}^{n}X_{i}} \]

Se cada X, estiver associada uma respectiva frequência f, então:

\[ \bar{X}_{G}=\sum_{i=1}^{n}\sqrt[f_{i}]{X_{1}^{f_{1}}\cdot X_{2}^{f_{2}}\cdot ...\cdot X_{k}^{f_{k}}}=\sum_{i=1}^{n}\sqrt[n]{\prod_{i=1}^{n}X_{i}^{f_{i}}} \]

uma propriedade importante desta medida, é que o produto das razões de cada observação pela média geométrica é igual a um. Como desvantagem, se a série de dados tiver valores menores ou igual a zero, a média geométrica não poderá ser calculada.

5.1.3. Para calcular a média no R, basta digitar o comando:

mean("variável")

5.1.4. Exemplo no R:

Código
mean (var3_ts); mean (var4_ts)
[1] 5144337
[1] 0.4780159

É Possível calcular médias aparadas e winsorizada! Para as médias aparadas temos os seguintes comandos:

Código
mean (var3_ts, 0.1); mean (var3_ts, 0.2)
[1] 4965595
[1] 4946225

Temos as médias aparadas à 10% e a 20%. Para fazer o cálculo da média winsorizada é necessário instalar o pacote psych

install.packages("psych")
require(psych)

E por fim, realiza-se o cálculo da média winsorizada, neste caso, para 20%:

Código
library(psych)
#w=20; 
#winsor.mean(var3_ts, w/ 100)

A função summary também é uma ótima opção, uma vez que apresenta o sumário das variáveis com dados como: média, mediana, valor mínimo, valor máximo, 1 quartil e 3 quartil. Para se obter o sumário da variável basta digitar

summary("variável")

No nosso exemplo, temos:

Código
summary(var3_ts)
    Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
 1502124  2826599  5088142  5144337  6915337 10856112 

5.2. Mediana

Colocados os valores em ordem crescente de grandeza (rol), a mediana (Md) será o valor que ocupa a posição central da série de dados, ou seja, é o valor que divide a série em duas partes com números iguais de elementos. A mediana é preferível à média quando se está interessado em conhecer exatamente o centro da distribuição dos dados, ou ainda, quando os valores extremos podem afetar sensivelmente a média. O cálculo da media é feito sob duas condições:

  1. \(n\) par: Md será o valor do rol que ocupa a posição entre as duas observações do meio na disposição ordenada. A mediana é a média dos valores numéricos correspondentes àquelas duas observações centrais:

\[ X\frac{n+1}{2} \]

  1. \(n\) impar: Md será o valor do rol que ocupa o ponto de posicionamento \(\frac{n+1}{2}\) das observações após a ordenação.

5.2.1. A mediana pode ser calculada no R com o seguinte comando:

median ("variável")

Exemplo:

Código
median(var3_ts)
[1] 5088142

5.3. Moda

A moda (Mo) é o valor que ocorre com maior frequência ou o valor que mais se repete. Quando a série de dados é tal que as frequências são maiores nos extremos, ou quando se quer destacar um valor de alta frequência ou quando se pretende obter uma medida rápida e aproximada da tendência central, a moda pode então, ser considerada para a interpretação dos dados. Com relação à moda, uma série de dados pode ser classificada em a modal (não possui moda), unimodal (possui apenas uma moda), bimodal (possui duas modas) ou multimodal (possui mais de duas modas).

Exemplo: Dez funcionários do departamento de pessoal obtiveram as seguintes notas, em ordem crescente: 7,0; 7,0; 7,5; 7,9; 8,0; 8,6; 8,6; 8,6; 8,6; 9,5;

\[ MODA=8,6 \]

5.4. Sumário das Variáveis

A função “summary” também é uma ótima opção, uma vez que apresenta o sumário das variáveis com dados como: média, mediana, valor mínimo, valor máximo, 1° quartil e 3° quartil. Para se obter o sumário da variável basta digitar:

No nosso exemplo, temos:

5.5. Quartos, dezenas de por cento

Essa ideia de dividir o conjunto ordenado de dados em partes iguais pode ser estendida em: quartil, decil e percentil. Os quartis \(Q1, Q2\) e \(Q3\) dividem a série de dados em quatro partes iguais, cada parte com 25% dos dados. Os decis \(D1, D2,..., D5,..., D9\) dividem a série em dez partes iguais, cada parte com 10% dos dados. Os percentis \(P1, P2,..., P50,..., P99\) dividem a série em cem partes iguais, cada com 1% dos dados. Em termos de comparações entre estas medidas, tem-se \(Q2 = D5 = P50 = Md\).

\[ Q_{3}=X_{\left [ \frac{3n}{4}+\frac{1}{2} \right ]} \] Exemplo: Oito vendedores venderam os seguintes números de unidades de um produto, em ordem crescente: 5, 8, 8, 11, 11, 11, 14, 16:

\[ Q_{3}=X_{\left [ \frac{3\cdot 8}{4}+\frac{1}{2} \right ]}=X_{\left [ \frac{24}{4}+\frac{1}{2} \right ]}=X_{6,5}=12,5 \]

Exemplo 2: Dez funcionários do departamento de pessoal obtiveram as seguintes notas, em ordem crescente: 7,0; 7,0; 7,5; 7,9; 8,0; 8,6; 8,6; 8,6; 8,6; 9,5

\[ Q_{2}=X_{\left [ \frac{2\cdot 10}{4}+\frac{1}{2} \right ]}=X_{\left [ \frac{20}{4}+\frac{1}{2} \right ]}=X_{5,5}=8,3 \]

5.5.1. Os quartis podem ser calculados no R através do comando:

# Este comando retorna os 3 quartis
quantile(variável, seq (1:3)/4)

Exemplo quartis

Código
# Este comando retorna os 3 quartis
quantile(var3_ts, seq(1:3)/4)
    25%     50%     75% 
2826599 5088142 6915337 

5.5.2. Os decis podem ser calculados no R através do comando:

# Este comando retorna os 9 decis
quantile(variável, seq (1:9)/10)

Exemplo decis

Código
# Este comando retorna os 9 decis 
quantile(var3_ts, seq(1:9)/10)
    10%     20%     30%     40%     50%     60%     70%     80%     90% 
1996997 2492670 3168011 4130182 5088142 5938112 6491913 7314989 8913063 

5.5.3. Os percentis podem ser calculados no R através do comando:

# Este comando retorna os 50 percentis
quantile(variável, seq (1:50)/100)

Exemplo percentis

Código
# Este comando retorna os 50 percentis
quantile(var3_ts, seq (1:50)/100)
     1%      2%      3%      4%      5%      6%      7%      8%      9%     10% 
1554247 1595712 1643059 1699690 1740345 1784804 1841746 1895485 1947808 1996997 
    11%     12%     13%     14%     15%     16%     17%     18%     19%     20% 
2042470 2082135 2125742 2173393 2219029 2258842 2308185 2367063 2426673 2492670 
    21%     22%     23%     24%     25%     26%     27%     28%     29%     30% 
2566714 2632529 2692196 2753730 2826599 2910262 3010002 3094538 3130068 3168011 
    31%     32%     33%     34%     35%     36%     37%     38%     39%     40% 
3196168 3235915 3325418 3430435 3551656 3669264 3785337 3902264 4011804 4130182 
    41%     42%     43%     44%     45%     46%     47%     48%     49%     50% 
4235668 4319692 4410420 4503081 4584161 4686270 4785494 4874132 4986918 5088142 

6. Medidas de Dispersão

São utilizadas para avaliar o grau de variabilidade dos dados. Não se justifica calcular uma média de um conjunto de dados onde não haja variação, todavia se a variabilidade desses dados for muito grande, a representatividade da média será muito pequena. Assim, é importante caracterizar a dispersão dos dados, uma vez que diferentes amostras com médias semelhantes, podem apresentar diferentes variabilidades.

6.1. Amplitude Total

É a diferença entre o maior e o menor dos valores da série de dados, ou seja, é o maior desvio da amostra. A sua utilização, além de mostrar o máximo desvio, serve para uma avaliação preliminar dos dados, verificando-se a possibilidade de possíveis erros nas coletas dos dados ou das digitações, já que as variáveis podem apresentar extremos conhecidos.

\[ AT=X_{maior}-X_{menor} \]

A amplitude é, na verdade, uma medida fraca de dispersão, porque ela considera somente os valores extremos e não diz nada sobre a distribuição dos valores intermediários.

6.1.1. No R, a amplitude total é calculada com a digitação do seguinte comando:

at <- max(variável) - min(variável)
at

Exemplo

Código
at <- max(var3_ts) - min(var3_ts)
at
[1] 9353989

6.2. Intervalo Interquartil

Para algumas finalidades, a desvantagem da amplitude é o fato de seu cálculo basear- se apenas nos dois valores extremos. A medida que mantém as propriedades da amplitude, sem essa desvantagem, é a amplitude interquartílica. Para calcularmos, organizamos todas as observações por ordem de grandeza e calculamos \(Q1\) como o valor da observação que está a um quarto na fila de ordenação; Q3 está a três quartos e, a distância entre \(Q1\) e \(Q3\) agrega 50% das observações.

  • \(Q1\): Ponto de posicionamento = observação ordenada \(\frac{n+1}{4}\)

  • \(Q3\): Ponto de posicionamento = observação ordenada \(\frac{3(n+1)}{4}\)

A distância entre os quartis superior e inferior mede a dispersão da metade central das observações e é conhecida como intervalo interquartil:

Amplitude Interquartil: \[ A_{iq}=Q_{3}-Q_{1} \]

Quanto maior for o valor da amplitude que incorpora o valor 50% das observações, maior será a dispersão dos dados. Além disso, a amplitude interquartílica não é afetada pelos valores extremos. Exemplo:

6.2.1. A amplitude interquartil é calculado no R através do comando:

aiq <- quantile (variável, 0.75) - quantile (variável, 0.25)
aiq
Observação

‘aiq’ se refere ao nome que foi dado para o cálculo, poderia ser dado qualquer um outro.

Exemplo

Código
aiq <- quantile(var3_ts, 0.75) - quantile(var3_ts, 0.25)
aiq
    75% 
4088738 

6.3. Desvio Médio Absoluto

O desvio médio absoluto, ou DMA, é baseado na diferença entre cada valor do conjunto de dados e a média do grupo. O calculado é a média destes desvios (alguns estatísticos usam a diferença entre cada valor e a mediana). Se fosse calculada a média das diferenças positivas e negativas entre cada valor e a média aritmética, o resultado iria ser, de fato, sempre igual a zero. Por esta razão, são tomadas as diferenças em valores absolutos (ou em módulo):

\[ DMA=\frac{\sum \left | X-\bar{X} \right |}{n} \]

6.3.1. O desvio médio pode ser calculado no R com o comando:

dm <- mean(abs(variável - mean(variável)))
dm

Exemplo:

Código
dm <- mean(abs(var3_ts - mean (var3_ts)))
dm
[1] 2152832

6.4. Variância

A variância é similar ao desvio médio no sentido de que é também baseada nas diferenças entre cada valor do conjunto de dados e a média do grupo. A variância é dada pela soma dos quadrados dos desvios de cada observação em relação à média, dividida pelo número de graus de liberdade da amostra, ou seja, ela é a média dos (n - 1) desvio quadrático e independente.

Para uma população, a variância é representada pela letra grega minúscula \(\sigma ^2\) (ler “sigma dois”) e a variância de uma amostra é representada por \(s^2\) (em alguns livros pode ser representado por \(\widehat{\sigma}^2\) (ler “sigma dois chapéu”).

Para uma amostra de n valores \(X_{1}, X_{2},..., X_{n}\), de uma variável \(X\), a variância é dada por:

\[ s^2=\frac{\sum_{i=1}^{n}\left ( X_{i}-\bar{X} \right )^2}{n-1}=\frac{\sum_{i=1}^{n}X^2-\frac{\left ( \sum_{i=1}^{n}X_{i} \right )^2}{n}}{n-1} \]

Se na série existirem dados repetidos, a variância dos k diferentes valores \(X_{1}, X_{2},..., X_{k}\) de uma variável \(X\), associados às frequências \(f_{1}, f_{2},..., f_{k}\) respectivamente, será dada por:

\[ s^2=\frac{\sum_{i=1}^{k}\left ( X_{i}-\bar{X} \right )^2}{\sum_{i=1}^{k}f_{i}-1}=\frac{\sum_{i=1}^{k}f_{i}X^2-\frac{\left ( \sum_{i=1}^{k}f_{i}X_{i} \right )^2}{\sum_{i=1}^{k}f_{i}}}{\sum_{i=1}^{k}f_{i}-1} \]

6.4.1. A variância no R é calculada da seguinte maneira:

var(variável)

Exemplo:

Código
var(var3_ts)
[1] 6456691658331

6.5. Desvio Padrão

Para se retornar à unidade original de avaliação de uma variável X e obter uma medida de melhor interpretação, define-se o desvio padrão como sendo a raiz quadrada positiva da variancia:

\[ s=\sqrt{s^2} \]

Intuitivamente, o desvio representa uma média dos desvios (absolutos) que todos os valores amostrais possuem ao redor da média. Valores da série próximos uns dos outros originam um desvio padrão menor, enquanto valores muito afastados uns dos outros dão um desvio padrão maior. Em outras palavras, a série de dados que apresentar desvio padrão maior, terá uma distribuição de frequências mais aberta que a série com desvio padrão menor.

6.5.1. O desvio padrão será calculado no R através do comando:

sd(variável)

Exemplo:

Código
sd(var3_ts)
[1] 2541002

6.6. Coeficiente de Variação

É uma medida admensional, útil para comparar variabilidades de diferentes amostras, onde as médias são muito desiguais ou as unidades de medidas são diferentes. coeficiente de variação (CV) é o desvio padrão expresso em porcentagem da média, isto é, magnitude relativa do desvio padrão quando comparado com a média da distribuição das medidas. O coeficiente é dado por:

\[ CV=\frac{s}{\bar{X}}\cdot 100 \]

Esse coeficiente é, em geral, usado para medir variações na dispersão ao longo do tempo quando a média se move para cima ou para baixo.

6.6.1. É possível calcular o coeficiente de variação no R, relacionando o desvio padrão com a média:

CV <- sd(variável)/mean(variável)*100
CV
Observação

“CV” é o nome dado ao cálculo do coeficiente de variação deforma a exemplificar, poderia ser qualquer um outro.

Código
CV <- sd(var3_ts)/mean(var3_ts)*100
CV
[1] 49.39416

6.7. Erro Padrão da Média

O erro padrão da média representa a variabilidade média entre as médias amostrais possíveis de serem coletadas. Intuitivamente, dá a ideia da precisão da estimativa obtida para a média, sendo que aquela que apresentar maior erro padrão terá menos precisão. É inversamente proporcional ao tamanho da amostra e diretamente proporcional ao desvio padrão, sendo definido como:

\[ s_{\bar{X}}=\frac{s}{\sqrt{n}} \]

É usual apresentar a média e o erro padrão da média com a seguinte indicação:

\[ \bar{X}\pm s_{\bar{X}}=\left [ \bar{X}-s_{\bar{X} } \bar{X}+s_{\bar{X}}\right ] \]

6.7.1. Para o cálculo do erro da padrão da média no R, digita-se o seguinte

comando:

sd (variável)/sqrt(length(variável))
Código
sd (var3_ts)/sqrt(length(var3_ts))
[1] 160068.1

7. Formato de uma distribuição

O terceiro e quarto momentos¹ de uma distribuição são frequentemente usados para estudar a “aparência” de uma distribuição, em especial sua assimetria e sua curtose. Em outras palavras, a distribuição dos dados pode ser simétrica ou não, ou ainda achatada ou pontiaguda e, isso, dará um formato à curva de distribuição.

7.1 Medida de Assimetria

Denomina-se assimetria o grau de afastamento da simetria de uma distribuição de dados. Em uma distribuição simétrica, tem-se igualdade dos valores da média, mediana e moda. Entretanto, se numa distribuição ocorrer:

  1. \(\bar{X}< Md \leq Mo\): existirão mais dados da série maiores do que a média, porem a curva de distribuição terá uma cauda mais longa para os dados menores do que a média, isto é, diz-se que a distribuição tem assimetria negativa;

  2. \(\bar{X}> Md \geq Mo\): existirão mais dados da série menores do que a média, porém a curva da distribuição terá uma cauda mais longa para os dados maiores do que a média, isto é, diz-se que a distribuição tem assimetria positiva.

A estimativa do coeficiente de assimetria (S) de uma variável X é dada por:

\[ \hat{S}=\frac{\sum_{I=1}^{n}\left [ \frac{X_{i}-\bar{X}}{s} \right ]^3}{N} \]

Interpretação:

  1. \(S = 0\): se o resultado for zero, a distribuição é simétrica;

  2. \(S < 0\): se o valor for negativo, a distribuição é assimétrica negativa (inclinada para a esquerda);

  3. \(S > 0\): se o resultado for positivo, a distribuição é assimétrica positiva (inclinada para a direita).

7.1.1. Para o cálculo das medidas de formato no R, é necessário a instalação do pacote “agricolae”:

install.packages("agricolae")
require(agricolae)

# O cálculo da assimetria é através do seguinte comando :
skewness(variável)

Exemplo:

Código
#attr (,"method")

7.2. Medida de Curtose

Denomina-se curtose o grau de achatamento da distribuição.

Para se estimar o grau de curtose (K), utiliza-se a seguinte fórmula:

\[ K=\frac{\sum_{i=1}^{n}\left ( \frac{X_{i}-\bar{X}}{s} \right )^4}{n} \]

O resultado pode ser assim definido:

  1. \(K = 3\): Mesocúrtica a distribuição de frequências é a própria distribuição normal;

  2. \(K < 3\): Platicúrtica a distribuição é achatada (alta variabilidade);

  3. \(K > 3\): Leptocúrtica a distribuição é concentrada em torno da média (alta homogeneidade).

Obs: A assimetria positiva surge quando a média aritmética é aumentada por algum valor extraordinariamente elevado e, a assimetria negativa ocorre quando a média é reduzida por algum valor extremamente baixo. Os dados são simétricos quando não existem valores realmente extremos em uma direção específica, de modo que os valores baixos e altos se equilibram entre si.

7.2.1. A curtose pode ser calculada com o seguinte comando:

kurtosis(variável)
Código
#kurtosis(var3_ts)
#attr (,"method")

7.3. Teste de JARQUE-BERA (JB) - Teste de Normalidade

O teste de normalidade é um teste assintótico, ou seja, para grandes amostras. Este teste primeiro calcula a assimetria Skewness e a curtose Kurtosis das variáveis e utiliza a seguinte estatística:

\[ JB=n\left [ \frac{S^2}{6}+\frac{\left ( K-3 \right )^2}{24} \right ] \]

Uma vez que, em distribuição normal, o valor da assimetria é zero e o valor da curtose é 3, (K-3), sob a hipótese nula de que a variável se distribui normalmente, Jarque e Bera mostraram que, assintoticamente (isto é, em grandes amostras), a estatística JB segue uma distribuição qui-quadrado com 2 graus de liberdade.

7.3.1. Para realizar o teste Jarque - Bera no R é necessário a instalação do pacote fBasics:

install.packages("fBasics")
library(fBasics)
jarqueberaTest(variável)

7.3.2. Teste de JARQUE-BERA (JB) no R

Código
library(fBasics)
jarqueberaTest(var3_ts)

Title:
 Jarque - Bera Normalality Test

Test Results:
  STATISTIC:
    X-squared: 12.8456
  P VALUE:
    Asymptotic p Value: 0.001624 

Description:
 Fri Dec 13 08:53:18 2024 by user: 

Ao observar o valor é referente ao p-valor do teste pode-se afirmar que se trata de uma série que não possui distribuição normal.

Referências

BUSSAB, W. d. O.; MORETTIN, P. A. Estatística básica. [S.l.]: Saraiva, 2010.

GUJARATI, D. N. Basic econometrics. [S.l.]: Tata McGraw-Hill Education, 2009.

KAZMIER, L. J. Estatística aplicada à economia e administração. [S.l.]: McGraw-Hill, 1982.

LAPPONI, J. C. Estatística usando excel. [S.l.]: Elsevier Brasil, 2004.

LEVINE, D. M.; BERENSON, M. L.; STEPHAN, D. Estatística: teoria e aplicações-usando Microsoft Excel português. [S.l.]: Ltc, 2005.

MEYER, P. L. Probabilidade: aplicações à estatística. In: Probabilidade: aplicações à estatística. [S.l.]: Livro Técnico, 1970.

MILONE, G.; ANGELINI, F. Estatística aplicada. [S.l.: s.n.], 1995.

SILVER, M.; VIEIRA, S.; CORRENTE, J. E. Estatística para administração. [S.l.]: Atlas, 2000.