Buscar

Ciclo de Vida e Introdução à Linguagem r Tema 3 Amostragem na prática com a utilização do software R

Prévia do material em texto

DESCRIÇÃO
Utilização do software R na especificação e estimação de planos amostrais por amostragem aleatória simples,
sistemática, estratificada e por conglomerados.
PROPÓSITO
Apresentar o software estatístico e gratuito R na seleção amostral e estimação de diferentes planos amostrais, como a
amostragem aleatória simples, amostragem estratificada, amostragem por conglomerados e amostragem sistemática.
PREPARAÇÃO
Antes de iniciar o conteúdo atual, instale o software estatístico R em seu computador ou dispositivo móvel para realizar
aplicações práticas da teoria da amostragem. Você pode baixar também o RStudio.
OBJETIVOS
MÓDULO 1
Descrever conceitos gerais sobre o software estatístico R e o pacote sampling nas estimações segundo a amostragem
aleatória simples
MÓDULO 2
Descrever o pacote survey para estimações a partir da amostragem estratificada
MÓDULO 3
Selecionar amostras a partir da amostragem sistemática e conglomerada com estimações para esses planos no
Software R
MÓDULO 1
 Descrever conceitos gerais sobre o software estatístico R e o pacote sampling nas estimações segundo a
amostragem aleatória simples
LIGANDO OS PONTOS
Você conhece a linguagem de programação R? Diante da necessidade de realizar amostragem aleatória, como o R
poderia ser útil? Para respondermos a estas perguntas, vamos analisar algumas situações práticas.
Vamos analisar o caso de uma empresa de vendas de livros online que deseja aumentar a sua oferta de títulos. Por
onde a empresa deve começar a realizar a sua pesquisa? Que tipo de ferramenta ela pode utilizar para analisar os
dados?
Nesse caso, o objetivo já está bem definido: aumentar a oferta de títulos de livros para venda. Pelo fato de ser uma
empresa que trabalha com vendas online, a coleta dos dados históricos é facilitada, pois tudo é feito online e, portanto,
deveria ficar registrado em um banco de dados, de modo que seja fácil consultar os dados a qualquer momento. Em
seguida, vem o processo de análise. Para executar esse processo, o conhecimento dos fundamentos teóricos da
estatística e probabilidade são essenciais para produzir resultados sustentados em conexões não triviais e lógicas
sendo que a teoria ganha um poderoso aliado para realizar testes sistematizados com a utilização de ferramentas
computacionais, como a linguagem R.
O R é uma linguagem de programação muito popular para aplicações de ciência de dados. E o que torna o R tão
especial? São muitos os fatores que contribuíram para a popularidade dele, como a disponibilidade de muitas
funcionalidades em bibliotecas, conjuntos de dados prontos para serem usados e uma sintaxe simplificada bastante
adequada à realização de testes e análises.
Então, uma das formas práticas que a empresa de venda de livros online pode usar o R na prática é para realizar
amostragem aleatória. O R disponibiliza funcionalidades que permitem realizar sorteios sem e com reposição, de modo
que possamos fazer testes interessantes para criação de análises consistentes e viáveis sob os pontos de vista de
tempo e confiabilidade.
O contexto de utilização do R ocorre principalmente para ciência de dados que é uma área que ganhou muita relevância
nos últimos anos. Ela, em si, não é uma área nova, mas a disponibilidade de programas que contêm diversas
funcionalidades em bibliotecas e a linguagem de sintaxe objetiva ajudaram a popularizar a aplicação de conceitos para
resolver problemas reais.
Outro ponto relevante a respeito do R é que ele possui licença de software livre. Realmente, fazer a instalação do R e
de suas bibliotecas é muito simples. Somado a tudo isso, ainda está o fato de que o R pode se integrar a outras
ferramentas de análise, como o Power BI, que é um software da Microsoft muito útil para produção de relatórios de
altíssima qualidade. Então, de fato, empresas como a do nosso exemplo, podem ter muitos benefícios ao realizar
análises com R.
Após a leitura do caso, é hora de aplicar seus conhecimentos! Vamos ligar esses pontos?
3. CONSIDERE O SEGUINTE CENÁRIO: VOCÊ ESTÁ PROCURANDO
OPORTUNIDADES DE TRABALHO NA ÁREA DE CIÊNCIA DE DADOS.
VOCÊ SABE QUE NESSA ÁREA A APRESENTAÇÃO DE UM
PORTFÓLIO DE APLICAÇÕES É MUITO SIGNIFICATIVA PARA
DEMONSTRAR A SUA CAPACIDADE DE RESOLVER PROBLEMAS
REAIS. NESSE CONTEXTO, QUAIS SERIAM OS MOTIVOS PARA VOCÊ
INVESTIR NO APRENDIZADO DO R?
RESPOSTA
A capacidade de resolver problemas reais é muito valorizada pelo mercado de trabalho. No caso de ciência
de dados, essa capacidade é medida pelos resultados de análises mediante ferramentas computacionais
como a linguagem de programação R, que ocupa uma posição de destaque. Portanto, investir no
desenvolvimento de soluções usando o R é uma forma de demonstrar para o mercado que somos capazes
de resolver problemas reais aplicando conceitos que têm bases sólidas no conhecimento das áreas de
estatística e probabilidade.
INTRODUÇÃO
Ao se construir uma pesquisa e desenhar uma amostra mais complexa, a análise de dados no papel pode se tornar
inviável. Além disso, programar todas as vezes as mesmas fórmulas desperdiça muito tempo, que poderia ser aplicado
javascript:void(0)
em outras etapas do processo. Por isso, aprenderemos a fazer seleções amostrais e estimações para vários planos
amostrais via software estatístico. No caso, aprenderemos como utilizar o programa R dentro da teoria da amostragem.
Este módulo descreverá como instalar o software R e quais as principais características que fazem dele um programa
cada vez mais versátil e difundido dentro do meio acadêmico e profissional. Utilizaremos uma série de bibliotecas dentro
do software para selecionarmos amostras aleatórias simples e fazermos estimações segundo esse plano amostral.
SOFTWARE R
O R é um software estatístico que atua como alternativa aos programas estatísticos tradicionais, como o SPSS, SAS e
Stata, sendo uma linguagem de código aberto extensível. Ou seja, o software, além de livre, pode ser atualizado pelos
próprios usuários. Imagine um software extremamente robusto, simples de utilizar, avançado e ainda de graça?
É isso que temos no R. Ele não possui versão demo e depois outra versão mais completa paga. Ele é inteiramente
gratuito. E cada pessoa pode simplesmente alimentá-lo com suas próprias programações. Isso é realmente
interessante, porque alguém do outro lado do mundo pode adicionar algo dentro do programa e você simplesmente
pode utilizar aquele código também.
Como o interesse na utilização do R veio aumentando nos últimos anos, é bem provável que algo que você precise
fazer já possa ter sido implementado por outra pessoa e esteja disponível de forma gratuita. Além disso, esse ambiente
de programação está disponível nas mais diversas plataformas (Windows, Macintosh, UNIX e Linux).
 VOCÊ SABIA
O software vem sempre passando por atualizações e o usuário pode simplesmente fazer o download da nova versão.
Antigamente, existia apenas o R clássico, original, com uma plataforma mais antiga, porém, nos dias de hoje, você
consegue uma interface superamistosa e simples para utilizá-lo. Na verdade, você primeiro instala o R clássico e depois
instala essa interface com diversas melhorias. Sinta-se livre para escolher a melhor maneira de começar.
O funcionamento do R é feito através de pacotes, também chamados de bibliotecas. Quando você instala o R, ele vem
com diversos packages já instalados em sua memória, o que permite que você já possa utilizar uma série de funções
interessantes. Isso é feito para que o R consiga economizar espaço de memória e não fique tão sobrecarregado. Em
outros softwares, quando você clica para abri-los, tudo que ele pode fazer já é carregado automaticamente, o que
muitas vezes deixa aquele ambiente pesado, com muitos travamentos. O R já trabalha de forma diferente, pois você só
instala ou carrega aquilo que realmente vai precisar usar.
 SAIBA MAIS
