Tipos de Variáveis

Existem diversos tipos de variáveis, veja:

Quantitativas

  • Continua: Medidas (Peso, altura, renda, dinheiro, comprimento)
  • Discreta: Contagem (qnt. de coisas)

Qualitativas

  • Nominais: Nomes
  • Ordinais: Quando é possível ordenar os arquivos

Tipos de Correlações

Coefecientes de correlação informam:

  • Intensidade
    • Fortemente relacionadas (Valores próximos de 1 ou -1)
    • Fracamente relacionadas (Valores próximos de 0)
  • Direção
    • Positiva (Se ambas as variáveis crescem no mesmo sentido)
    • Negativa (Se as variáveis crescem em sentidos opostos)
  • Significância

NÃO INDICA RELAÇÃO DE CAUSALIDADE

Além dos coeficientes de correlação, existem outras medidas de associação, veja:

Coeficiente de Correlação de Pearson

Sejam duas variáveis X e Y, ambas quantitativas, preferencialmente contínuas. A existência de relação linear entre essas variáveis pode ser detectada com auxílio do Diagrama de Dispersão, mas, também, com auxílio do Coeficiente de Correlação Linear de Pearson.

Coeficiente de Correlação de Spearman \(\rho\)

Utilizado quando não existe normalidade e/ou nao existe relação linear, deve ser usado quando não se deseja utilizar nenhuma suposição de normalidade ou da presença de qualquer outra distribuição para a variável ou para a estatística de teste.

Este coeficiente se baseia nos postos das observações dentro de cada variável e se baseia sobre as diferenças entre os postos observados, nas variáveis X e Y, para um mesmo objeto de estudo.

Ideal quando temos variáveis medidas apenas em uma escala ordinal.

Coeficiente de Correlação de Kendall (\(\tau\) de kendall)

O coeficiente de correlação Tau de Kendall serve para verificar se existe correlação entre duas variáveis ordinais. É um método adequado quando amostras têm tamanhos reduzidos, pois o método é mais preciso. E pode ser estendido a correlações parciais, quando o efeito de uma terceira variável, que age sobre X e Y, é retirado antes de determinar se X e Y estão relacionadas.

Coeficiente de Kendall é, muitas vezes, interpretado como uma medida de concordância entre dois conjuntos de classificações relativas a um conjunto de objetos de estudo.

Qui-quadrado de independencia

Utiliza-se esta prova quando os dados da pesquisa se apresentam sob forma de freqüências em categorias discretas. Pode aplicar a prova \(\chi^2\) para determinar a significância de diferenças entre dois grupos independentes e conseqüentemente, com respeito a freqüências relativas com que os componentes do grupo se enquadram nas diversas categorias.

Suas hipóteses:

\[ H_0: \text{São independentes (Não associadas)} \\ H_1: \text{Não são independentes (São associadas) } \]

Teste exato de fisher

O teste qui-quadrado quando aplicado a amostras pequenas, como por exemplo com tamanho inferior a 20, veja:

Medidas de associação

os testes fornecem apenas a resposta se as variáveis estão ou não correlacionadas. Para saber a internsidade desta relação, utilizam-se medidas de associação.

Considere as seguintes medidas:

\(\phi\) (phi) (é o R de pearson quando aplicado a tabelas 2x2)

O coeficiente phi é uma medida de associação entre duas variáveis binárias. A interpretação é similar a de um coeficiente de correlação. Duas variáveis binárias são consideradas positivamente associadas se a maior parte dos dados (frequências) cai ao longo das células da diagonal (a e d maiores que b e c). E serão consideradas negativamente associadas se a maior parte dos dados cai fora da diagonal.

V de Crámer

O coeficiente V de Cramer serve para medir associação em tabelas não quadradas.

Coeficiente de contingência

O Coeficiente de Contingência C é uma medida de associação, relacionada à estatística de teste do teste qui-quadrado, e ajustada para diferentes tamanhos de amostra. Ele também está diretamente relacionado à estatística de teste do teste qui-quadrado e ao Coeficiente Phi (possui as mesmas vantagens e desvantagens de Phi).

Ambos variam de 0 (ausência de associação) a 1 (associação muito forte).

Kappa

