Análise Exploratória de Dados
Tania Guillén de Torres
Rejane Sobrino Pinheiro
2009
Universidade Federal do Rio de Janeiro Faculdade de Medicina
Departamento de Medicina Preventiva Instituto de Estudos em Saúde Coletiva
Análise Descritiva ou Análise Exploratória de Dados
Conjunto de técnicas de resumo de dados para identificação de padrões nesses dados.
Análise Univariada
Consiste na análise de cada variável separadamente, sintetizando seus conteúdos, para estudar a ocorrência de um padrão no conjunto de dados, tanto da variável resposta, quanto das fatores explicativos.
A análise exploratória inicial pode ser realizada a partir de tabelas, gráficos e medidas de resumo. Estas técnicas dependem basicamente do tipo de variável.
Abrir o banco de dados leucemia_wbc.dta Selecionando pelo Menu do Stata:
File open <drive>:\<diretório>\ leucemia_wbc.dta
. use "C:\DATA\leucemia_wbc.dta", clear (Leukemia Remission Study)
Descrever um banco de dados
Antes de realizar a análise, é interessante conhecer as variáveis, seu tipo e tamanho, o que pode ser feito com o comando describe.
Data Descrive data Descrive variables in memmory
. describe
Contains data from E:\Regressao\Introd_Stata9\leucemia_wbc.dta
obs: 42 Leukemia Remission Study vars: 8 5 Aug 2008 19:49
size: 1,008 (99.9% of memory free)
--- storage display value
variable name type format label variable label
--- weeks byte %8.0g Weeks in remission
relapse byte %8.0g yesno Relapse trtment byte %8.0g trtment Treatment
logwbcc float %9.0g White blood cell count (ln) sex byte %8.0g sexlbl Sex
trtwbcc float %9.0g trtment x logwbcc lgwbccat float %9.0g wbc
trlwbcat float %9.0g
--- Sorted by:
1. Tabelas de freqüência
1.1 - Variáveis Categóricas ou quantitativas discretas com poucos valores: TABULATE ou tab
Comando que gera tabelas de freqüências, apresentando, no caso de tabelas univaridas, a freqüência absoluta, a porcentagem e a porcentagem acumulada de cada categoria da variável. Existem diferentes comandos para diferentes tipos de tabelas; os mais comuns são:
Tabelas Univariadas.
Na barra de ferramentas selecione as seguintes opções:
Statistics Summary, tables & Tests Tables Oneway tables
Na janela [tabulate1 – One-way tables] selecione ou escreva o nome da variável (relapse) na opção [Categorical variable] e confirme a operação apertando [OK]
. tabulate relapse
Relapse | Freq. Percent Cum. ---+--- 0:no | 12 28.57 28.57 1:yes | 30 71.43 100.00 ---+--- Total | 42 100.00 . tabulate trtment
Treatment | Freq. Percent Cum. ---+--- 0:treat | 21 50.00 50.00 1:plcebo | 21 50.00 100.00 ---+--- Total | 42 100.00 . tabulate sex
Sex | Freq. Percent Cum. ---+--- 0:female | 22 52.38 52.38 1:male | 20 47.62 100.00 ---+--- Total | 42 100.00
No caso de tabelas de variáveis categóricas, observar que a freqüência acumulada não faz sentido (retirar esta coluna de um relatório). Para variáveis ordinais, a freqüência acumulada pode ser mantida na tabela.
Na janela de comandos pode digitar o comando tab1 seguido de uma lista de variáveis para gerar tabelas univariadas para cada uma das variáveis da lista.
Sintaxe:
tab1 varlist [if exp] [, missing nolabel plot ] [by varlist:] tabulate varname
Algumas opções:
if exp – condição de seleção dos registros que serão computados na tabela missing – inclui missing values para o cálculo da tabela
nolabel – apresenta somente os códigos numéricos, omitindo o rótulo dos códigos. by varlist: - executa o comando tabulate para cada uma das categorias da varlist.
Exemplo:
. tab1 trtment relapse
-> tabulation of trtment
Treatment | Freq. Percent Cum. ---+--- 0:stand | 21 50.00 50.00 1:trt | 21 50.00 100.00 ---+--- Total | 42 100.00 -> tabulation of relapse
Relapse | Freq. Percent Cum. ---+--- 0:no | 12 28.57 28.57 1:yes | 30 71.43 100.00 ---+--- Total | 42 100.00
1.2 - Variáveis Quantitativas (Contínuas e discretas com muitas observações):
A distribuição de freqüências de uma variável quantitativa deve ser realizada de modo diferente do que é feito para variável categórica. Deve-se tabular as freqüências de intervalos de valores e não de cada valor da variável (as tabelas ficam imensas, com freqüências baixas para muitos valores diferentes, não auxiliando no resumo da informação contida na variável).
Para isso, devemos criar nova variável que conterá os intervalos de classe da variável “original” (usando o comando generate . egen float logwccat = cut(logwbcc), at(0,2.3,3,5.1) icodes )
. tab lgwbccat
lgwbccat | Freq. Percent Cum. ---+--- Low | 11 26.19 26.19 Medium | 14 33.33 59.52 :High | 17 40.48 100.00 ---+--- Total | 42 100.00
2. Medidas de resumo – (tendência central e dispersão)
SUMMARIZE
Este comando resume uma variável numérica, produzindo estatísticas para as medidas de tendência central e de dispersão.
Na barra de ferramentas do Stata, selecione a seguinte seqüência:
Statistics Summary, tables & Tests Summary Statistics Summary Statistics
Sintaxe:
sum <variável> [,detail]
O comando summarize produz algumas estatísticas: média e desvio padrão, valores mínimo e máximo. Para obtenção de maiores detalhes, incluindo outras estatísticas (mediana, percentis, simetria, kurtose, etc.), usa-se o complemento do comando: ,detail.
. summarize logwbcc weeks
Variable | Obs Mean Std. Dev. Min Max ---+---
logwbcc | 42 2.930238 .9175218 1.45 5
weeks | 42 12.88095 9.347498 1 35
. summarize logwbcc, detail White blood cell count (ln) --- Percentiles Smallest 1% 1.45 1.45 5% 1.5 1.47 10% 1.97 1.5 Obs 42 25% 2.3 1.78 Sum of Wgt. 42 50% 2.8 Mean 2.930238 Largest Std. Dev. .9175218 75% 3.49 4.43 90% 4.36 4.48 Variance .8418463 95% 4.48 4.91 Skewness .5001882 99% 5 5 Kurtosis 2.561483 . sum weeks, detail Weeks in remission --- Percentiles Smallest 1% 1 1 5% 2 1 10% 3 2 Obs 42 25% 6 2 Sum of Wgt. 42 50% 10.5 Mean 12.88095 Largest Std. Dev. 9.347498 75% 19 32 90% 25 32 Variance 87.37573 95% 32 34 Skewness .8759887 99% 35 35 Kurtosis 2.870037
3. Gráficos Graph
O comando graph é o responsável pela construção de gráficos no Stata. Porém, os gráficos no Stata requerem certa sofisticação para serem gerados, que varia dependendo do tipo de variável.
3.1 - Gráficos de variáveis categóricas
Para o Stata gerar gráficos de variáveis categóricas, é necessário que sejam fornecidos alguns dados, diferentemente de outros pacotes e planilhas.
Gráfico de Setores Graphs Pie chart
Na janela [graph pie – Pie chart] escolha a janela [main], no quadro “Pie chart” escolha a opção ( •) Graph by categories e na janela [Category variable] selecione a variável categórica a ser representada (treatment).
0:stand 1:trt
Gráfico de Barras
Graphics Easy graphs Bar chart
Na janela [graph bar – Bar chart] escolha a janela [main], no quadro “Statistics” escolha a opção ( •) Count nonmissing e na janela [Variable] selecione a variável categórica “um” (gerar essa variável antes, com o comando generate), na janela [Over] no quadro [Over1] selecione na opção [Variable] a variável categórica a ser representada (sex).
. graph bar (count) um, over(sex) 0 5 1 0 1 5 2 0 c o u n t o f u m 0:female 1:male
3.2 - Gráficos para variáveis contínuas ou discretas com muitos valores
Para a construção de gráficos de variáveis quantitativas, o comando graph requer informações sobre o número de intervalos em que a variável será dividida para a representação. Outras informações sobre legendas, títulos, escalas e nomes dos eixos X e Y podem ser fornecidos no mesmo comando que gera o gráfico.
Histograma
Graphics Histogram
. histogram logwbcc
0 .1 .2 .3 .4 .5 D e n s it y 1 2 3 4 5
White blood cell count (ln)
Plotando junto a curva normal:
. histogram logwbcc, normal
(bin=6, start=1.45, width=.59166666)
0 .1 .2 .3 .4 .5 D e n s it y 1 2 3 4 5
Box Plot
Graphics Box plot
. graph box logwbcc, medtype(line)
1 2 3 4 5 W h it e b lo o d c e ll c o u n t (l n ) Análise Bivariada
Na análise exploratória bivariada, estamos interessados em estudar a relação ou associação entre duas variáveis. Podemos analisar a associação entre dois fatores de interesse ou entre um fator e a variável resposta.
Do mesmo modo que na univariada, as técnicas empregadas na análise bivariada dependem do tipo de variável. Utilizamos em análises iniciais as tabelas, medidas de resumo e gráficos.
1. Tabelas de dupla entrada
Assim como nas tabelas de freqüência de uma única variável, as tabelas de dupla entrada vão apresentar também alguma variação em função do tipo de variável que está representando.
1.1 - Tabelas de duas variáveis categóricas:
Usa-se o mesmo comando TABULATE utilizado para construir tabelas para uma única variável. Statistics Summary, tables & Tests Tables Twoway tables with measures of Associations Sintaxe:
tab <variável 1 - linha > <variável 2 - coluna > [, row col cel] Algumas opções:
cell – apresenta a freqüência relativa geral de cada célula em uma bivariada.
column - apresenta a freqüência relativa de cada célula em relação às células de toda a coluna de uma tabela bivariada.
row - apresenta a freqüência relativa de cada célula em relação a todas às células de sua linha em uma tabela bivariada
chi2 – apresenta o teste qui-quadrado de Pearson para a hipótese de independência entre as variáveis de uma tabela bivariada.
. tabulate sex relapse | Relapse
Sex | 0:no 1:yes | Total ---+---+--- 0:female | 6 16 | 22 1:male | 6 14 | 20 ---+---+--- Total | 12 30 | 42
Fica difícil a interpretação desta tabela, uma vez que existem mais pacientes que recidivaram dentre as mulheres, mas também existem mais mulheres. Deste modo, é interessante calcular o valor relativo do número de observações em cada célula. Existem formas diferentes de realizar esta tarefa. Dependendo do denominador, o percentual diz respeito a um grupo de informação ou variável. Podemos calcular o percentual na linha, na coluna ou geral.
No exemplo, o percentual na linha dá informação do percentual de pacientes que recidivaram dentre homens e mulheres (desfecho, nas categorias de exposição).
O percentual na coluna mostra a distribuição de sexo (homens e mulheres) para o grupo que recidivou, e a distribuição de sexo para o grupo que não recidivou.
O percentual geral mostra o percentual de cada célula em relação ao total de recém nascidos. Menos usado. Por exemplo, o percentual da primeira célula é o percentual das mulheres que não recidivaram em relação ao total de pacientes.
. tabulate sex relapse, row col chi +---+ | Key | |---| | frequency | | row percentage | | column percentage | +---+ | Relapse
Sex | 0:no 1:yes | Total ---+---+--- 0:female | 6 16 | 22 | 27.27 72.73 | 100.00 | 50.00 53.33 | 52.38 ---+---+--- 1:male | 6 14 | 20 | 30.00 70.00 | 100.00 | 50.00 46.67 | 47.62 ---+---+--- Total | 12 30 | 42 | 28.57 71.43 | 100.00 | 100.00 100.00 | 100.00 Pearson chi2(1) = 0.0382 Pr = 0.845
Com os percentuais, podemos interpretar mais facilmente a relação entre as variáveis. Por exemplo, no grupo das mulheres, o percentual de recidiva foi levemente superior (72.7%), comparado com os homens (70,0%).
tab2 – produz todas as possíveis tabelas 2 x 2 de uma lista de variáveis (não vamos comentar)
Variáveis Ordinais:
Podemos construir tabelas com variáveis ordinais também, de modo semelhante à construção de tabelas de 2 variáveis categóricas nominais.
. tabulate lgwbccat relapse, row col chi +---+ | Key | |---| | frequency | | row percentage | | column percentage | +---+ | Relapse
lgwbccat | 0:no 1:yes | Total ---+---+--- Low | 7 4 | 11 | 63.64 36.36 | 100.00 | 58.33 13.33 | 26.19 ---+---+--- Medium | 4 10 | 14 | 28.57 71.43 | 100.00 | 33.33 33.33 | 33.33 ---+---+--- :High | 1 16 | 17 | 5.88 94.12 | 100.00 | 8.33 53.33 | 40.48 ---+---+--- Total | 12 30 | 42 | 28.57 71.43 | 100.00 | 100.00 100.00 | 100.00 Pearson chi2(2) = 10.9155 Pr = 0.004
1.2 - Tabelas de variável categórica contra variável quantitativa:
Para resumir duas variáveis de tipos bem diferentes, como as categóricas e as quantitativas, podemos fazer a operação de 2 formas distintas: transformando a variável quantitativa em uma ordinal, como no item anterior, ou resumindo a variável quantitativa para cada categoria da variável categórica, o que pode ser realizado com o comando a seguir.
TABSUM
Este comando gera uma tabela apresentando a média, desvio padrão e o número de observações da variável contínua (varcont), para cada categoria da variável categórica (varcat). Ele funciona como o
tab <variável categórica>, sum(<variável quantitativa>) ou
sort <variável categórica>
by < variável categórica>: sum <variável quantitativa> [,detail]
Neste comando também é possível usar a opção “by ..” para obter as medidas de resumo de uma variável contínua segundo as categorias de uma outra avariável categórica
. by sex, sort : summarize logwbcc
--- -> sex = 0:female
Variable | Obs Mean Std. Dev. Min Max ---+--- logwbcc | 22 2.835455 .6714428 1.5 4.43
--- -> sex = 1:male
Variable | Obs Mean Std. Dev. Min Max ---+--- logwbcc | 20 3.0345 1.13863 1.45 5
Podemos obter as medidas mais detalhadas, marcando a opção Display additional statistics. . by sex, sort : summarize logwbcc, detail
--- -> sex = 0:female
White blood cell count (ln)
--- Percentiles Smallest 1% 1.5 1.5 5% 2.05 2.05 10% 2.12 2.12 Obs 22 25% 2.31 2.16 Sum of Wgt. 22 50% 2.84 Mean 2.835455 Largest Std. Dev. .6714428 75% 3.2 3.49 90% 3.52 3.52 Variance .4508355 95% 3.97 3.97 Skewness .3677286 99% 4.43 4.43 Kurtosis 3.154042 --- -> sex = 1:male
White blood cell count (ln)
--- Percentiles Smallest 1% 1.45 1.45 5% 1.46 1.47 10% 1.625 1.78 Obs 20 25% 2.105 1.97 Sum of Wgt. 20 50% 2.685 Mean 3.0345 Largest Std. Dev. 1.13863 75% 4.035 4.36 90% 4.695 4.48 Variance 1.296479 95% 4.955 4.91 Skewness .3054421 99% 5 5 Kurtosis 1.81508
1.3 - Tabulando 3 ou mais variáveis:
Usar o mesmo comando Tabulate, indicando na opção by a 3ª. Variável.
Statistics Summary, tables & Tests Tables Twoway tables with measures of Associations
. by trtment, sort : tabulate sex relapse, chi2 column row
--- -> trtment = 0:stand +---+ | Key | |---| | frequency | | row percentage | | column percentage | +---+ | Relapse
Sex | 1:yes | Total ---+---+--- 0:female | 11 | 11 | 100.00 | 100.00 | 52.38 | 52.38 ---+---+--- 1:male | 10 | 10 | 100.00 | 100.00 | 47.62 | 47.62 ---+---+--- Total | 21 | 21 | 100.00 | 100.00 | 100.00 | 100.00 ---
-> trtment = 1:trt +---+ | Key | |---| | frequency | | row percentage | | column percentage | +---+ | Relapse
Sex | 0:no 1:yes | Total ---+---+--- 0:female | 6 5 | 11 | 54.55 45.45 | 100.00 | 50.00 55.56 | 52.38 ---+---+--- 1:male | 6 4 | 10 | 60.00 40.00 | 100.00 | 50.00 44.44 | 47.62 ---+---+--- Total | 12 9 | 21 | 57.14 42.86 | 100.00 | 100.00 100.00 | 100.00 Pearson chi2(1) = 0.0636 Pr = 0.801
Cruzando duas variáveis categóricas e resumindo uma 3a. quantitativa Comando tables Permite construir tabelas para mais de 2 variáveis e incluir no corpo da tabela
. table sex relapse, contents( mean logwbcc sd logwbcc median logwbcc p25 logwbcc p75 logwbcc )
--- | Relapse Sex | 0:no 1:yes ---+--- 0:female | 2.585 2.929375 | .4253822 .7323612 | 2.65 2.955 | 2.16 2.315 | 2.8 3.385 | 1:male | 1.906667 3.517857 | .4243897 .9934259 | 1.895 3.545 | 1.47 2.57 | 2.2 4.36
Incluindo os totais marginais:
. table sex relapse, contents( mean logwbcc sd logwbcc median logwbcc p25 logwbcc p75 logwbcc ) row col
--- | Relapse Sex | 0:no 1:yes Total ---+--- 0:female | 2.585 2.929375 2.835454 | .4253822 .7323612 .6714429 | 2.65 2.955 2.84 | 2.16 2.315 2.31 | 2.8 3.385 3.2 | 1:male | 1.906667 3.517857 3.0345 | .4243897 .9934259 1.13863 | 1.895 3.545 2.685 | 1.47 2.57 2.105 | 2.2 4.36 4.035 | Total | 2.245833 3.204 2.930238 | .5381527 .8994389 .9175218 | 2.18 3.055 2.8 | 1.895 2.42 2.3 | 2.65 3.97 3.49 ---.
Usando Gráficos na bivariada
Uma variável quantitativa e uma categórica
Podemos fazer um boxplot para cada categoria da variável categórica Graph Box plot (usar o by)
1 2 3 4 5 0:female 1:male W h it e b lo o d c e ll c o u n t (l n ) Graphs by Sex
Duas variáveis quantitativas:
O diagrama de espalhamento é uma ferramenta importante para explorar a associação entre duas variáveis quantitativas.
Graph easy graph Scatter plot
. scatter logwbcc weeks
1 2 3 4 5 W h ite b lo o d ce ll co u n t (l n ) 0 10 20 30 40 Weeks in remission
Quando há várias variáveis quantitativas, podemos fazer uma matriz com diversos diagramas de espalhamento, o que ajuda muito a analisarmos a associação a cada duas variáveis. Não temos na base de dados do exemplo mais de duas variáveis quantitativas e repetiremos logwcc para exemplificar o comando apenas.
Graphics Scatter plot matrix
Week s in remiss ion W hit e blood c ell c ount (ln) White blood cell count (ln) 0 20 40 0 20 40 0 5 0 5 0 5 0 5 Weeks in remission White blood cell count (ln) White blood cell count (ln) 0 20 40 0 5 0 5 0 5