Para instalar o software R você simplesmente pode baixá-lo em https://cran.r-project.org/.
Na Figura 1, temos a tela de aberturado software R clássico. O número foi adicionado à figura somente para identificar
que esse é o único espaço onde você pode digitar algo no programa. Ali, você digita a programação e os resultados
aparecem.
 Figura 1: Tela inicial do software R. Fonte: The Comprehensive R Archive Network.
 SAIBA MAIS
Caso queira instalar a interface um pouco mais amistosa, você pode baixar também o RStudio na página RStudio.
Lembre-se de primeiro instalar o R clássico e depois este. Como o RStudio é uma plataforma mais amigável, usaremos
sempre a partir de agora. Além disso, se qualquer uma das programações abaixo não funcionar ou o software travar, por
favor, feche-o e inicialize-o novamente.
javascript:void(0);
javascript:void(0);
 Figura 2: Tela inicial do software RStudio. Fonte: RStudio.
Na Figura 2, temos a tela inicial do RStudio. Perceba como temos muito mais opções do que na Figura 1. Neste caso,
temos em 1 o local onde você pode fazer suas programações, sendo um local de backup. Caso o programa trave e/ou o
computador desligue, você perderia tudo se estivesse usando o R clássico, porém no RStudio isso fica salvo. Esta é
uma enorme vantagem do segundo em relação ao primeiro.
Em 2, conseguimos ver facilmente também as bases de dados e variáveis que estão sendo utilizadas no momento.
Basta clicar em cima de alguma base e, rapidamente, você conseguirá ver quantas variáveis ela possui e qual o tipo de
cada variável. Automaticamente, ao criar ou ler um arquivo de dados, ele será adicionado nessa janela.
Em 3, temos a janela de execução dos comandos. Ou seja, essa janela é equivalente ao R clássico. Podemos dizer que
o RStudio contém o R e mais outras 3 janelas. Tudo que você precisará executar será feito nessa parte da tela.
Por fim, temos em 4 uma parte com saídas de resultados gráficos, menu de ajuda, instalação e carregamento das
bibliotecas, entre outras coisas. Assim, se você precisar instalar um pacote, pode vir em 4, clicar em packages e instalar
à vontade quantos pacotes quiser. Mas lembre-se de que instalar um pacote não é suficiente para que ele funcione, é
preciso carregá-lo. Toda vez que fechar e abrir o R, ele mantém apenas os pacotes default (básicos). Os demais
precisam ser carregados todas as vezes.
PRIMEIRO ACESSO
Ao abrir o RStudio, você está com o "mundo em suas mãos". Você pode ler um arquivo de dados, construir sua própria
base, instalar um pacote, criar um pacote, carregar um pacote ou simplesmente programar. Você pode fazer uma tabela,
um gráfico simples, um gráfico tridimensional, um esquema, há uma infinidade de opções.
Vamos sempre utilizar o RStudio para fazer nossas análises. Para executar a programação no software, você pode
digitá-la na janela correspondente ao número 2 da Figura 2 e depois apertar o RUN ainda nessa janela. Ou você
pode digitar diretamente em 3 e apertar enter. Vejamos um exemplo de alguns gráficos que o R pode te oferecer. Para
isso, vamos utilizar um pacote que já vem instalado e carregado no R. É o pacote graphics. A partir de agora, todo
comando que você deverá digitar no software será escrito em itálico para diferenciar entre texto e conteúdo. Vamos
começar vendo a demonstração de um pacote gráfico em 2 dimensões com o comando demo. Você pode
simplesmente copiar o código e colar diretamente no programa ou então digitar no R:
demo(graphics)
Depois de digitar o comando acima, pressione o comando enter repetidas vezes. Isso mostrará diversos gráficos que o
R é capaz de fazer. Muito Legal, não é mesmo?
 SAIBA MAIS
Esse pacote já estava previamente instalado e carregado no R, logo não precisamos fazer nada além de digitar seu
código. Muitas bibliotecas precisam ser instaladas e carregadas, como veremos nos tópicos abaixo. No momento da
instalação, dependendo da versão do R, pode ser que ele te mostre uma lista de locais onde você poderá baixar esse
pacote. Você poderá escolher qualquer local da lista, mas é sempre indicado baixar em cidades listadas no Brasil. Esse
procedimento torna o download mais rápido.
Como mencionado anteriormente, dentro do R há uma infinidade de pacotes que podem ser utilizados. Para realizarmos
nossa amostragem, usaremos as funções pré-carregadas no R e basicamente dois pacotes: Sampling e o Survey.
FUNÇÃO SAMPLE
Uma das funções muito utilizadas para selecionar amostras no R é a sample(). Essa função já está pré-carregada na
memória do R, assim não precisaremos instalar nenhum pacote para sua execução. Para fazer isso, basta utilizar
sample() que recebe um vetor como entrada e então você diz quantas amostras tirar dessa lista.
Digamos que você queira simular jogadas de um dado comum de seis faces e deseje obter dez resultados. Como o
resultado para uma jogada do dado é um número entre um e seis, nosso código seria:
sample(1:6, 10, replace=TRUE)
Ou seja, estamos utilizando a função sample() com três parâmetros. O primeiro se refere ao intervalo de valores
utilizados (o dado varia de 1 a 6), o segundo diz o tamanho de amostra que se deseja (nesse caso, o número de
repetições) e o replace diz se aquela retirada é com ou sem reposição. Dessa forma, você diz para a função sample
retornar 10 valores, mas todos eles dentro do intervalo de 1 a 6. Assim, estamos fazendo uma seleção pelo método de
amostragem aleatória simples com reposição.
Você pode utilizar a sample() para fazer amostragem aleatória simples sem reposição também. Nesse caso, basta
substituir o TRUE por FALSE no replace ou simplesmente deixar em branco essa parte, pois o default da função é sem
reposição. Imagine que você tenha feito uma compra numa loja e recebido um cupom numerado. A loja vai realizar o
sorteio de duas televisões. Provavelmente farão sem reposição, para que uma mesma pessoa não possa ganhar duas
vezes. Sabendo o total de cupons utilizados, basta colocar no sample() e obter o resultado. O levantamento da loja
avaliou que foram disponibilizados 9780 cupons. Assim, poderemos fazer:
sample(1:9780, 2, replace=FALSE)
ou simplesmente
sample(1:9780, 2)
Se você rodou as duas formas acima, deve ter percebido que os resultados foram diferentes. Como o valor do retorno
da função sample() é um número determinado aleatoriamente, se você rodar esse código várias vezes, obterá
resultados diferentes a cada vez. Esse é o comportamento correto na maioria dos casos, mas, às vezes, você pode
desejar obter resultados repetíveis sempre que executar a função.
 COMENTÁRIO
