minicurso de estatística experimental com o r - iii sic ifnmg

78
Minicurso de Estatística com Dilermando Pacheco e Petrônio Cândido

Upload: petronio-candido

Post on 25-Jun-2015

236 views

Category:

Data & Analytics


1 download

DESCRIPTION

Slides do minicurso de Estatística Experimental Com R no III Simpósio de Iniciação Científica do IFNMG - Campus Januária, 2014.

TRANSCRIPT

Page 1: Minicurso de estatística experimental com o R  - III SIC IFNMG

Minicurso de Estatística com

Dilermando Pacheco e Petrônio Cândido

Page 2: Minicurso de estatística experimental com o R  - III SIC IFNMG

Agenda

● O Pacote R● Carregando Dados● Estatística Descritiva

○ Medidas de tendência central e dispersão○ Gráficos

● Estatística Inferencial○ Regressão○ Testes Estatísticos

Page 3: Minicurso de estatística experimental com o R  - III SIC IFNMG

O pacote estatístico R

Page 4: Minicurso de estatística experimental com o R  - III SIC IFNMG

O que é o R

● Um programa de estatística para uso geral;○ Um conjunto de bibliotecas/plugins○ Uma linguagem de programação

● FOSS○ Free open source software○ Programa gratuito de código aberto

Page 5: Minicurso de estatística experimental com o R  - III SIC IFNMG

Porquê usar o R?

● Primeiro: ELE É GRATUITO!○ Ao contrário do SPSS, SAS…

● Ele é não é voltado para nenhuma área específica○ Ao contrário do SPSS...

● Muita documentação, em todas as linguagens

Page 6: Minicurso de estatística experimental com o R  - III SIC IFNMG

Porquê usar o R?

● No R é possível programar!○ Grande base de plugins para todo o tipo de tarefa

de análise de dados

● Interoperabilidade○ Abre diversos tipos de arquivos○ Comunica-se com outros sistemas

Page 7: Minicurso de estatística experimental com o R  - III SIC IFNMG

Características do R?● O R originalmente usa uma interface de linha de

comando que é pouco amigável para usuários que não

vem das exatas/tecnológicas e engenharias…

● Para tarefas mais complexas algum conhecimento em

programação é bastante recomendado!

Page 8: Minicurso de estatística experimental com o R  - III SIC IFNMG

Características do R

● Atualmente já existem interfaces gráficas com o usuário, tais como o:○ R Commander○ R Studio

Page 9: Minicurso de estatística experimental com o R  - III SIC IFNMG

Instalando o R

● R Básico○ http://www.r-project.org/

● R Studio○ https://www.rstudio.com/

Page 10: Minicurso de estatística experimental com o R  - III SIC IFNMG

Pacotes

● Pacotes são extensões ao programa básico escritos pela comunidade de usuários;

● Com os pacotes podemos agregar novas funcionalidades ao R

Page 11: Minicurso de estatística experimental com o R  - III SIC IFNMG

Pacotes● Baixa o pacote da internet e instalar no computador

install.packages("pacote")

● Carregar o pacote na memória (antes de começar a

utilizá-lo)

library("mypkg")

Page 12: Minicurso de estatística experimental com o R  - III SIC IFNMG

Carregando e explorando dados

Page 13: Minicurso de estatística experimental com o R  - III SIC IFNMG

Variáveis

● Uma variável armazena um ou mais valores

nome <- valor

Page 14: Minicurso de estatística experimental com o R  - III SIC IFNMG

Tipos de Dados no R

● Escalar● Vetores● Matrizes● Fatores● Data Frames

Page 15: Minicurso de estatística experimental com o R  - III SIC IFNMG

Tipos de Dados no R

● Escalar○ Um único dado.○ Número

■ 1, -1, 1.5○ Caractere

■ “texto”○ Lógico

■ TRUE / FALSE

Page 16: Minicurso de estatística experimental com o R  - III SIC IFNMG

