Análise Exploratória de
Dados - 2006
R - LIG-05
Objetivos da aula
Definir e calcular medidas de dispersão:
amplitude amostral, distância entre
quartis, desvio-médio, variância e desviopadrão.
Definir e calcular o coeficiente de variação
amostral.
Definir e calcular quantis de uma
distribuição de freqüências.
Exemplo 1
Suponha que um grupo de 120 estudantes
foi aleatoriamente distribuído em 6 grupos
de 20.
Cada grupo recebeu um tipo de
treinamento e depois todos foram
submetidos a um mesmo teste.
Ao teste é atribuída uma nota de zero a
10.
Exemplo 1 (continuação)
Os dados (fictícios) com as notas dos
testes para os seis grupos estão no
arquivo notas.txt.
notas=read.table(“http://www.im.ufrj/~flavia/aed06/notas.txt”)
names(notas)=c(“G1”,”G2”,”G3”,”G4”,”G5”,”G6”)
Exemplo 1 (continuação)
Calcule a média e a mediana das notas
para cada grupo.
É possível ver que todos os grupos
apresentam a mesma média 5 e a mesma
mediana 5.
Será que podemos afirmar que as
performances foram iguais para os
diferentes grupos?
> mean(notas)
G1 G2 G3 G4 G5 G6
5 5 5 5 5 5
medianaNotas<-matrix(0,1,6)
# cria o vetor medianaNotas com todas as entradas nulas
# de dimensão 1 por 6
for (i in 1:6) {medianaNotas[1,i]=median(notas[,i])}
# para i variando de 1 a 6 atribui a medianaNotas da
#coluna i a mediana das notas do i-ésimo grupo.
> medianaNotas
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 5 5 5 5 5 5
Ramo e folhas das notas
Para responder a pergunta anterior,
podemos construir os ramo-e-folhas das
notas para observar a variação das
mesmas nos diferentes grupos.
Ramo e folhas das notas
> stem(notas$G1)
5 | 00000000000000000000
> stem(notas$G2)
0 | 00
2 | 00000
4 | 000000
6 | 00000
8 | 00
> stem(notas$G3)
4 | 000000
4|
5 | 00000000
5|
6 | 000000
> stem(notas$G4,scale=2)
1 | 0000
2 | 00
3 | 00
4|0
5 | 00
6|0
7 | 00
8 | 00
9 | 0000
> stem(notas$G5)
3 | 56789
4 | 0248
5 | 00268
6 | 012345
> stem(notas$G6,scale=2)
1 | 000000
2 | 0000
3|
4|
5|
6|
7|
8 | 0000
9 | 000000
Comparação
Pelos ramos-e-folhas de cada grupo podemos
ver que há diferenças entre as respectivas
performances.
Por exemplo, no grupo 1 não houve variação:
todos os 20 estudantes obtiveram nota 5.
Já no grupo 6, nenhum estudante obteve nota 5:
ou as notas foram 1 e 2 ou 8 e 9.
Enfim, a partir deste exemplo, percebe-se a
necessidade de outras medidas para
caracterizar um conjunto de dados além de
medidas tais como média e mediana.
Medidas de Dispersão
É necessário caracterizar o conjunto
também usando medidas que avaliam a
variabilidade dos dados no conjunto.
A seguir, apresentaremos algumas
medidas de dispersão comuns.
Amplitude Amostral R
A amplitude amostral é uma das medidas
de dispersão mais simples.
É dada pela diferença entre os valores
máximo e mínimo observados na amostra.
Se x é o vetor que contém os dados,
podemos calcular a amplitude amostral
como amplitude<-max(x)-min(x).
Amplitude amostral
(continuação)
Obtenha a amplitude amostral dos
diferentes grupos.
É claro que no grupo 1 a amplitude
amostral é zero.
Vemos que nos grupos 2, 4 e 6, a
amplitude é 8; e nos grupos 3 e 5 são
respectivamente 2 e 3.
Amplitude amostral nos grupos
amplitudeNotas<-matrix(0,1,6)
# cria o vetor amplitudeNotas com entradas nulas de dimensão
# 1 por 6
for (i in 1:6) {amplitudeNotas[1,i]=max(notas[,i])-min(notas[,i])}
# atribui a cada entrada do vetor amplitudeNotas a diferença entre a
# nota máxima e mínima do respectivo grupo
> amplitudeNotas
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 8 2 8 3 8
Desvantagens da amplitude
amostral
A grande desvantagem da amplitude
amostral como medida para caracterizar a
dispersão num conjunto de dados é que
ela só leva em conta o mínimo e o
máximo dos dados, ignorando todo o
resto.
Observe que há diferenças nos grupos 2,
4 e 6. Porém, todos eles têm a mesma
amplitude amostral.
Ramo e folhas dos grupos 2, 4 e 6
> stem(notas$G2,scale=2)
1 | 00
2|
3 | 00000
4|
5 | 000000
6|
7 | 00000
8|
9 | 00
> stem(notas$G4,scale=2)
1 | 0000
2 | 00
3 | 00
4|0
5 | 00
6|0
7 | 00
8 | 00
9 | 0000
> stem(notas$G6,scale=2)
1 | 000000
2 | 0000
3|
4|
5|
6|
7|
8 | 0000
9 | 000000
Função range()
Se x é um vetor numérico, a função
range(x) retorna o valor mínimo e o valor
máximo em x.
Assim, range(x)[2]-range(x)[1] é
equivalente à max(x)-min(x).
Amplitude interquartílica ou
Distância entre quartis (DEQ)
Uma medida de dispersão um pouco mais
refinada que a amplitude amostral é a
distância entre quartis (DEQ).
Depois de ordenada a amostra, divide-se
ela em quatro partes de freqüência
relativa ¼. Tomam-se então os valores
que correspondem à freqüência relativa
acumulada de ¼ e ¾, que são chamados
respectivamente de primeiro e terceiro
quartis (Q1 e Q3).
Distância entre quartis
DEQ=Q3-Q1
No R podemos calcular a distância entre
quartis para um vetor de dados x da
seguinte forma
deq<-IQR(x)
Para as notas do exemplo temos os
valores 0.00 4.00 2.00 6.00 2.05 8.00 para
as distâncias entre quartis dos grupos 1,
2, 3, 4, 5 e 6, respectivamente.
Valores observados de DEQ para
os diferentes grupos
DEQNotas<-matrix(0,1,6)
# cria o vetor amplitudeNotas com entradas nulas de dimensão
# 1 por 6
for (i in 1:6) {DEQNotas[1,i]=IQR(notas[,i])}
# atribui a cada entrada do vetor DEQNotas a distância entre
# quartis do respectivo grupo
> DEQNotas
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 4 2 6 2.05 8
Distância entre quartis
(continuação)
Podemos ver que a distância entre quartis
apresenta diferenças que não foram
detectadas pela amplitude amostral entre
os diferentes grupos.
Mas, esta medida, ainda tem a
desvantagem de só levar em conta dois
valores do conjunto, ignorando os
extremos e o meio.
Função quantile(x,p)
A função quantile(x,p) retorna o quantil de
ordem p, q(p), considerando a
distribuição de freqüências dos valores no
vetor x, 0<p<1.
Assim, pedir IQR(x) é equivalente à pedir
quantile(x,0.75)-quantile(x,0.25) que
retornará Q3-Q1.
Desvio médio
É uma medida de dispersão que leva em
conta todos os valores no conjunto de dados.
Primeiro vamos definir desvio absoluto da
média.
Se x1,x2,...,xn são os valores observados e x
é a correspondente média aritmética, então um
desvio absoluto da média é dado por:
xi  x
Desvio médio
O desvio médio absoluto (DMA) é definido como a
média aritmética dos desvios absolutos da média no
vetor x, isto é,
DMA 
1
n
|x

n
i
i 1
x|
Desvio médio absoluto
dma<-c(0,0,0,0,0,0)
#atribui à dma um vetor nulo de dimensão 6
for (i in 1:6){for (j in 1:20){dma[i]<-dma[i]+abs(notas[j,i]-mean(notas[,i]))}}
#acumula em cada grupo (i variando de 1 a 6) os desvios absolutos da média
#(j variando de 1 a 20)
dma<-dma/20
#calcula a média, dividindo por 20 que é o número de notas em cada
#grupo
Desvios médios no exemplo
Para as notas nos seis grupos podemos
ver que os desvios médios são,
respectivamente,
0.00 1.80 0.60 2.70 0.91 3.60
Variância amostral
É a média dos desvios da média tomados
ao quadrado.
Veremos na disciplina Introdução à
Estatística, que no caso particular da
variância, é comum adotar o denominador
da média em n-1.
O R possui uma função própria para
calcular a variância com denominador n-1
dada por var(x), se x é o vetor contendo
os valores cuja variância está para ser
calculada.
Variância amostral
s 
2
1
n
(x

n 1
i
i 1
 x)
2
Variância de notas
Neste exemplo, temos para os grupos,
respectivamente, as variâncias
(arredondadas para duas casas decimais):
0.00 5.47 0.63 9.58 1.11 13.89
>vetVar<-c(0,0,0,0,0,0)
#vetVar é criado como um vetor #nulo de dimensão 6
>for (i in 1:6){vetVar[i]<-var(notas[,i])}
#cada entrada de vetVar recebe a variãncia amostral do
#grupo correspondente
> vetVar
[1] 0 5.473684 0.631579 9.578947 1.114737 13.894737
Desvio-padrão
É a raiz quadrada positiva da variância:
sqrt(var(x)) ou sd(x).
Neste exemplo temos os seguintes
desvios-padrão (arredondados para duas
casas decimais): 0.00 2.34 0.79 3.09 1.06
3.73
> sqrt(vetVar)
[1] 0 2.3395906 0.7947194 3.0949875 1.0558110 3.7275645
Resumo
Grupo
R
DEQ
s2
DMA
s
1
0
0
0
0
0
2
8
4.00
1.80
5.47
2.34
3
2
2.00
0.60
0.63
0.79
4
8
6.00
2.70
9.58
3.09
5
3
2.05
0.91
1.11
1.06
6
8
8.00
3.60
13.89
3.73
Histogramas na escala das freqüências
Histogramas com as escalas uniformizadas
Coeficiente de Variação
Amostral
É uma medida da variação relativa em um
conjunto de valores numéricos.
Costuma ser expresso em termos
percentuais.
Mede a dispersão dos dados em relação à
média aritmética.
É definido por CV=(DP/média)x100%,
onde DP é o desvio-padrão dos dados,
média é a média aritmética dos dados.
Exemplo 2: Considere os três
conjuntos de dados abaixo:
A
B
C
12
4.65
551
15
11.65
554
23
10.65
555
22
11.65
562
23
0.65
562
16
3.65
561
Exemplo 2: (cont.)
Os comandos estão em exemplo2.txt
Calcule a variância de cada um dos três conjuntos de dados.
dadosA<-c(12,15,23,22,23,16)
dadosB<-c(0.65,3.65,11.65,10.65,11.65,4.65)
dadosC<-c(551,554,555,562,562,561)
var(dadosA)
mean(dadosA)
22.7
18.5
var(dadosB)
mean(dadosB)
22.7
7.15
var(dadosC)
mean(dadosC)
22.7
557.5
Exemplo 2: (cont.)
dotchart(dadosA,main="A")
dotchart(dadosB,main="B")
dotchart(dadosC,main="C")
Exemplo 2: coeficiente de
variação
CV para o conjunto A:
sqrt(var(dadosA))*100/mean(dadosA) 25.75%
CV para o conjunto B:
sqrt(var(dadosB))*100/mean(dadosB) 66.66%
CV para o conjunto C:
sqrt(var(dadosC))*100/mean(dadosC) 0.85%
Conclusão: O conjunto C é o que apresenta
menor variabilidade relativa à média.
Quantis de uma distribuição de
freqüências
Tanto a média como o desvio-padrão
podem não ser medidas adequadas para
representar um conjunto de dados, pois:
(i) são afetados, de forma exagerada por
valores extremos;
(ii) apenas com estes dois valores não
temos idéia da simetria ou assimetria da
distribuição dos dados.
Quantis de uma distribuição de
freqüências (2)
Por exemplo, vimos que a mediana é
o valor que deixa 50% dos dados
(depois de ordenados) abaixo dela e
50%, acima dela.
Analogamente, podemos definir
outras medidas, variando o
percentual 50% (abaixo e acima de),
para um percentual qualquer.
Quantis de uma distribuição de
freqüências (3)
De um modo geral, podemos definir uma
medida chamada QUANTIL de ordem p,
com p representando uma proporção
qualquer, 0<p<1, tal que 100p% das
observações sejam menores do que o
quantil de ordem p.
NOTAÇÃO: q(p)
Quantis Especiais: QUARTIS
São três medidas (Q1, Q2 e Q3) que repartem a
distribuição em quatro intervalos de freqüência
relativa ¼:
q(0,25),q(0,50) e q(0,75)
q(0,25): primeiro quartil (Q1) ou vigésimo-quinto
percentil;
q(0,50): segundo quartil (Q2), ou mediana ou
qüinquagésimo percentil;
q(0,75): terceiro quartil (Q3) ou septuagésimoquinto percentil.
Quantis Especiais: DECIS
São 9 medidas que repartem a distribuição em
10 intervalos de freqüência relativa 1/10:
q(0,1),q(0,2),q(0,3),...,q(0,9)
q(0,1): primeiro decil (D1) ou décimo percentil;
q(0,2): segundo decil (D2), ou vigésimo
percentil;
q(0,3): terceiro decil (D3), ou trigésimo percentil;
etc.
Quantis Especiais: PERCENTIS
q(0,01),q(0,02),q(0,03),...,q(0,99)
q(0,01): primeiro percentil;
q(0,02): segundo percentil;
q(0,03): terceiro percentil;
etc.
Determinação dos quantis usando
oR
A função apropriada do R para obter os
quantis de um vetor numérico x é a função
quantile.
Se x é o vetor contendo os dados, e
desejamos determinar os três quartis,
pedimos quantile(x,c(0.25,0.5,0.75)).
Se desejamos o quinto e o nonagésimoquinto percentis, pedimos
quantile(x,c(0.05,0.95)), etc.
Exemplo 3: Emissão de Dióxido
de Carbono
Os dados no arquivo dados13bm.txt
fornecem emissões de dióxido de carbono
"per capita", para uma amostra de 72
países. Os dados são do ano de 1995.
Fonte: Stabilizing The Atmosphere:
Population, Consumption and Greenhouse
Gases.
Exemplo 3: Emissão de Dióxido
de Carbono (cont.)
Determine os três quartis, os decis, a
média e o desvio-padrão das emissões
registradas para os 72 países em 1995.
Exemplo 3: Emissão de Dióxido
de Carbono (cont.)
dados=read.table(”http://www.im.ufrj/~flavia/aed06/dados13bm.txt",header=T)
names(dados)
[1] "pais" "emissao"
quantile(dados$emissao,c(0.25,0.5,0.75))
25% 50% 75%
0.0675 0.4150 1.4725
quantile(dados$emissao,c(0.1,0.2,.3,.4,.5,.6,.7,.8,0.9))
10% 20% 30% 40% 50% 60% 70% 80% 90%
0.02 0.05 0.14 0.28 0.42 0.87 1.26 1.99 3.02
Exemplo 3: Emissão de Dióxido
de Carbono (cont.)
> mean(dados$emissao)
[1] 1.174167
> sqrt(var(dados$emissao))
[1] 1.689093
Histograma das emissões
Quantis para dados agrupados
Uma aproximação para obter o quantil de ordem p
quando os dados estão agrupados em classes é a
seguinte.
Passo 1: Encontre a classe que contém o p-quantil.
Seja [ap,ap+1[ esse intervalo e Fp a freqüência relativa
acumulada desta classe.
Passo 2: Encontre o comprimento desse intervalo (cp),
a freqüência relativa dessa classe (fp) e a freqüência
relativa acumulada da classe anterior (Fp-1).
Passo 3: Calcule q(p) como
cp
q( p)  a p 
( p  Fp 1 )
fp
Quantis para dados agrupados
q( p)  a p 
(ap,ap+1) - classe que contém
q(p);
Fp - freqüência relativa
acumulada da classe (ap,ap+1)
cp – a amplitude da classe
fp – a freqüência relativa da
classe e
FP-1- freqüência relativa
acumulada da classe
imediatamente anterior
cp
fp
 ( p  Fp 1 )
Atividade
Trabalhe com os dados sobre
temperaturas médias mensais de
Cananéia e Ubatuba no estado de São
Paulo.
Selecione as temperaturas de janeiro,
para as duas cidades, ao longo dos anos
estudados.
Determine os quartis das temperaturas
médias de janeiro para as duas cidades
Atividade (continuação)
Repita a atividade anterior para os outros
meses do ano.
Faça um resumo dos resultados obtidos
numa tabela e num gráfico.
Download

for (i in 1:6)