Normalmente, isso ocorrerá apenas quando você desejar desenvolver e testar seu código, ou se quiser que outra
pessoa consiga replicar seus resultados e obter exatamente os mesmos valores. Nesse caso, é comum especificar um
valor de referência inicial, denominado semente.
Se você fornecer um valor de semente, a sequência de números aleatórios será redefinida para um estado conhecido.
Isso ocorre porque o R não cria números verdadeiramente aleatórios, mas apenas números pseudoaleatórios. Uma
sequência pseudoaleatória é um conjunto de números que, para todos os efeitos práticos, parecem ser aleatórios, mas
foram gerados por um algoritmo. Quando você define uma semente inicial para um processo pseudoaleatório, o R
sempre retorna a mesma sequência pseudoaleatória.
No R você usa a função set.seed() para especificar o valor inicial da semente. O argumento para set.seed() é qualquer
valor inteiro. Vamos utilizar uma semente igual, assim conseguiremos os mesmos resultados sempre.
set.seed(5)
sample(1:9780, 2, replace=FALSE)
ou simplesmente
set.seed(5)
sample(1:9780, 2)
O resultado da sua programação deve ter fornecido os ganhadores das duas televisões como os cupons de número
2255 e 6859, correto? Lembre-se de que estamos utilizando o RStudio. Se você rodar no R clássico, o resultado pode
ser diferente.
PACOTE SAMPLING
O pacote chamado sampling é outra forma de selecionar amostras, principalmente se utilizarmos planos amostrais
mais complexos. Ele contém muitas funções e opções internas, mas seu grande objetivo é selecionaramostras
utilizando métodos probabilísticos. Obter amostras no R é muito fácil, porque o software trata essas seleções
simplesmente como um novo subconjunto de dados.
Vamos também selecionar amostras aleatórias simples com e sem reposição por meio de desse pacote. Vamos instalar
e carregar o pacote por:
install.packages("sampling")
library(sampling)
No método com reposição temos que usar a função srswr(n,N). Basta definirmos o tamanho da amostra n e o tamanho
populacional N. A função retorna um vetor com o número de vezes que a unidade caiu na amostra. Primeiro,
carregamos o pacote sampling e depois utilizamos suas funções. Como exemplo, vamos selecionar uma amostra de
javascript:void(0)
tamanho 20 de uma população de tamanho 100. Sempre usaremos uma semente para nossos resultados ficarem
alinhados. Assim, temos:
SRSWR(N,N)
Do inglês, srswr é a abreviação de sample random sampling with replacement. Traduzindo isso temos “amostra aleatória
simples com reposição”.
set.seed(9)
s=srswr(20,100)
s
Após rodar os comandos acima, teremos os seguintes resultados:
[1] 0 0 0 0 0 0 0 0 0 2 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 0
[43] 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0
[85] 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0
Este resultado, que pela semente é igual para todos, diz quais as unidades da população de 1 a 100 foram
selecionadas. Os valores iguais a 1 foram os elementos selecionados uma única vez, e, como é com reposição, os
valores iguais a 2 significam que aquela unidade foi selecionada duas vezes.
Para vermos as unidades, podemos simplesmente fazer:
(1:100)[s!=0]
As unidades selecionadas foram:
[1] 10 13 18 21 26 29 30 32 34 36 38 41 50 51 78 89 94
E para vermos quem foi selecionado duas vezes, podemos utilizar o seguinte comando:
(1:100)[s==2]
Tivemos três unidades selecionadas mais de uma vez:
[1] 10 51 78
Para a amostragem aleatória simples sem reposição, utilizaremos a função srswor(n,N). É uma abreviação para
sample random sampling withOut replacement, ou seja, “amostra aleatória simples sem reposição”. Assim, faremos
a mesma coisa que fizemos no caso anterior:
set.seed(10)
s=srswor(20,100)
(1:100)[s!=0]
Os resultados encontrados foram:
[1] 7 8 9 13 15 24 27 34 39 42 54 55 71 72 74 76 83 88 91 99
ESTIMAÇÃO POR AMOSTRAGEM ALEATÓRIA SIMPLES
Utilizaremos o software R para a estimação dos dados aplicando a amostragem aleatória simples. É muito importante
que você faça uma revisão das expressões utilizadas para estimação da média, total e variância para a AAS.
O R já possui uma série de bases de dados internamente carregadas em sua memória. Outras bases são adicionadas
no momento de se carregar um pacote. Faça o seguinte comando para ver todas as bases disponíveis:
data()
Utilizaremos uma base referente ao pacote sampling chamada de MU284. Essa base de dados é uma base real datada
de 1.992. São dados sobre 284 municípios da Suécia. Diversas informações são levantadas, mas vamos nos ater à
informação de P85. Essa variável diz a quantidade de população (em mil unidades) de cada um dos 284 municípios.
Para carregar a base e ver as variáveis, fazemos:
data(MU284)
fix(MU284)
Observe que o comando fix abre outra janela para que você possa visualizar a base. Mas lembre-se de fechar a janela
aberta antes de prosseguir. Se você não fechar, o R não irá executar os próximos comandos. Nossa população é
composta por N = 284 municípios, você pode observar isso ao visualizar a quantidade de linhas do arquivo com:
N = nrow(MU284)
N
Vamos agora selecionar uma AAS sem reposição composta por 80 municípios com a função sample. Usaremos também
uma semente para obtermos os mesmos resultados:
n = 80
set.seed(8)
selec = sample(1:N, n)
amostra = MU284[selec,]
amostra
Vamos fazer estimações de totais, médias, variâncias para essa AAS. Faremos na "mão" a programação para cada uma
das estimações a seguir.
ESTIMAÇÃO DE VARIÁVEIS POPULACIONAIS
Estimação da média populacional
sum(amostra$P85)/n
A partir dessa amostra de 80 municípios, temos que a estimativa da média populacional para todos os municípios foi de
aproximadamente 28.688 pessoas (lembrando que os dados estão em milhares)
Estimação da variância da estimativa da média populacional
(1-n/N)*var(amostra$P85)/n
A estimativa da variância da estimativa da média é de 6.26 pessoas².
Erro padrão da estimativa da média populacional
sqrt((1-n/N)*var(amostra$P85)/n)
Após tirar a raiz quadrada com a função sqrt, temos o erro padrão da estimativa da média em cerca de 2.503 pessoas.
Assim, o erro da estimativa da média foi de cerca de 2.503 indivíduos (lembre-se sempre da unidade em milhares ao
dar o resultado final).
Estimação do total populacional
N*sum(amostra$P85)/n
Temos então que a estimativa do total populacional de todos os municípios é de aproximadamente 8147.25, ou seja,
8.147.250 pessoas em todos esses municípios.
Estimação da variância da estimativa do total populacional
N^2*(1/n-1/N)*var(amostra$P85)
A estimativa da variância da estimativa do total populacional é de 505.685,8 pessoas.
Erro padrão da estimação do total populacional
sqrt(N^2*(1/n-1/N)*var(amostra$P85))
Após tirar a raiz quadrada, temos o erro padrão da estimativa do total em aproximadamente 711.1159 pessoas. Assim, o
erro da estimativa do total foi de cerca de 711.115 indivíduos (lembre-se sempre da unidade em milhares ao dar o
resultado final).
Você pode estar se perguntando: Toda vez que eu precisar estimar alguma coisa eu preciso programar? É uma
pergunta válida. A resposta é: Depende. Se você precisar utilizar algo muito específico, pode ser que sim. Ou pode ser
que tenha que procurar na internet sobre algum pacote que faça isso no R. Mas costumamos dizer que não é que não
exista aquela programação, você que não achou ainda.
Para nossa sorte, existe um pacote chamado survey que faz todas essas estimações sem que precisemos lembrar das
fórmulas de estimadores de média ou variância, por exemplo. Precisamos apenas especificar os parâmetros do plano
amostral e teremos nossas estimações. Para esse exemplo que fizemos juntos, faremos:
install.packages("survey")
library(survey)
amostra$N = N
AAS = svydesign(id = ~0, data = amostra, fpc = ~N)
AAS
O parâmetro id serve para dizer se há algum tipo de cluster nos dados, como não temos, deixamos como 0 ou 1, depois
entramos com nossa amostra e com o fator fpc. Esse fator é chamado de fator de correção para população finita. Nada
mais é que o total da população, no caso da AAS. Por isso, antes de fazer o svydesign, adicionamos uma nova coluna
com o total populacional. Para fazer as estimações usando o pacote survey, faremos:
Estimação da média populacional (svymean)
svymean(~P85, AAS)
Estimação do total populacional (svytotal)
svytotal(~P85, AAS)
Compare os resultados obtidos pelo survey com os resultados de onde havíamos feito a programação. Veja como
chegamos aos mesmos resultados. Dessa forma, não precisamos fazer nenhum tipo de programação, basta entrarmos
com a base de dados, dizermos qual plano amostral gostaríamos de adotar e o pacote se encarrega do restante.
O SOFTWARE R E SEUS PACOTES NA SELEÇÃO E
ESTIMAÇÃO SOB AAS
VERIFICANDO O APRENDIZADO
MÓDULO 2
 Descrever o pacote survey para estimações a partir da amostragem estratificada