● Vetores○ Conjunto de dados de um mesmo tipo, com uma

única dimensão [linha OU coluna]

v1 <- c(1,2,3,5) # vetor numérico

v2 <- c("A","BB","CCC") # vetor de caracteres

v3 <- c(TRUE,TRUE,FALSE) #vetor de valores lógicos

Tipos de Dados no R

Page 17: Minicurso de estatística experimental com o R  - III SIC IFNMG

● Intervalos○ seq(from = inicio, to = fim, by = passo)

■ v1 <- seq(from = 1, to = 50, by = 10)

○ início : fim

■ v1 <- c(1:20)

Tipos de Dados no R

Page 18: Minicurso de estatística experimental com o R  - III SIC IFNMG

● Fatores○ Associa um índice a cada valor nominal;

○ Variáveis categóricas/nominais sem relação de

ordem

dados <- c(“M”,”F”,”F”,”M”,”F”,”M”,”M”,”F”)

sexos <- factor(dados)

Tipos de Dados no R

Page 19: Minicurso de estatística experimental com o R  - III SIC IFNMG

● Matrizes○ Um conjunto de dados de um único tipo, com duas

dimensões

○ Tabela do um mesmo tipo de dados, com várias

linhas e colunas

m<-matrix(dados, nrow=linhas,ncol=colunas)

Tipos de Dados no R

Page 20: Minicurso de estatística experimental com o R  - III SIC IFNMG

● Data Frames○ Tabela com várias linhas e colunas, em que cada

coluna pode ser de um tipo de dados diferente:

■ Linhas : Observações

■ Colunas : Variáveis

○ As colunas em um data frame podem ter nomes;

Tipos de Dados no R

Page 21: Minicurso de estatística experimental com o R  - III SIC IFNMG

● Data Frames○ idades <- c(20, 30, 25)○ sexos <- c(“M”,”F”,”F”)○ pesos <- c(70.5, 64.3, 60.1)○ df <- data.frame(idades, sexos, pesos)○ df$idades

Tipos de Dados no R

Page 22: Minicurso de estatística experimental com o R  - III SIC IFNMG

Funções Úteis● Gera uma matriz a partir da combinação em colunas de dois vetores

dados <- cbind(vetor, vetor, …)

● Gera uma matriz a partir da combinação em linhas de dois vetores

dados <- rbind(vetor, vetor, …)

● Edita os dados de um objeto (vetor, matriz, data frame etc…)

dados <- edit(dados)

Page 23: Minicurso de estatística experimental com o R  - III SIC IFNMG

Funções Úteis● O somatório de todos os itens de um vetor

soma <- sum(vetor)

● A quantidade de itens de um vetor

n <- length(vetor)

● Edita os dados de um objeto (vetor, matriz, data frame etc…)

dados <- edit(dados)

Page 24: Minicurso de estatística experimental com o R  - III SIC IFNMG

Carregar dados

● Ler um arquivo de dados simples

mydata <- read.table("c:/mydata.csv", header=TRUE,

sep=",")

● Gravar um arquivo de dados simples

write.table(mydata, "c:/mydata.txt", sep="\t")

Page 25: Minicurso de estatística experimental com o R  - III SIC IFNMG

Carregar dados

● Existem pacotes para interagir com diversas

outras fontes de dados:■ Excell

■ SPSS

■ Bancos de Dados

● Consulte: (CRAN, 2014)

Page 26: Minicurso de estatística experimental com o R  - III SIC IFNMG

Estatística DescritivaTendências e Gráficos

Page 27: Minicurso de estatística experimental com o R  - III SIC IFNMG

Funções úteis

Função Utilidade

abs(x) Valor absoluto

sqrt(x) Raiz quadrada

ceiling(x), floor(x) Arredondamento para cima e para baixo

trunc(x) Retorna a parte inteira

cos(x), sen(x), tan(x) Funções trigonométricas