O coeficiente Kappa é uma medida de concordância interobservador e mede o grau de concordância além do que seria esperado só por conta do acaso. Muitas vezes é usado no lugar do teste de McNemar.

Obs: Também pode ser utilizado o coeficiente de Kappa ponderado

Tipos de relações

Numérica x Numérica

  • Pearson (Intensidade de relacionamento linear)
  • Spearman (Relação monotônica entre dados emparelhados)
  • Kendall (Correlação entre duas variáveis ordinais de amostras pequenas)

Graficamente

Para verificar se existe relação linear entre as variáveis, além de identificar se esta relação é positiva, negativa ou inexistente.

Duas variaveis

Mais de duas variáveis

Normalidade

A suposição de normalidade é amplamente utilizada na estatística.

Graficamente

### Verificando a Normalidade Através do Histograma

# Criando um painel com o espaço de 4 gráficos
par(mfrow=c(2,2))

#preenchendo os quatro espaços com 4 histogramas (um para cada variável)
histogram=function(x){
  hist(x,prob=T)
  lines(density(x),col="red")
  curve(dnorm(x,mean(x), sd(x)),add=T,col="blue")
}
histogram(dados$GASTEDU)
histogram(dados$GASAUDE)
histogram(dados$GASLAZER)
histogram(dados$IDADE)

QQ-plot

Compara os quantis dos dados com os quantis de uma normal padrão

par(mfrow=c(2,2))
### Verificando a Normalidade Através do QQplot
qq = function(x){
  qqnorm(x,main = "", xlab = "Quantis teóricos N(0,1)", pch = 20)
qqline(x, lty = 1, col = "red")
}

qq(dados$IDADE)
qq(dados$GASAUDE)
qq(dados$GASLAZER)
qq(dados$GASTEDU)

QQ plot com envelope

Incluindo uma região de aceitação, para cada ponto constroe o intervalo de confiança

#Envelope
envelope<-function(x){
  n <- length(x)
  nsim <- 100 # Número de simulações
  conf <- 0.95 # Coef. de confiança
  # Dados simulados ~ normal
  dadossim <- matrix(rnorm(n*nsim, mean = mean(x), sd = sd(x)), nrow = n)
  dadossim <- apply(dadossim,2,sort)
  # Limites da banda e média
  infsup<-apply(dadossim,1,quantile, probs = c((1 - conf) / 2,(1 + conf) / 2))
  xbsim <- rowMeans(dadossim)
  faixay <- range(x, dadossim)
  qq0 <- qqnorm(x, main = "", xlab = "Quantis teóricos N(0,1)", pch = 20, ylim = faixay)
  eixox <- sort(qq0$x)
  lines(eixox, xbsim)
  lines(eixox, infsup[1,], col = "red")
  lines(eixox, infsup[2,], col = "red")
}

par(mfrow=c(2,2))
envelope(dados$GASTEDU)
envelope(dados$GASAUDE)
envelope(dados$GASLAZER)
envelope(dados$IDADE)

Testes

A seguir, diversos testes de hipoteses para avaliar:

\[ H_0: \text{Dados Normais} \\ H_1: \text{Dados Não Normais} \]

normalidade<-function(x){
t1 <- ks.test(x, "pnorm",mean(x), sd(x)) # KS  
t2 <- lillie.test(x) # Lilliefors
t3 <- cvm.test(x) # Cramér-von Mises
t4 <- shapiro.test(x) # Shapiro-Wilk 
t5 <- sf.test(x) # Shapiro-Francia
t6 <- ad.test(x) # Anderson-Darling
t7<-pearson.test(x) # Pearson Test of Normality

testes <- c(t1$method, t2$method, t3$method, t4$method, t5$method,t6$method,t7$method)
valorp <- c(t1$p.value, t2$p.value, t3$p.value, t4$p.value, t5$p.value,t6$p.value,t7$p.value)

resultados <- cbind(valorp)
rownames(resultados) <- testes
print(resultados, digits = 4)

}

normalidade(dados$GASAUDE)
##                                                valorp
## One-sample Kolmogorov-Smirnov test             0.9238
## Lilliefors (Kolmogorov-Smirnov) normality test 0.6494
## Cramer-von Mises normality test                0.6605
## Shapiro-Wilk normality test                    0.6297
## Shapiro-Francia normality test                 0.6286
## Anderson-Darling normality test                0.6346
## Pearson chi-square normality test              0.3249