LIGANDO OS PONTOS
Você conhece o pacote survey do R? Como poderíamos utilizá-lo para fazer estimativas a partir de uma amostragem
estratificada? Para respondermos a estas perguntas, vamos analisar algumas situações práticas.
Constantemente, deparamo-nos com a necessidade de conhecer mais sobre características, comportamentos e
intenções de grupos da sociedade. Esse conhecimento nos ajuda a traçar estratégias para lançamento de produtos e
serviços. No caso dos governos, é um importante apoio para gerenciar recursos limitados com maior efetividade. Vamos
pensar em um exemplo prático: a prefeitura de um munícipio de médio porte pretende obter melhoresresultados na
qualidade de ensino fundamental. Existem sete indicadores da Unicef que podem ser utilizados para medir essa
qualidade que são: (1) planejamento institucional, (2) multiplicidade de experiências e linguagens, (3) interações, (4)
promoção de saúde, (5) espaços, materiais e mobiliários, (6) formação e condições de trabalho dos (as) professores
(as) e demais profissionais e (7) cooperação e troca com as famílias e participação na rede de proteção social.
Imediatamente, percebemos que há muitas questões a serem observadas e que tratá-las é um grande desafio. Então, é
fundamental que todas as decisões sejam extremamente eficientes. E aqui, a palavra extremamente representa a
necessidade de alocação de pessoas, gerenciamento de recursos escassos e produção de resultados em um tempo
viável. Por isso, é fundamental a aplicação de uma metodologia de pesquisa científica para atingir esses objetivos de
eficiência. Dependendo da dimensão do que estamos analisando, não é possível entrevistar todas as pessoas de uma
população. Então, utilizamos dos métodos de amostragem que nos auxiliam na etapa de coleta de dados. Em seguida,
precisamos analisar esses dados e verificar o quão representativos eles são da população. Nesse momento, é
fundamental o uso de ferramentas computacionais que possuam recursos com funções e outras facilidades para
estudarmos esses dados, como o software R e, mais especificamente, o pacote Survey.
O Survey é um pacote de pesquisa que tem dois objetivos principais. São eles:
relacionar os metadados de uma pesquisa aos dados, de modo que possamos fazer análises de forma confiável e
automática, ou seja, permite a criação de objetos contendo um data frame e informações do projeto.
fornecer estimativas de variância válidas para estatísticas computadas nesses objetos, o que permite gerar as
estimações média e total amostrais.
Ao mesmo tempo em que é necessário esforço para dominar os conceitos e desenvolver habilidade para programar no
R, também é bem compensador realizar uma análise de muita qualidade e com altíssimo valor agregado. No caso da
prefeitura do nosso exemplo, as chances de obter resultados mais fidedignos do que realmente acontece com a sua
população vai direcionar esforços para a utilização eficiente de recursos humanos e financeiros para melhorar a
qualidade do ensino fundamental.
Após a leitura do caso, é hora de aplicar seus conhecimentos! Vamos ligar esses pontos?
3. CONSIDERE O SEGUINTE CENÁRIO: VOCÊ É O RESPONSÁVEL
POR TREINAR UM GRUPO DE ANALISTAS NO SOFTWARE R. O
OBJETIVO É CAPACITÁ-LOS PARA REALIZAR ANÁLISE DE DADOS
SOB MÉTODOS DE AMOSTRAGEM. NESSE CENÁRIO, QUAL SERIA
SUA ESTRATÉGIA PARA POTENCIALIZAR O APRENDIZADO DA SUA
TURMA DE ALUNOS?
RESPOSTA
O R é uma das linguagens de programação mais importantes para aplicações de estatística e probabilidade.
No entanto, é verdade que a sintaxe da linguagem exige bastante atenção. Além disso, o R não substitui o
analista, ele apenas potencializa os resultados do trabalho. Portanto, a melhor forma de aprender a
programar com R é estudá-lo com exemplos de aplicações de estatística e probabilidade. O alinhamento
entre conceitos e prática ajudará bastante no aprendizado da turma. Em especial, é importante focar na
sintaxe do R, no uso da estrutura de dados dataframe e nas funções do pacote Survey.
INTRODUÇÃO
No módulo anterior, vimos as principais características na utilização do software R, principalmente relacionado à
amostragem. Vimos que o software é construído a partir de pacotes, os quais cada pessoa pode criar o seu próprio e
compartilhar com os demais usuários da comunidade.
A partir deste módulo, vamos explorar um pouco mais sobre o pacote Survey para fazer a estimação dos dados. Além
disso, veremos como realizar uma amostragem estratificada no software R e como fazer corretamente alguns tipos de
alocação da amostra existente.
javascript:void(0)
PACOTE SURVEY
Vimos rapidamente no módulo anterior a utilização do pacote Survey para fazer estimações das nossas variáveis de
interesse. Veremos agora maiores detalhes sobre a utilização deste pacote.
 SAIBA MAIS
O Survey foi criado em 2004 por Thomas Lumley, da Universidade de Auckland, na Nova Zelândia. Ele contém uma
série de funções internas com muitos parâmetros disponíveis e permite analisar dados sob amostragem complexa.
Para usar o pacote, são necessários alguns passos:
ETAPA 1
ETAPA 2
ETAPA 3
ETAPA 1
O primeiro é selecionar a amostra a ser utilizada, a qual pode ser feita com o pacote sampling.
ETAPA 2
Em seguida, é preciso especificar o plano amostral utilizado, através da função svydesign().
ETAPA 3
Com o desenho amostral construído, podemos utilizar as funções do survey para fazer as estimações considerando
esse plano. Todas essas funções especiais começam com svy, por exemplo, a svymean() e a svytotal().
No caso da amostragem estratificada (AE), a primeira coisa que faremos é verificar se há na base alguma variável
referente ao estrato. Lembre-se de que na AE todos os estratos deverão ter amostras selecionadas. Para fazer a
seleção, utilizaremos novamente o pacote sampling. A ideia será sempre utilizar as funções da biblioteca sampling para
selecionar as amostras e a biblioteca survey para fazer as estimações. Alguns parâmetros da função são:
svydesign(id=~, strata=~ , data= , weights = , fpc= , method= )
Vamos entender cada um desses parâmetros da função svydesign do package survey:
ID
Indica se as unidades amostradas são agrupadas em cluster. Como a amostragem por
conglomerados não foi usada aqui, só temos que colocar ~ 1 ou ~ 0 como marcador de
posição.
STRATA Argumento para dizer qual a variável utilizada para fazer a estratificação.
DATA Parâmetro referente ao nome da base de dados da amostra.
WEIGHTS
Indica o peso amostral daquela unidade. Nesse caso, será influenciando pelo fator do
tamanho do estrato h pelo tamanho da população . Se não quiser usar o peso,
pode usar a probabilidade de seleção também, pois o peso e a probabilidade de seleção
são grandezas inversas.
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Pense no seguinte exemplo: Você vai selecionar 4 empresas em um total de 1000 para análise. Qual a probabilidade de
seleção dessas empresas? Simplesmente fazemos . Assim, cada empresa tem uma chance de
0,4% em ser selecionada. Agora, pense na seguinte pergunta: Quantas empresas cada uma dessas 4 vai ter que
representar?
ETAPA 1
ETAPA 2
ETAPA 3
ETAPA 1
Ao selecionar 4 de 1000, essas 4 empresas selecionadas têm que responder por elas e pelas outras empresas que não
foram selecionadas. Esta é a ideia do peso, dar maior representatividade a quem foi selecionado, já que nem todos
(wh = )
nh
Nh
P = = 0, 0044
1000
serão.
ETAPA 2
Assim, fazendo , ou seja, a informação de cada empresa vai ter um peso de 250, porque ela precisa
representar as outras que não foram selecionadas. Nesse exemplo, o peso amostral de cada uma dessas unidades vale
250. Se você reparar bem, há uma relação entre o valor 0,004 da probabilidade de seleção e o valor 250 dos pesos.
ETAPA 3
Um é o inverso do outro: Se multiplicarmos 250*0,004, o resultado vai ser igual a 1. Portanto, se tivermos a
probabilidade de seleção, basta fazer 1 dividido por ela e encontraremos o peso. Obtendo uma das duas grandezas,
você automaticamente consegue a outra.
Para a função svydesign, você pode optar por informar tanto a probabilidade quanto o peso. Caso prefira deixar em
branco, o software vai entender que está fazendo uma seleção estratificada com ponderação igual entre os estratos.
fpc ‒ Argumento utilizado para fazer uma correção devido a população ser finita (finite population correction). É um
vetor adicionado à base da amostra em que, para cada registro, será adicionado o total da população. Se estamos
fazendo uma amostra estratificada, o fpc vai ser o total populacional de cada um dos estratos. A importância da sua
utilização é que, sabendo o valor totalda população, é possível reduzir a variância quando uma fração substancial da
população total for amostrada na estimação dos dados.
Após criado o objeto do plano amostral, podemos simplesmente utilizar o svymean e o svytotal para fazer as
estimações de média e total com suas respectivas medidas de erro padrão.
BASE DE DADOS MU284
Para construirmos nosso plano amostral estratificado e depois fazermos estimações a partir dessa amostra, usaremos
novamente a base MU284. Como nosso plano agora é mais complexo, pois envolve a estratificação, vamos dar mais
detalhes sobre os dados.
A base contém então 11 variáveis diferentes descritas para 284 municípios na Suécia. As variáveis são:
id CS82 REV84
P85 SS82 REG
P75 S82 CL
w = = 2501000
4
javascript:void(0)
javascript:void(0)
javascript:void(0)
javascript:void(0)
javascript:void(0)
javascript:void(0)
javascript:void(0)
javascript:void(0)
javascript:void(0)
RMT85 ME84
ID
Identificador de cada município, com valores entre 1 a 284.
P85
População de 1985 (em milhares).
P75
População de 1975 (em milhares).
RMT85
Receitas da tributação municipal de 1985 (em milhões de coroas suecas).
CS82
Número de políticos conservadores no conselho municipal.
SS82
Número de políticos sociais-democratas no conselho municipal.
S82
Número total de políticos no conselho municipal.
javascript:void(0)
javascript:void(0)
ME84
Número de funcionários municipais em 1984.
REV84
Valores imobiliários de acordo com a avaliação de 1984 (em milhões de coroas suecas).
REG
Indicador de região geográfica.
CL
Indicador de cluster (um cluster consiste em um conjunto de municípios vizinhos).
Para fazermos nossa amostragem estratificada com essa base, usaremos a variável REG, que é o indicador da região
geográfica como variável de estratificação.
AMOSTRAGEM ESTRATIFICADA NO R
Selecionemos uma amostra estratificada simples sem reposição de tamanho 80 com alocação proporcional ao tamanho
dos estratos. Vamos entender por partes cada etapa desse plano amostral. Primeiro, investigaremos na população
quantos estratos existem.
Feito isso, faremos de forma proporcional ao tamanho de cada estrato a alocação da amostra, assim estratos maiores
receberão maiores amostras do que estratos menores. Desse modo, indicaremos a quantidade de unidades que serão
selecionadas em cada um dos estratos por meio da AAS sem reposição. Por último, depois que a estratificação for
realizada, poderemos criar nosso objeto do plano amostral e fazer nossas estimativas.
O primeiro passo para fazermos uma AE é verificarmos a quantidade de estratos que temos no nosso cadastro, ou seja,
na nossa população. Lembre-se de que é preciso que o cadastro seja criticado na busca por erros e possíveis
inconsistências e, além disso, que esteja sempre atualizado. Primeiramente, precisamos ler nossos dados e descobrir
quantas regiões temos na base, ou seja, quantos estratos iremos criar. Faremos a utilização novamente da base MU284
da seguinte forma:
library(sampling)
data(MU284)
table(MU284$REG)
O resultado encontrado após rodar os códigos acima foi:
 Figura 3: Tabela com a quantidade de municípios em cada região gerada no software R.