log(x), log10(x), exp(x) Logaritmos e exponenciação

Page 28: Minicurso de estatística experimental com o R  - III SIC IFNMG

Estatísticas Descritivas

● Resumo: summary(dados)● Média: mean(dados)● Mediana: median(dados)● Quantis: quantile(dados)● Variância: var(dados)● Desvio Padrão: sd(dados)

Page 29: Minicurso de estatística experimental com o R  - III SIC IFNMG

Tabelas de Frequênciatabela <- table(dados)

tabela <- table(dados$variavel, dados$variavel)

tabela <- xtabs(dados$variavel ~ dados$variavel)

Page 30: Minicurso de estatística experimental com o R  - III SIC IFNMG

Correlação e Covariância● Coeficiente de correlação entre dois vetores

cor(vetor,vetor)

● Matriz de correlação em matrizes e data

frames

cor(dados)

Page 31: Minicurso de estatística experimental com o R  - III SIC IFNMG

Gráficos

Page 32: Minicurso de estatística experimental com o R  - III SIC IFNMG

Função Plotplot(dados,

main = ”titulo”, sub=”sub título”,

type =”tipo”, col = vetordecores,

xlab = “rótulo do eixo x”, ylab = “rótulo do eixo y”

pch = simbolo, lty = tipo de linha, ltw = expessura da linha

)

Page 33: Minicurso de estatística experimental com o R  - III SIC IFNMG

Parâmetros● Type

○ l = Linha

○ p = Pontos

○ b = Linha e ponto não sobrepostos

○ o = Linha e ponto sobrepostos

○ h = Histograma

○ s = Degraus

Page 34: Minicurso de estatística experimental com o R  - III SIC IFNMG

Parâmetros

● pch ● lty

Page 35: Minicurso de estatística experimental com o R  - III SIC IFNMG

Parâmetros● Color

Page 36: Minicurso de estatística experimental com o R  - III SIC IFNMG

Outras funções úteis● legend(“orientação”, valores, fill=cores)

○ Acrescenta uma legenda no gráfico

● text(x, y, “texto”)

○ Acrescenta uma anotação no gráfico

● mtext(“texto”, side=n)

○ Acrescenta uma anotação na bordas do gráficos

Page 37: Minicurso de estatística experimental com o R  - III SIC IFNMG

Gráficosbarplot(dados)

dotchart(dados)

hist(dados)

lines(dados)

pie(dados)

points(dados)

polygon(dados)

Page 38: Minicurso de estatística experimental com o R  - III SIC IFNMG

Gráficos 3D

● Scatterplot 3Dlibrary(scatterplot3d)scatterplot3d(x,y,z)

● Plot 3D (Gráfico Interativo)library(rgl)

plot3d(x,y,z)

Page 39: Minicurso de estatística experimental com o R  - III SIC IFNMG

Estatística InferencialAmostra -> População

Page 40: Minicurso de estatística experimental com o R  - III SIC IFNMG

Probabilidades

Page 41: Minicurso de estatística experimental com o R  - III SIC IFNMG

Distribuições de Probabilidades● ddist(valor, …)

○ Retorna a densidade de probabilidade (Probabilidade de um

valor dentro da distribuição)

● pdist(valor, …)

○ Retorna a densidade acumulada de probabilidade

Page 42: Minicurso de estatística experimental com o R  - III SIC IFNMG

Distribuições de Probabilidades● qdist(quantis,...)

○ Retorna os valores, dentro da distribuição, para as

probabilidades informadas;

○ Pode ser um escalar ou um vetor com os quantis;

● rdist(n,...)

○ Gera um vetor de n números aleatórios dentro da distribuição;

Page 43: Minicurso de estatística experimental com o R  - III SIC IFNMG

Distribuições de Probabilidades

● Distribuição Normal

Page 44: Minicurso de estatística experimental com o R  - III SIC IFNMG

Distribuições de Probabilidades● d <- dnorm(valor, media, desviopadrao)