Dados normais + Relação linear

  • Pearson
  • Spearman (amostras maiores)
  • kendall (amostras pequenas)

Coeficiente de Correlação de Pearson \(\rho\)

#Matriz de correlações:
cor(dados$GASTEDU,dados$GASAUDE)
## [1] 0.77825

Como saber se a correlação é significativa?

\[ H_0: \text{Não existe correlação} \\ H_1: \text{Existe correlação} \]

Aplicando o teste:

#Teste de correlação:
cor.test(dados$GASTEDU,dados$GASAUDE,method = "pearson")

Dados não normais e/ou sem relação linear

  • Spearman (amostras maiores)
  • kendall (amostras pequenas)

Coeficiente de Correlação de Spearman \(\rho\)

Ideal quando temos variáveis medidas apenas em uma escala ordinal.

Executando:

#Teste de correlação:
cor.test(dados$GASTEDU,dados$GASAUDE,method = "spearman")

Coeficiente de Correlação de Kendall (\(\tau\) de kendall)

Coeficiente de Kendall é, muitas vezes, interpretado como uma medida de concordância entre dois conjuntos de classificações relativas a um conjunto de objetos de estudo.

Aplicação no R:

#Teste de correlação:
cor.test(dados2$IDADE,dados2$GASAUDE,method = "kendall")

Ordinal x Ordinal

  • Spearman (amostras maiores)
  • kendall (amostras pequenas)

Exemplo de uso de spearman:

cor(dados$ESCOLAR, dados$RENDA, method = "spearman")
cor.test(dados$ESCOLAR, dados$RENDA, method = "spearman")

Exemplo de uso de kendall com uma amostra menor:

cor(dados2$ESCOLAR, dados2$RENDA, method = "kendall")
cor.test(dados2$ESCOLAR, dados2$RENDA, method = "kendall")

Numérica x Ordinal

Independente de ser normal ou nao

  • Spearman (amostras maiores)
  • Kendall (amostras pequenas)
  • Comparações de grupos (Testes de Hipóteses)

Exemplo de uso de spearman:

cor(dados$IDADE, dados$RENDA, method = "spearman")
cor.test(dados$IDADE, dados$RENDA, method = "spearman")

Exemplo de uso de kendall com uma amostra menor:

cor(dados2$IDADE, dados2$RENDA, method = "kendall")
cor.test(dados2$IDADE, dados2$RENDA, method = "kendall")

Nominal x Nominal

Os termos nível nominal de medida ou escala nominal são utilizadas para se referir a àqueles dados que só podem ser categorizados. No sentido estrito, não existe uma medida ou escala envolvida, o que existe é apenas uma contagem.

Vamos avaliar a profissão e o estado civil primeiramente, precisamos da tabela de contingência.

Tabelas de Contingência (ou tabelas de freqüência de dupla entrada) são tabelas em que as freqüências correspondem a duas classificações, uma classificação está nas linhas da tabela e a outra está nas colunas. Veja:

tab=ftable(as.factor(dados$PROFI),
      as.factor(dados$ESTCIVIL),
      dnn=c("Profissão", "EStado Civil"))
tab
##           EStado Civil  1  2  3  4
## Profissão                         
## 1                      26 13 29  1
## 2                      24  6 21  0

Qui-quadrado de independencia

\[ H_0: \text{São independentes (Não associadas)} \\ H_1: \text{Não são independentes (São associadas) } \]

Executando o teste:

chisq.test(dados$PROFI, dados$ESTCIVIL)
## 
##  Pearson's Chi-squared test
## 
## data:  dados$PROFI and dados$ESTCIVIL
## X-squared = 2.2905, df = 3, p-value = 0.5143

OBS: Correção de YAKES quando existe alguma frequência esperada menor do que 5, veja:

Teste exato de fisher

O teste qui-quadrado quando aplicado a amostras pequenas, como por exemplo com tamanho inferior a 20, veja:

fisher.test(dados2$PROFI, dados2$ESTCIVIL)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dados2$PROFI and dados2$ESTCIVIL
## p-value = 0.5226
## alternative hypothesis: two.sided