Pelo resultado obtido na figura 3, temos 8 regiões possíveis para fazermos a estratificação. Além disso, temos o total de
cada região, por exemplo, 25 municípios na região 1,28 municípios na região 2, e assim, sucessivamente.
Para encontrarmos o fator de ponderação dos estratos , faremos , ou seja, a proporção de cada região
em relação ao total. Por meio do R, fazemos:
prop.table(table(MU284$REG))
Logo, temos o peso de cada estrato em relação ao total:
 Figura 4: Peso de cada estrato gerado no software R
Se você somar todos os valores acima, vai encontrar o valor 1, pois o total tem que dar 100%. Como usaremos a
alocação proporcional, a distribuição mantém a fração da amostragem em cada estrato h igual à fração populacional.
Ou seja, nesse tipo de alocação, a amostra previamente definida de tamanho n é distribuída proporcionalmente ao
tamanho dos estratos. A alocação é dada por e no R faremos simplesmente:
 Figura 5: Alocação proporcional em cada estrato gerada no software R.
A partir dessas informações, poderemos calcular o tamanho da amostra em cada estrato. É importante sempre
arredondar o tamanho da amostral para o inteiro superior mais próximo.
 ATENÇÃO
Dessa forma, você conseguirá obter o mínimo exigido por estrato, porém, pode acontecer do tamanho amostral final ser
ligeiramente maior do que o planejado previamente. Com isso, o tamanho de amostra em cada estrato será de 8, 14,
10, 11, 16, 12, 5 e 9 e o tamanho passa então de 80 para 85 unidades.
Para selecionarmos nossa amostra estratificada, usaremos a função strata, que também faz parte do pacote sampling,
da seguinte forma:
set.seed(3)
selec = strata(MU284, stratanames = "REG", size = c(8,14,10,11,16,12,5,9), method = "srswor")
selec
Wh Wh =
Nh
N
nh = n
Nh
N
Com a utilização da semente, encontraremos as mesmas unidades selecionadas. Ao rodar o comando selec, você verá
impresso na tela a amostra selecionada. Vamos usar um comando para ver somente as primeiras 10 unidades da
amostra. Você pode substituir o 10 abaixo por qualquer valor:
head(selec,10)
O resultado encontrado foi:
 Figura 6: As 10 primeiras unidades selecionadas pela amostragem estratificada no R.