○ dnorm(95, 70, 15)

● p <- pnorm(valor, media, desviopadrao)

○ dnorm(95, 70, 15)

● valor <- qnorm(quantis, media, desviopadrao)

○ dnorm(c(0.05, 0.95), 70, 15)

● vetor <- rnorm(n, media, desviopadrao)

○ dnorm(30, 70, 15)

Page 45: Minicurso de estatística experimental com o R  - III SIC IFNMG

Distribuições de Probabilidades● qqnorm(dados)

○ dnorm(95, 70, 15)

● qqline(valores)

○ dnorm(95, 70, 15)

Page 46: Minicurso de estatística experimental com o R  - III SIC IFNMG

Outras distribuições● Binomialdbinom(x, tamanho, prob)

pbinom(q, tamanho, prob)

qbinom(p, tamanho, prob)

rbinom(n, tamanho, prob)

● Poissondpois(x, lamda)

ppois(q, lamda)

qpois(p, lamda)

rpois(n, lamda)

Page 47: Minicurso de estatística experimental com o R  - III SIC IFNMG

Distribuições Empíricas

w <- density(dados)

plot(w)

Page 48: Minicurso de estatística experimental com o R  - III SIC IFNMG

Modelos e FórmulasRelações entre variáveis

Page 49: Minicurso de estatística experimental com o R  - III SIC IFNMG

● Um modelo é uma fórmula que expressa algum relacionamento entre variáveis;

● Variáveis Dependentes

● Variáveis Independentes

Modelo

Page 50: Minicurso de estatística experimental com o R  - III SIC IFNMG

● dependentes ~ independentes

Y = β0 + β1Xa + β2Xb + … + ϵ● Dependente: Y● Independentes: Xa, Xb, …● Coeficientes: β0, β1, β2, ...

Y ~ Xa + Xb

Fórmulas

Page 51: Minicurso de estatística experimental com o R  - III SIC IFNMG

RegressãoAjustando os coeficientes...

Page 52: Minicurso de estatística experimental com o R  - III SIC IFNMG

Análise de Variáncia - ANOVA

● Dados segmentados em blocos;

● Há diferenças significativas nas médias e variâncias nas amostras colhidas entre os blocos?

Page 53: Minicurso de estatística experimental com o R  - III SIC IFNMG

Análise de Variáncia - ANOVA

● Data Frame○ Variável de Bloco : Factor○ Variável quantitativa mensurada

modelo <- aov(Variavel ~ Bloco)

Page 54: Minicurso de estatística experimental com o R  - III SIC IFNMG

Análise de Variáncia - ANOVAA <- c(78, 88, 87, 88, 83, 82, 81, 80, 80, 89)

B <- c(78, 78, 83, 81, 78, 81, 81, 82, 76, 76)

C <- c(79, 73, 79, 75, 77, 78, 80, 78, 83, 84)

D <- c(77, 69, 75, 70, 74, 83, 80, 75, 76, 75)

dados <- data.frame(Localidade=gl(4,10), Massa=c(A,B,C,D))

dados$Localidade <- as.factor(dados$Localidade)

# Análise de variância

modelo <- aov(Massa ~ Localidade)

summary(modelo)

# o teste de Tukey HSD para mostrar os pares de grupos

TukeyHSD(modelo)

plot(TukeyHSD(modelo))

Fonte: (BASLEY, 2004, p. 32)

Page 55: Minicurso de estatística experimental com o R  - III SIC IFNMG

Regressão Linear Simples

● Ajusta os coeficientes das variáveis independentes de uma fórmula a partir de um conjunto de dados

modelo <- lm(formula = y ~ x, data = dados)

Page 56: Minicurso de estatística experimental com o R  - III SIC IFNMG

Exemplox <- c(1,2,3,4,5,6,7,8)

y <- c(9.6, 18.0, 18.7,26.0,4.6,18.3,19.7,37.8)