Medidas de associação

os testes fornecem apenas a resposta se as variáveis estão ou não correlacionadas. Para saber a internsidade desta relação, utilizam-se medidas de associação.

Considere as seguintes medidas:

  • \(\mathbf{\phi}\) (phi) (é o R de pearson quando aplicado a tabelas 2x2)
  • V de Crámer
  • Coeficiente de contingência

Ambos variam de 0 (ausência de associação) a 1 (associação muito forte).

#Comando para tabela cruzada:
tab <- xtabs(~ PROFI + ESTCIVIL, data = dados)

#Calcular as medidas de associação da tabela:
summary(assocstats(tab))
## 
## Call: xtabs(formula = ~PROFI + ESTCIVIL, data = dados)
## Number of cases in table: 120 
## Number of factors: 2 
## Test for independence of all factors:
##  Chisq = 2.2905, df = 3, p-value = 0.5143
##  Chi-squared approximation may be incorrect
##                     X^2 df P(> X^2)
## Likelihood Ratio 2.6823  3  0.44324
## Pearson          2.2905  3  0.51435
## 
## Phi-Coefficient   : NA 
## Contingency Coeff.: 0.137 
## Cramer's V        : 0.138
#phi  (r aplicado na Tabela de 2x2 --> Phi)
cor(dados$PROFI,dados$ESTCIVIL)  
## [1] -0.06972599

Kappa

Medida de concordância

Obs: Também pode ser utilizado o coeficiente de Kappa ponderado (pesquisar)

#Kappa
medico1<-sample(0:1,10, replace=T)
medico2<-sample(0:1,10, replace=T)

#Kappa.test(x, y=NULL, conf.level=0.95)

fmsb::Kappa.test(medico1,medico2)
## $Result
## 
##  Estimate Cohen's kappa statistics and test the null hypothesis
##  that the extent of agreement is same as random (kappa=0)
## 
## data:  medico1 and medico2
## Z = -0.25482, p-value = 0.6006
## 95 percent confidence interval:
##  -0.6136363  0.4707791
## sample estimates:
## [1] -0.07142857
## 
## 
## $Judgement
## [1] "No agreement"

Nominal x Ordinal

Vamos avaliar a profissão e o estado civil primeiramente, precisamos da tabela de contingência:

tab=ftable(as.factor(dados$PROFI),
      as.factor(dados$RENDA),
      dnn=c("Profissão", "Renda"))
tab
##           Renda  1  2  3  4
## Profissão                  
## 1                4 52  9  4
## 2                0 30 17  4

Qui-quadrado de independencia

\[ H_0: \text{São independentes (Não associadas)} \\ H_1: \text{Não são independentes (São associadas) } \]

Executando o teste:

chisq.test(dados$PROFI, dados$RENDA)
## 
##  Pearson's Chi-squared test
## 
## data:  dados$PROFI and dados$RENDA
## X-squared = 9.8864, df = 3, p-value = 0.01956

OBS: Correção de YAKES quando existe alguma frequência esperada menor do que 5, veja:

Teste exato de fisher

O teste qui-quadrado quando aplicado a amostras pequenas, como por exemplo com tamanho inferior a 20, veja:

fisher.test(dados2$PROFI, dados2$RENDA)
## 
##  Fisher's Exact Test for Count Data
## 
## data:  dados2$PROFI and dados2$RENDA
## p-value = 1
## alternative hypothesis: two.sided

Medidas de associação

os testes fornecem apenas a resposta se as variáveis estão ou não correlacionadas. Para saber a internsidade desta relação, utilizam-se medidas de associação.

Considere as seguintes medidas:

  • \(\mathbf{\phi}\) (phi) (é o R de pearson quando aplicado a tabelas 2x2)
  • V de Crámer
  • Coeficiente de contingência

Ambos variam de 0 (ausência de associação) a 1 (associação muito forte).

#Comando para tabela cruzada:
tab <- xtabs(~ PROFI + RENDA, data = dados)