Perceba pela figura acima que temos 4 colunas, a de região REG; a Id_unit, que identifica a unidade que foi
selecionada; a variável Prob, que é a probabilidade de seleção; e a stratum, que é igual a REG, porém criada pela
própria função.
Vamos entender como foram obtidas as probabilidades de seleção para esses dois estratos. Para o 1°, temos um total
de 25 empresas no estrato e como queremos selecionar apenas 8, basta fazermos . Para o estrato 2,
temos , e assim, sucessivamente, para os outros.
Para filtrar somente alguma variável de um arquivo, utilizamos o símbolo $ separando o nome da base e o nome da
variável. Podemos, então, obter somente as probabilidades de seleção da seguinte forma:
selec$Prob
Já temos as unidades selecionadas, precisamos agora utilizar o banco de dados original para criar um novo objeto com
todas as variáveis para aquelas unidades amostrais. Assim, faremos:
amostra = getdata(MU284, selec)
head(amostra,8)
A função getdata vai completar os dados amostrais com as informações da população MU284. A base chamada
amostra vai conter todas as informações possíveis somente para as unidades selecionadas.
Com nossa amostra bem estabelecida, poderemos construir nosso plano amostral e depois realizar a estimação dos
dados. Vamos criar um vetor de fpc com os totais populacionais. Por exemplo, os 8 primeiros registros são do estrato 1
que tem 25 unidades na população, então temos que repetir o 25 nas 8 primeiras linhas, e assim, sucessivamente, para
os demais estratos. Nosso vetor será feito com o comando de repetição rep abaixo:
fpc=rep(c(25,48,32,38,56,41,15,29),c(8,14,10,11,16,12,5,9))
fpc
Para especificarmos o plano amostral, usaremos o comando svydesign, em que diremos a variável de estratificação, as
probabilidades de seleção e o fpc. Assim:
library(survey)
plano_est = svydesign(id = ~1, strata = ~Stratum, probs = ~selec$Prob, data = amostra, fpc=~fpc)
P1 = = 0, 32
8
25
P2 = = 0, 2916667
14
48
Com o plano amostral especificado, podemos utilizar a função svymean para fazer nossas estimativas, assim:
Estimativa da média e de seu erro padrão para a variável P85 considerando o plano amostral estratificado
svymean(~P85, plano_est)
Com o resultado acima, nossa estimação da média populacional é de 20.068 pessoas e seu erro padrão,
aproximadamente, 1.271 pessoas (lembre-se de que os dados estão em milhares).
Estimativa do total e de seu erro padrão para a variável P85 considerando o plano amostral estratificado
svytotal(~P85, plano_est)
Para a estimação do total populacional, obtemos aproximadamente 5.700.000 pessoas com um erro padrão de,
aproximadamente,361.100 pessoas.
Dessa forma, conseguimos obter estimativas para a média e total populacional da nossa variável P85. Você pode repetir
todo o processo para outra variável do banco e comparar os resultados.
OUTRA FORMA DE OBTER OS MESMOS RESULTADOS
Fizemos a estimação das nossas quantidades de interesse utilizando nosso plano amostral criado com a função
svydesign. Um dos parâmetros informados foi a probabilidade de seleção. Podemos obter os mesmos resultados
indicando na função quais são os pesos amostrais em vez das probabilidades de seleção. Como vimos que as
probabilidades e os pesos são grandezas inversas, podemos usar isso no software e indicar o vetor de pesos no
momento da criação do desenho amostral. Para isso, basta adicionar uma coluna na nossa base de amostra com os
valores dos pesos da seguinte forma:
amostra$PESO = 1/amostra$Prob
O que estamos fazendo é acessando a base amostra e adicionando uma nova coluna chamada PESO, com valores de
1 dividido pelas respectivas probabilidades de seleção de cada linha. Agora, faremos a especificação do plano amostral
novamente. Vamos chamar de plano_est2 e depois poderemos estimar novamente nossas médias e variâncias.
plano_est2 = svydesign(id = ~1, strata = ~Stratum, weights = ~PESO, data = amostra, fpc=~fpc)
Repare no código acima que o parâmetro das probabilidades de seleção foi substituído pelo parâmetro do peso.
Fazendo as estimações para este segundo plano, temos:
svymean(~P85, plano_est2)
svytotal(~P85, plano_est2)
Compare os resultados, perceba que encontramos os mesmos valores. Assim, podemos indicar para a função tanto as
probabilidades de seleção, quanto os pesos amostrais. E caso não indiquemos nada, estamos assumindo que os
estratos têm o mesmo tamanho.
RESULTADOS SEM O FPC
Vamos agora fazer nossas estimativas ignorando o fator de correção de população finita. Esse fator é importante, pois
indica qual o tamanho da população de cada estrato. Assim, o software não precisa assumir que a população é infinita
e, com isso, os erros de estimação diminuem.
Nesse caso, basta eliminar o parâmetro e fazer novamente as estimações, vamos chamar esse desenho de
plano_est3. Assim, temos:
plano_est3 = svydesign(id = ~1, strata = ~Stratum, probs = ~selec$Prob, data = amostra)
Ou utilizando os pesos em vez das probabilidades de seleção:
plano_est3 = svydesign(id = ~1, strata = ~Stratum, weights = ~PESO, data = amostra)
As estimações são feitas por:
svymean(~P85, plano_est3)
svytotal(~P85, plano_est3)
A tabela abaixo faz a comparação entre as estimações do plano 1 ou 2 com o fator fpc e do plano 3 sem o fator.
Estimativa\ Plano amostral Plano 1 ou 2 (com FPC) Plano 3 (sem FPC)
Média (milhar) 20.068 20.068
Erro padrão da média (milhar) 1.2715 1.5237
Total (milhar) 5699.4 5699.4
Erro padrão do total (milhar) 361.1 432.73
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Tabela 1: Comparação dos resultados dos planos amostrais com e sem o fator FPC. Fonte: O Autor.
Observe que interessantes os resultados da Tabela 1, pois ao comparar os mesmos planos amostrais, com as mesmas
amostras, a utilização do fpc faz com que seja possível diminuir o erro da estimação. Estamos sempre na busca das
melhores estimações com os menores erros possíveis. Ao comparar as estimativas de média ou de total, os resultados
foram exatamente os mesmos, porém o erro padrão das medidas com o fpc diminuiu. Portanto, sempre que você tiver
essa informação, utilize nas especificações do seu plano amostral.
ESTIMAÇÃO POR ESTRATO
Uma das grandes vantagens de se utilizar a AE é a possibilidade de fazer estimações gerais e particulares por estrato.
Dessa forma, podemos acompanhar uma média ou um total específico para alguma região, como é o caso do nosso
exemplo. Para isso, usaremos a função svyby e especificaremos dentro do parâmetro FUN o svymean, para
estimarmos a média ou o svytotal, para estimarmos o total. Usaremos os seguintes comandos:
svyby(~P85, by = ~Stratum, design = plano_est, FUN = svymean)
E o resultado apresentado pelo R para a média foi de:
svyby(~P85, by = ~Stratum, design = plano_est, FUN = svytotal)
E o resultado apresentado pelo R para o total foi de:
É interessante essa estimação por estrato, pois podemos ver que no estrato 1 a estimação do total e da média
populacional são muito maiores que dos outros. Também é possível a partir das estimativas das médias e totais
encontrarmos os valores de forma geral. Para o total, basta somarmos, por exemplo, para cada estrato. Assim, temos,
. E esse valor foi exatamente o valor encontrado quando fizemos a estimação do total geral.
SELEÇÃO AMOSTRAL E ESTIMAÇÃO SOB
AMOSTRAGEM ESTRATIFICADA NO R
YAE = 1. 128, 1250 + 939, 4286 + 604, 8000 + 663, 2727 + 997, 5000 + 536, 4167 + 411, 0000 + 418, 8889 = 5. 699, 4
VERIFICANDO O APRENDIZADO
MÓDULO 3
 Selecionar amostras a partir da amostragem sistemática e conglomerada com estimações para esses planos
no software R
LIGANDO OS PONTOS
Existem diversas técnicas para realizar uma amostragem. Todas têm vantagens e desvantagens. Os critérios que
utilizamos para selecionar uma técnica no lugar de outra leva em consideração informações que temos a respeito dos
dados.
Independentemente do método que vamos escolher, o uso de programas como o R e de pacotes especializados como o
Survey nos ajuda a realizar testes, análises e visualizações de forma muito eficaz.
Nesse contexto, estão as amostragens sistemática e conglomerada. Você as conhece? O que você faria diante da
necessidade de fazer estimativas para esse tipo de amostragem usando o R?
Vamos entender esses conceitos na prática.
A necessidade de reconhecer padrões em uma população faz com que entidades dos setores público e privado invistam
na realização de pesquisas. Devido às limitações de recursos de tempo e financeiros, a realização de uma pesquisa é
feita por um processo de amostragem.
Quando definimos o tipo de amostragem que vamos utilizar, estamos definindo o plano amostral. Há dois tipos possíveis
de planos amostrais: probabilísticos e não probabilísticos. Sempre que possível, é melhor utilizar o primeiro do que o
segundo, pois ele nos fornece informações mais precisas.
Agora, mais especificamente sobre o método de amostragem, há muitas opções. Vamos focar apenas em algumas
delas: aleatória simples, aleatória sistemática, estratificada e por conglomerados.
Na amostragem aleatória simples, escolhemos elementos da população com chances iguais de serem selecionados.
Na amostragem aleatória sistemática, selecionamos elementos da população a partir da definição de um critério. Por
exemplo, fornecemos uma identificação para cada elemento da população e vamos sortear apenas os elementos cujos
identificadores sejam números ímpares.
Já na amostragem estratificada, dividimos os elementos de uma população por suas semelhanças, o que é conhecido
como estrato. Em seguida, realizamos sorteios nesses estratos, e, a partir disso, obtemos a amostra.
Na amostragem por conglomerados, os elementos da população já estão naturalmente agrupados. Um exemplo disso
são as pessoas que residem no mesmo bairro, ou seja, na mesma conglomeração. Ainda assim, pessoas do mesmo
grupo têm características heterogêneas. Então, a ideia é sortear elementos dos conglomerados para formar a amostra.
O R nos fornece funções que permitem realizar esses tipos de amostragens e muitas outras. Mas, novamente, cabe
enfatizarmos que o software é apenas uma ferramenta para potencializar os resultados de nosso trabalho. Portanto, é
muito importante investirmos tempo para o aprendizado dos conceitos da estatística e da probabilidade.
Após a leitura do caso, é hora de aplicar seus conhecimentos! Vamos ligar esses pontos?
3. NO TEXTO, É ENFATIZADA A IMPORTÂNCIA DO CONHECIMENTO
TEÓRICO. EM ESPECIAL, COM A POPULARIZAÇÃO DA CIÊNCIA DE
DADOS, O USO DE FERRAMENTAS COMPUTACIONAIS SE
INTENSIFICOU MUITO. COM BASE EM SUA EXPERIÊNCIA, QUAIS AS
VANTAGENS DE ALIAR CONHECIMENTOTEÓRICO E PRÁTICO? A
POPULARIDADE DA CIÊNCIA DE DADOS É UMA TENDÊNCIA
PASSAGEIRA?
RESPOSTA
Analisar dados é algo muito sério. Uma análise malfeita pode causar enormes prejuízos financeiros, além de
outras questões como prejuízos à saúde, ao meio ambiente e à imagem de pessoas e entidades. Por isso, é
javascript:void(0)
muito importante aliar o conhecimento teórico – que dá fundamentação para as análises – com a capacidade
de colocar esse conhecimento na prática por meio de ferramentas como o R.
A ciência de dados, apesar de sua grande popularização nos últimos anos, não é uma área nova e nem é
uma mera tendência passageira. Ao contrário disso, pois o avanço da tecnologia tem nos permitido trabalhar
com volumes gigantescos de dados para atender a demandas cada vez mais crescentes dos diversos
setores da sociedade.
INTRODUÇÃO
No módulo anterior, vimos as principais características do pacote Survey para fazer as especificações e estimações da
amostragem estratificada no software R.
A partir deste módulo, vamos explorar um pouco mais o pacote Survey, agora na amostragem por conglomerado.
Veremos as diferenças existentes nas funções decorrente de se utilizar a amostra dividida em cluster. Além disso,
vamos fazer algumas comparações entre os planos amostrais e veremos também a amostragem sistemática para se
fazer seleções amostrais.
AMOSTRAGEM POR CONGLOMERADOS NO R
Outra abordagem muito utilizada no momento de elaboração do plano amostral é a amostragem por conglomerados
(AC). A grande vantagem desse plano diz respeito à parte operacional, no sentido de diminuir o custo de toda operação.
Selecionar um conglomerado e investigar a população ali dentro é, em geral, mais barato do que fazer os outros
métodos de amostragem que discutimos acima.
 COMENTÁRIO