modelo <- lm(y ~ x)

plot(x, y)

abline(modelo)

Page 57: Minicurso de estatística experimental com o R  - III SIC IFNMG

Exemplox <- c(1,2,3,4,5,6,7,8)

y <- c(9,3,2,7,3,3,1,1)

z <- c(9.6, 18.0, 18.7,26.0,4.6,18.3,19.7,37.8)

modelo <- lm(z ~ x + y)

library(scatterplot3d)

grafico <- scatterplot3d(x, y, z)

grafico$plane3d(modelo)

Page 58: Minicurso de estatística experimental com o R  - III SIC IFNMG

Regressão Não Linear● Ajusta os coeficientes das variáveis independentes de

uma fórmula a partir de um conjunto de dados● Os coeficientes e seus valores iniciais devem ser

indicados

modelo <- nls(formula = z ~ a^x + b*y + c, data = dados, start=c(a=0, b=0, c=0))

Page 59: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste e simulação dos modelos

● Gera predições para a variável dependente a partir de um conjunto de dados para as variáveis independente utilizando o modelo.

dados <- predict(modelo, dadossimulacao)

modelo <- lm(y ~ x)

predicao <- predict(modelo, x)

Page 60: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste e simulação dos modelosx <- c(1,2,3,4,5,6,7,8)

y <- c(9.6, 18.0, 18.7,26.0,4.6,18.3,19.7,37.8)

modelo_linear <- lm(y ~ x)

teste_linear <- predict(modelo_linear, list(x))

modelo_naolinear1 <- nls(y ~ cos(x)*a + b, start=c(a=0, b=0))

teste_naolinear1 <- predict(modelo_naolinear1, list(x))

modelo_naolinear2 <- nls(y ~ exp(x)*a + cos(x)*b + c, start=c(a=0, b=0, c=0))

teste_naolinear2 <- predict(modelo_naolinear2, list(x))

Page 61: Minicurso de estatística experimental com o R  - III SIC IFNMG

Ajuste de Modelosplot(x, y, main="Modelos de Regressão", sub="Ajuste de modelos lineares e não lineares")

legend("topleft",c("a.x+b","a.cos(x)+b","a.e^x + b.cos(x) + c"), fill=c("black","blue","red"))

lines(teste_linear, col="black")

lines(teste_naolinear1, col="blue")

lines(teste_naolinear2, col="red")

Page 62: Minicurso de estatística experimental com o R  - III SIC IFNMG

Intervalos de Confiança

Page 63: Minicurso de estatística experimental com o R  - III SIC IFNMG

Intervalo de Confiança● Intervalo de confiança para a média populacional (μ)

quando a variância populacional (σ2) é desconhecida:

α = Nível de confiança (99% ou 95%)

Page 64: Minicurso de estatística experimental com o R  - III SIC IFNMG

Intervalo de Confiançadados <- c()

a <- 0.95

n <- length(dados)

z <- qnorm( (1 + a) / 2 )

s <- sqrt( var(dados) )

x <- mean(dados)

ic <- c( x - z*s/sqrt(n) , x + z*s/sqrt(n) )

Page 65: Minicurso de estatística experimental com o R  - III SIC IFNMG

Testes EstatísticosTestes de Hipóteses ou Testes de Significância

Page 66: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste T● Teste de hipótese para médias

● Valida se a diferença entre as médias é significativa ou se

pode ser gerada pelo acaso;

● A probabilidade da diferença ser gerada pelo acaso

H0: μa = μbHa: μa ≠ μb

Page 67: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste T● Erro Tipo I

○ Rejeitar H0 quando H0 é verdadeira

● Erro Tipo II

○ Aceitar H0 quando H0 é falsa

Situação

H0 Verdadeira H0 Falsa

DecisãoRejeitar H0 Erro Tipo I Sem Erro

Aceitar H0 Sem Erro Erro Tipo II