#Calcular as medidas de associação da tabela:
summary(assocstats(tab))
## 
## Call: xtabs(formula = ~PROFI + RENDA, data = dados)
## Number of cases in table: 120 
## Number of factors: 2 
## Test for independence of all factors:
##  Chisq = 9.886, df = 3, p-value = 0.01956
##  Chi-squared approximation may be incorrect
##                      X^2 df P(> X^2)
## Likelihood Ratio 11.3123  3 0.010152
## Pearson           9.8864  3 0.019557
## 
## Phi-Coefficient   : NA 
## Contingency Coeff.: 0.276 
## Cramer's V        : 0.287
#phi  (r aplicado na Tabela de 2x2 --> Phi)
cor(dados$PROFI,dados$RENDA)  
## [1] 0.231198

Kappa

Testa a concordância entre duas pessoas (a hipótese nula é de que a concordância é zero)

#Kappa
medico1<-sample(0:1,10, replace=T)
medico2<-sample(0:1,10, replace=T)

#Kappa.test(x, y=NULL, conf.level=0.95)

fmsb::Kappa.test(medico1,medico2)
## $Result
## 
##  Estimate Cohen's kappa statistics and test the null hypothesis
##  that the extent of agreement is same as random (kappa=0)
## 
## data:  medico1 and medico2
## Z = 0, p-value = 0.5
## 95 percent confidence interval:
##  -0.619795  0.619795
## sample estimates:
## [1] 0
## 
## 
## $Judgement
## [1] "Slight agreement"

Dicotônica x Ordinal

Uma variável dicotômica é uma variável qualitativa que só possue duas categorias.

Portanto a mesma abordagem utilizada em:

Dicotômica x Ordinal = Nominal x Ordinal = Nominal x Nominal

Nominal x Numérca

\(R^2\) do ajuste de modelos lineares

Pode-se ajustar um modelo de regressão linear simples e avaliar seu coeficiente de determinação, veja:

#R2:
summary(lm(dados$GASAUDE~dados$ESTCIVIL))$r.squared
## [1] 0.0001015817

Bisserial = Pearson

O pearson aplicada em uma relação de variavel dicotômica com uma variavel ordinal

Comparações de Grupos

Quando por exemplo, trabalha-se com “renda por grupo”, existem muitas abordagens como o teste t ou anova como opções de testes paramétricos e muito mais

Correlação parcial

Controlando variável numérica

Pode ser que queremos estudar a correlação entre x e y, porém existem uma variável z que tbm está correlacionada com alguma das duas variáveis, veja:

## [1] 0.7821115

## [1] 0.7476177

## [1] 0.7821115

## [1] 0.77825

Isto implica que a variável educação é uma variável de confusão, veja as correlações:

O que acontece com a associação entre lazer e saúde quando controlamos a variável de confusão educação?

#pcor(c("var1", "var2", "control1", "control2" etc.), var(dataframe))

# correlação LAZER vc SAÚDE controlando o EDUCAÇÃO (correlação parcial de primeira ordem = um variável para controlar)
rp<-ggm::pcor(c("GASLAZER", "GASAUDE", "GASTEDU"),var(dados))  #controlando A EDUCAÇÃO

#Significância da Correlação Parcial

#Coeficiente de Determinação com base no Coef. de Pearson
r<-cor(dados$GASLAZER,dados$GASAUDE) #sem controlar o lazer

#Coeficiente de Determinação com base na correlação parcial
pcor.test(rp,1,length(dados$GASAUDE))  #"1" porque só usamos uma variável de controle
## $tval
## [1] 5.922106
## 
## $df
## [1] 117
## 
## $pvalue
## [1] 3.259388e-08
data.frame("Sem correção"=r^2, "Com correção"=rp^2)
##   Sem.correção Com.correção
## 1    0.6116985    0.2306242

Controlando variável Qualitativa

A variável de controle (ou qualquer uma delas) pode ser dicotomica (categorica)

#Visualmente:
ggplot(data = dados, aes(x = GASLAZER, y = GASAUDE,colour = as.factor(PROFI))) + geom_point()

#Sem controlar:
r=cor(dados$GASLAZER, dados$GASAUDE)
rp<-pcor(c("GASLAZER", "GASAUDE", "PROFI"),var(dados))
data.frame("Sem correção"=r^2, "Com correção"=rp^2)
##   Sem.correção Com.correção
## 1    0.6116985    0.6162497