A AC pode ser feita em vários estágios, porém precisamos que nossa população esteja totalmente distribuída dentro de
algum cluster. Lembrando que na AC em 1 estágio, primeiro vamos selecionar os conglomerados e depois investigar
todas as unidades ali dentro.
Voltemos a utilizar nossa base de dados MU284, com os 284 municípios da Suécia. Diferentemente dos casos
anteriores, usaremos a variável CL, que delimita o cluster para cada registro da base. Vamos, então, selecionar uma
amostra por conglomerados simples sem reposição em um estágio, onde os conglomerados são definidos com a
variável CL em nossa população de municípios. Para fazer comparações com os planos anteriores (estratificação, por
exemplo), utilizaremos o mesmo tamanho de amostra, n = 80 municípios.
Faremos uma tabela exploratória para descobrirmos em quantos clusters nossa população está dividida:
library(sampling)
data(MU284)
dados=MU284
table(MU284$CL)
 Figura 7: Distribuição dos municípios dentro dos clusters.
Perceba na Figura 7 que a população de municípios está dividida em 50 conglomerados com uma distribuição bastante
semelhante entre eles. Para encontrarmos a média geral de municípios dentro dos conglomerados, basta calcularmos:
 Atenção! Para visualização completa da equação utilize a rolagem horizontal
Assim, cada conglomerado possui, em média, 5,68 municípios e se quisermos que nossa amostragem tenha um
tamanho de amostra de aproximadamente 80 municípios, teremos que selecionar cerca de 14 conglomerados (pois em
média 14* 5,68 = 79.52).
Agora, podemos utilizar o pacote sampling com a função cluster para construir nossa amostra. A função cluster
produz um objeto que contém os conglomerados selecionados, o identificador dos municípios pertencentes a cada um
dos conglomerados e as probabilidades de seleção deles. Utilizando a semente com um valor igual a 5, fazemos no R:
set.seed(5)
ACS=cluster(MU284,clustername=c("CL"),size=14,method=c("srswor"))
Perceba como simplesmente entramos com o nome da base, o nome da variável que define os conglomerados, o
tamanho de conglomerados que queremos selecionar e o método de seleção dessas unidades, no caso a amostra
aleatória simples sem reposição (srswor).
Para vermos alguns conglomerados selecionados, podemos utilizar novamente o comando head() como:
head(ACS,10)
¯̄¯̄M 0 = = 5, 68
284
50
 Figura 8: Primeiras 10 unidades selecionadas e seus respectivos conglomerados.
Pela Figura 8, temos as respectivas identificações das unidades e de seus clusters. Repare que a probabilidade de
seleção é a mesma para todos os elementos, independente de qual cluster ele está. Lembre-se de que estamos
fazendo um plano amostral conglomerado em 1 estágio, assim, dado que o cluster foi selecionado, todas as suas
unidades serão investigadas. Logo, o que importa é a seleção dos conglomerados, e não das unidades lá dentro. Essa
probabilidade é fixa e dada pela quantidade de clusters que iremos selecionar dividida pelo total existente, assim:
 Atenção! Para visualização completa da equação utilize a rolagem horizontal
Agora que já temos nossos conglomerados selecionados, vamos cruzar essa informação com nosso banco original e
obter as outras variáveis referentes a essas respectivas unidades amostrais. Utilizaremos novamente a função getdata,
logo:
ACSs=getdata(MU284,ACS)
Para visualizarmos as informações das unidades de cada cluster selecionado, podemos fazer:
fix(ACSs)
Lembre-se de fechar a janela antes de continuar. Outro ponto importante que devemos construir é o fator fpc. Dessa
forma, adicionaremos um vetor com o tamanho total dos conglomerados, que no caso vale 50. Assim, replicaremos o 50
de acordo com a dimensão do objeto ACSs.
fpc2=rep(50,dim(ACSs)[1])
fpc2
Podemos agora fazer a especificação do nosso plano amostral a partir do pacote survey e da função svydesign.
library(survey)
PlanoC=svydesign(id=~CL,data=ACSs,probs=~ACS$Prob,fpc=~fpc2)
Diferentemente das especificações anteriores, agora nosso id não fica com o valor 0 ou 1, ele vai receber exatamente a
variável de cluster, na base é representada por CL. Podemos verificar a definição do plano amostral conglomerado
construído pelo R, simplesmente rodando o comando abaixo:
PlanoC
O resultado é dado por:
P(s)= = 0. 281450
Perceba como o R descreve perfeitamente o plano que foi construído. Temos um plano conglomerado em 1 estágio com
seleção de 14 clusters. Por fim, o último passo é fazer as estimativas para nossa variável de interesse P85. Assim,
temos:
Estimativa da média e de seu erro padrão para a variável P85 considerando o plano amostral conglomerado em
1 estágio
svymean(~P85,PlanoC)
Com o resultado acima, nossa estimação da média populacional é de 28.354 pessoas e seu erro padrão é de,
aproximadamente, 2.500 pessoas (lembre-se de que os dados estão em milhares).
Estimativa do total e de seu erro padrão para a variável P85 considerando o plano amostral conglomerado em 1
estágio
svytotal(~P85,PlanoC)
Para a estimação do total populacional, obtemos aproximadamente 8.800.000 pessoas com um erro padrão de
aproximadamente 791.400 indivíduos.
Dessa forma, conseguimos obter estimativas para a média e total populacional da nossa variável P85. Você pode repetir
todo o processo para outra variável do banco e comparar os resultados.
OUTRA FORMA DE OBTER OS MESMOS RESULTADOS
Da mesma forma que fizemos na AE, podemos obter os mesmos resultados trocando a variável das probabilidades de
seleção pela variável peso. Como o peso e as probabilidades de seleção são grandezas inversas, podemos
simplesmente fazer:
peso=1/ACS$Prob
ACS$Prob
peso
Com isso, construímos nosso vetor de pesos e podemos utilizá-lo dentro da função svydesign para fazermos a
especificação do plano amostral. Assim, temos:
PlanoC2=svydesign(id=~CL,data=ACSs,weights = peso,fpc=~fpc2)
svymean(~P85,PlanoC2)
svytotal(~P85,PlanoC2)
Compare os resultados, veja como são exatamente os mesmos, tanto para a estimativa da média quanto para o total.
RESULTADOS SEM O FPC
Vamos agora, novamente, fazer nossas estimativas ignorando o fator de correção de população finita. Nesse caso,
basta eliminar o parâmetro e fazer novamente as estimações. Vamoschamar esse desenho de planoC_sem_fpc.
Assim, temos:
planoC_sem_fpc = svydesign(id=~CL,data=ACSs,probs=~ACS$Prob)
Ou utilizando os pesos em vez das probabilidades de seleção:
planoC_sem_fpc = svydesign(id=~CL,data=ACSs,weights = peso)
As estimações são feitas por:
svymean(~P85, planoC_sem_fpc)
svytotal(~P85, planoC_sem_fpc)
A tabela abaixo faz a comparação entre as estimações do plano 1 ou 2 com o fator fpc e do plano 3 sem o fator:
Estimativa\ Plano amostral Plano 1 ou 2 (com FPC) Plano 3 (sem FPC)
Média (milhar) 28.354 28.354
Erro padrão da média (milhar) 2.5005 2.9468
Total (milhar) 8000 8000
Erro padrão do total (milhar) 791.4 932.68
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Tabela 2: Comparação dos resultados dos planos amostrais com e sem o fator FPC. Fonte: Autor.
Observe que as conclusões feitas a partir dos resultados na Tabela 2 são exatamente iguais aos resultados da Tabela 1,
pois, ao comparar os mesmos planos amostrais com as mesmas amostras, a utilização do fpc faz com que seja possível
diminuir o erro da estimação. Ao comparar as estimativas de média ou de total, os resultados foram exatamente os
mesmos, porém o erro padrão das medidas com o fpc diminuiu. Portanto, sempre que você tiver essa informação, utilize
nas especificações do seu plano amostral.
COMPARAÇÃO ENTRE AS ESTIMAÇÕES DOS PLANOS
AMOSTRAIS
Após obter os resultados das estimativas da média, total e de seus respectivos erros padrões para amostras de
tamanho aproximadamente iguais sob planos amostrais diferentes, podemos reunir os valores obtidos na Tabela 3
abaixo:
Estimativa\ Plano amostral AAS (com FPC) AES (com FPC) ACS (com FPC)
Média (milhar) 28.688 20.068 28.354
Erro padrão da média (milhar) 2.5039 1.2715 2.5005
Total (milhar) 8147.2 5699.4 8000
Erro padrão do total (milhar) 711.12 361.1 791.4
 Atenção! Para visualizaçãocompleta da tabela utilize a rolagem horizontal