Page 68: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste Tt.test(vetor1, vetor2, conf = .95)

Welch Two Sample t-test

data: vetor1 and vetor2t = 3.4843, df = 14.894, p-value = 0.00336alternative hypothesis: true difference in means is not equal to 095 percent confidence interval: 1.861895 7.738105sample estimates:mean of x mean of y 113.4 108.6

H0: μa ≠ μbHa: μa = μb

Page 69: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste Tmacho <- c(120, 107, 110, 116, 114, 111, 113, 117, 114, 112)

femea <- c(110,111,107, 108, 110, 105, 107, 106, 111, 111)

t.test(macho, femea)

Fonte: (BATISTA ; PRADO, 2014)

Page 70: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste χ2

● Frequências observadas x Frequências Observadas

● Testa se duas variáveis são independentes ou associadas, e se o grau de

associação é significativo;

● É utilizado para validar se uma variável adere à uma determinada

distribuição:

H0: As freq. observadas não são diferentes das esperadasHa: As freq. observadas são diferentes das esperadas

Page 71: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste χ2

chisq.test(dados, p = distribuição)

H0: “dados” é aderente à distribuição

Ha: “dados” não é adere à distribuição

Chi-squared test for given probabilities

data: xX-squared = 15.68, df = 2, p-value = 0.0003937

Page 72: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste χ2

● Se χ2 calculado >= χ2 tabelado: Rejeita-se H0.

● Se χ2 calculado < χ2 tabelado: Aceita-se H0.

● Observações:○ As amostras devem ser independentes;○ Os itens de cada amostra devem ser selecionados aleatoriamente;○ As observações devem ser frequências ou contagens.

● O número de graus de liberdade, nesse caso é assim calculado:○ G.L. = número de classes - 1

Page 73: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste χ2

amostra <- c(14, 25, 81)

probabilidades <- c(1/4, 1/8, 5/8)

chisq.test(amostra, p = probabilidades)

Page 74: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste de Correlação

● Testa se há correlação significativa (não

casual) entre duas variáveis:

H0: Não existe correlação (ρ = 0)

Ha: Existe correlação (ρ ≠ 0)

Page 75: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste de Correlação cor.test(variável, variável)

Pearson's product-moment correlation

data: anos and diversidadet = 4.3848, df = 8, p-value = 0.002334alternative hypothesis: true correlation is not equal to 095 percent confidence interval: 0.4474675 0.9613274sample estimates: cor 0.840339

H0: Não existe correlação (ρ = 0)

Ha: Existe correlação (ρ ≠ 0)

Page 76: Minicurso de estatística experimental com o R  - III SIC IFNMG

Teste de Correlaçãoanos <- c(0, 1, 3, 5, 9, 12, 13, 15, 21, 25)

diversidade <- c(0, 0.19, 0.15, 1.49, 1.10, 1.12, 1.61, 1.42, 1.48, 1.92)

cor.test(anos, diversidade)

Fonte: (BASLEY, 2004, p. 45)

Page 77: Minicurso de estatística experimental com o R  - III SIC IFNMG

Referências

Page 78: Minicurso de estatística experimental com o R  - III SIC IFNMG

CRAN. The Comprehensive R Archive Network. Disponível em: http://cran.r-project.org/. Acesso em: 01/03/2014.

BASLEY, Colin R. Bioestatística Usando o R: Apostila de exemplos para o biólogo. Bragança: UFPA, 2004. Disponível em :http://cran.r-project.org/doc/contrib/Beasley-BioestatisticaUsandoR.pdf. Acesso em: 10/03/2014.

BATISTA, João L. F.; PRADO, Paulo I. K. Introdução ao R: Apostila on-line. Disponível em: http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782: 03_apostila:start. Acesso em: 09/03/2014.

WILD, Christopher J.; SEBER, George AF. Encontros com o acaso: um primeiro curso de análise de dados e inferência. Rio de Janeiro: LTC, 2004.