Tabela 3: Comparação dos resultados para a variável P85 para os planos amostrais utilizados. Fonte: Autor.
Perceba como o valor do erro padrão da amostragem estratificada é inferior aos outros dois métodos. Isso sugere que a
AES tem uma eficiência superior à AAS e à ACS. É interessante esse resultado do ponto de vista do tamanho da
amostra, pois a estratificação consegue obter resultados muito eficientes com um tamanho de amostra menor que a
AAS, por exemplo. Já a ACS é um método, em geral, menos eficiente que os demais, porém o custo de se fazer uma
amostragem por ele costuma ser menor do que nos outros casos.
AMOSTRAGEM SISTEMÁTICA NO R
Nesse tipo de amostragem, selecionamos um ponto de partida da população e coletamos nossos elementos a partir de
um intervalo de retirada k. Os elementos devem estar dispostos de maneira organizada, como, por exemplo, uma fila ou
uma lista, e isso feito de forma aleatória. Se estivermos fazendo um levantamento de dados em uma fábrica de
lâmpadas, podemos retirar uma lâmpada para teste a cada 100 peças produzidas.
Podemos também definir a amostra de acordo uma porcentagem P% da população que pode fazer parte da amostra. A
partir daí, encontramos o valor k por:
 Atenção! Para visualização completa da equação utilize a rolagem horizontal
Depois, sorteamos um número r inteiro entre 1 e k e a amostra será composta pelos elementos de ordem r; r + k; r + 2k;
r + 3k; e assim, sucessivamente. Vejamos um exemplo de como fazer essa seleção no software R:
Um restaurante deseja conhecer melhor o perfil de seus clientes e tem condições de entrevistar aproximadamente 20%
dos mesmos. Em média, 30 clientes passam pelo restaurante ao longo do dia num processo de fila bastante ordenada.
Como fazer a seleção dessas amostras?
ETAPA 1
K ≅ * 1001
P
ESTAPA 2
ESTAPA 3
ETAPA 1
Para fazermos essa seleção no R, utilizaremos funções bastante simples. Primeiro, encontraremos nosso K:
set.seed(10)
(k<- round((1/20)*100))
ETAPA 2
Com nosso intervalo estabelecido, vamos sortear nosso ponto de partida r:
(r<- sample(seq(1,k,1),1))
ETAPA 3
Com o intervalo de seleção e o ponto de partida, podemos indicar quais serão as amostras que deverão ser
selecionadas para esse caso. É possível também criar funções mais complexas que façam isso automaticamente ou
apenas adicionar r+nk na função abaixo.
c(r,r+k,r+2*k, r+3*k, r+4*k, r+5*k)
Nesse caso, as unidades que farão parte da nossa amostra são: 3 8 13 18 23 28.
Um problema real na AS ocorre na estimação de medidas de precisão. De acordo com Bolfarine (2005), no caso em que
a população está em ordem aleatória, não existem muitos problemas em se estimar a variância da AS pelas expressões
dos estimadores da AAS. Assim, você pode usar as mesmas expressões e funções de estimação no R utilizados para a
AAS.
AMOSTRAGEM SISTEMÁTICA E POR
CONGLOMERADO NO SOFTWARE R
VERIFICANDO O APRENDIZADO
CONCLUSÃO
CONSIDERAÇÕES FINAIS
Ao longo dos módulos, foi possível entender mais sobre a importância da utilização do software R na amostragem e na
análise de dados amostrais. O software, por ser livre e poder ser alimentado com bibliotecas do mundo inteiro, vem
crescendo cada vez mais em termos de usuários.
Inicialmente, discutimos alguns aspectos sobre o programa, como fazer a instalação do RStudio e alguns pacotes
introdutórios de estatística. Vimos, em seguida, a utilização do pacote sampling e como fazer seleções e estimações por
meio da amostragem aleatória simples.
No segundo módulo, apresentamos características mais específicas sobre a biblioteca survey, utilizada para fazer
estimações nos mais diversos planos amostrais. Aprendemos como fazer uma amostragem estratificada no R e como
usar o survey para fazer essas estimativas. Comparamos algumas formas diferentes de obter os dados e aprendemos a
fazer estimações específicas por estratificação.
Por fim, investigamos também a amostragem conglomerada e sistemática no R. Fizemos uma comparação dessas com
as estimativas obtidas por aleatórias simples, estratificada e conglomerada. Ficou claro como a eficiência da
estratificação pode ser substancial no cálculo das medidas de precisão.
Assim, temos certeza de que, ao longo deste conteúdo, você aprendeu um pouco sobre o software R, ferramenta tão
utilizada na Estatística e na Ciência de Dados, e como utilizá-lo no contexto da amostragem.
 PODCAST
AVALIAÇÃO DO TEMA:
REFERÊNCIAS
BOLFARINE, H.; BUSSAB, W. O. Elementos de Amostragem. São Paulo: Blucher, 2005.
BONAFINI, C. F. Probabilidade e Estatística. São Paulo: Pearson Education do Brasil, 2015.
COCHRAN, W. G. Sampling Techniques. 3rd. edition. New York: John Wiley & Sons, 1977.
LOHR, S. Sampling: Design and Analysis. 2nd. edition. USA: Duxbury Press, 2010.
MORETTIN, P. A.; BUSSAB, W. de O. Estatística Básica: Probabilidade e Inferência, Volume Único. São Paulo:
Pearson Prentice Hall, 2010.
R-PROJECT. R Core Team. R: A language and environment for statistical computing. R Foundation for Statistical
Computing, 2019, Vienna, Austria. Consultado em meio eletrônico em: 28 out. 2020.
SÄRNDAL, C. E.; SWENSSON, B.; WRETMAN, J. Model assisted survey sampling. New York: Springer-Verlag, 1992.
EXPLORE+
Para saber mais sobre os assuntos tratados neste tema, leia:
PDF Pacote sampling, Cran
PDF Pacote survey, Cran
CONTEUDISTA
Leandro Vitral Andraos
Sérgio Assunção Monteiro
javascript:void(0);
javascript:void(0);

Continue navegando