Mestrado Profissional em Gestão Ambiental Simulações Gráficas e Numéricas Interativas Aplicadas ao Meio Ambiente Marco Domingues [email protected] Conceitos teóricos Planejamento de uma pesquisa • Etapas usuais de uma pesquisa empírica Definição do problema e objetivos Planejamento da pesquisa Metodologia da área de estudo Execução da pesquisa Dados (coletados/simulados) Análise de dados Resultados/Conclusões Metodologia estatística Conceitos teóricos Planejamento de uma pesquisa • Questão de projeto da pesquisa – Observacional (levantamento) • Censo demográfico, eleitorais, mercado, inspeção de qualidade de produtos, etc. – Experimental • Eficácia de produtos, processos químicos, métodos de produção, etc. Conceitos teóricos Planejamento de uma pesquisa • Pesquisa de levantamento – Delimitação da população • Censo ou amostragem – Escolha das variáveis estudadas • Índice de desmatamento, inflação, taxa de câmbio, selic, satisfação do cliente, etc. – Instrumentos para mensuração de variáveis • Sensores (grandezas físicas) e questionários Conceitos teóricos Planejamento de uma pesquisa • Pesquisa de levantamento – Sensores – Questionários • http://goo.gl/LvAe3s • Criando nosso próprio formulário de pesquisa on-line Conceitos teóricos Planejamento de uma pesquisa • Pesquisa de levantamento – Sensores – Questionários • http://goo.gl/LvAe3s e • Criando nosso próprio formulário de pesquisa on-line - http://goo.gl/eSALsl Conceitos teóricos Planejamento de uma pesquisa • Tipos de amostragem Conceitos teóricos Planejamento de uma pesquisa • Tipos de amostragem Amostragem não probabilística • Amostra por conveniência • O pesquisador seleciona membros da população mais acessíveis. • Amostra por julgamento • O pesquisador usa o seu julgamento para selecionar os membros da população que são fontes de informação precisa. • Amostra por quota • O pesquisador entrevista um número predefinido de pessoas em cada uma das várias categorias. Amostragem probabilística • Amostra aleatória simples – Cada membro da população tem uma chance conhecida e igual de ser escolhido. • Amostra estratificada – A população é dividida em grupos (estratos) mutuamente excludentes (como grupos de idade) e amostras aleatórias são sorteadas para cada grupo. Amostragem probabilística • Amostra de agrupamento (área) – A população é dividida em grupos mutuamente excludentes (como quarteirões) e o pesquisador sorteia uma amostra de grupos para ser entrevistada. Amostragem probabilística • Amostra sistemática – Calcula-se o intervalo de seleção – I=N/n (despreza-se as decimais); – Sorteia-se o primeiro elemento do conjunto {1,2,...,I}; – Completa-se a amostra, extraindo-se um elemento a cada I elementos Amostragem probabilística • Exemplos de amostras com o auxílio do R (exemplo com o Excel) – Instale o pacote Xlconnect • Siga os passos do menu Package do R – library(XLConnect) – setwd=(“c:/temp”) – Link para o arquivo de dados – dados.xlsx (http://goo.gl/vu5Khm) – dados <readWorksheet(loadWorkbook(“dados.xlsx"),sheet=1) – dados Amostragem probabilística • Amostragem aleatória – sample (1:32,5) – dados$Nomes[sample (1:32,5)] • Amostragem sistemática – Considere N=32 e n=5, então I=6 – seq (1,32,by= 6) ou – dados$Nomes[seq (1,32,by=6)] Amostragem probabilística • Amostragem Estratificada (Idade) – (Até 20 anos) – X = dados$Nomes [(dados$Idade < 20)] – sample (X,4) – (Entre 20 e 30 anos) – X = dados$Nomes [(dados$Idade >= 20) & (dados$Idade < 30)] • Jogando moedas com reposição – sample (c(“H”,”T”),10,replace=T) Amostragem probabilística • Exercício – Dado que foram criados 3 estratos de pessoas separadas por idade (menores que 20 anos, entre 20 e 30 anos e maiores de 30 anos), faça: • A) selecione de forma aleatória simples 2 pessoas de cada estrato. – Selecione os moradores de Iputinga. • Jogando moedas com reposição – sample (c(“H”,”T”),10,replace=T) Amostragem probabilística • Tamanho da amostra – Depende da variabilidade da população em termos da variável de estudo • Ex: quanto de sangue humano é necessário para determinação da tipagem? • Variabilidade da proporção Planejamento de experimentos (cont.) • Estudar os efeitos que alterações nas Variáveis independentes (fatores) causam nas variáveis dependentes (variáveis resposta) – Ex: Como o estresse afeta a freqüência cardíaca em humanos". • A variável independente será o estresse e a variável dependente será a freqüência cardíaca Planejamento de experimentos (cont.) • Estudar os efeitos que alterações nas Variáveis independentes (fatores) causam nas variáveis dependentes (variáveis resposta) – Ex:“Efeito da educação sobre a riqueza" para medir o efeito do nível de escolaridade sobre a renda anual, a variável independente é o nível de escolaridade e a variável dependente é a renda anual. Planejamento de experimentos (cont.) • Estratégias no planejamento de experimentos (simplificada) – Delimitar o problema; – Identificar os fatores que podem afetar o problema em estudo; – Identificar, para cada fator, o intervalo de variação e os níveis que serão estudados – Escolher os fatores e resposta adequada – Planejar a análise dos dados Planejamento de experimentos (cont.) • Estratégias no planejamento de experimentos (simplificada) Planejamento de experimentos (cont.) • Estratégias no planejamento de experimentos (simplificada) – Uso de blocos • Lotes, conjunto de indívíduos, etc. – Definição de Fatores • Controláveis e não controláveis • Ex. Produção de TV´s – Umidade, tempo de operação, inclinação; – Níveis de tensão, faltas, etc. – Tratamentos • Seleção de fatores Planejamento de experimentos (cont.) • Estratégias no planejamento de experimentos (simplificada) – Replicações • Avaliar o erro experimental (causado por fatores não controláveis ou que não foram incluídos no estudo) – Aleatorização Planejamento de experimentos (cont.) • Estratégias no planejamento de experimentos – É importantíssimo que o aluno encontre o escopo do problema a ser tratado no mestrado. Análise exploratória dos dados • Objetivos – Trabalhar com dados quantitativos contínuos: – Especificar intervalos de classe; – Construir histogramas; – Construir ramo-e-folhas. – Construir outros tipos de gráficos Exemplo 1: Tipo sangüíneo, peso (em Kg) e altura (em cm). A base de dados que será trabalhada hoje contém a informaçao de 100 indivíduos sobre tipo sangüíneo, peso (kg) e altura (cm). Forma dos dados na planilha com 100 linhas e três colunas. arquivo: dados1.txt Fonte: dados fictícios. A AB AB AB AB 62 83 62 64 75 . . . O O AB AB AB B B B B B . . . 164 163 176 177 166 . . . 70 72 94 75 80 78 71 76 82 78 182 170 189 175 154 172 171 166 143 169 Análise exploratória dos dados Os dados deste exemplo podem ser obtidos como: dados=read.table(“http://goo.gl/qofEPw”) • Observe que aqui, não usamos o argumento header=T, pois os nomes das variáveis não estão no arquivo de dados. • Mas, se preferirmos, podemos definir os nomes das variáveis em dados. names(dados)<-c(“tsangue”,”peso”,”altura”) Análise exploratória dos dados • VARIÁVEIS QUALITATIVAS – GRÁFICO DE SETORES pie(table(dados[,1]),main=”Distribuição de freqüências do tipo sangüíneo", col=c("blue",”blue4",”green",”green4")) Distribuição de freqüências do tipo sangüíneo A AB B O VARIÁVEIS QUALITATIVAS: GRÁFICO DE BARRAS barplot(table(dados$tsangue),col="red",main= "Distribuição de freqüências de tipo sangüíneo") VARIÁVEIS QUALITATIVAS: GRÁFICO DE BARRAS barplot(table(dados$tsangue),col="red",main= "Distribuição de freqüências de tipo sangüíneo”,ylim=c(0,40)) VARIÁVEIS QUANTITATIVAS (1) • Veremos agora como construir a distribuição de freqüências de uma variável quantitativa. • Para isso usaremos os dados do exemplo referentes ao peso e à altura dos indivíduos. VARIÁVEIS QUANTITATIVAS (4) • Vimos que no caso de dados contínuos, há a necessidade de se definir primeiro intervalos de classe para depois, construir a tabela de freqüências e, então, usá-la para construir o histograma. • O R possui uma função que pode gerar esta distribuição de forma automática. VARIÁVEIS QUANTITATIVAS (5) • Esta função também tem a flexibilidade de nos permitir fixar os intervalos ou sugerir o número de intervalos. • Esta mesma função também gera o histograma dos dados e seu nome no R é hist. Uso da função hist (2) Para começar peça a função hist apenas com o argumento obrigatório que é um vetor contendo os valores para os quais queremos construir o histograma, isto é, peça hist(dados$peso). Exemplo: argumentos breaks e freq hist(dados$peso,breaks=c(50,60,70,80,90,100),right=F,freq=F) Exemplo (continuação) Para melhorar o gráfico podemos definir o título e os rótulos para os eixos ox e oy. hist(dados$peso,breaks=c(50,60,70,80 ,90,100),freq=F,right=F,main= “Histograma dos pesos”,xlab=“kg”,ylab=“dens.freq.rel”, density=6,col=“blue”) Ramo e folhas de peso • Para estudarmos outras possibilidades de intervalos para o histograma de pesos, será útil construir um ramo-e-folhas dos pesos: stem(dados$peso). The decimal point is 1 digit(s) to the right of the | 5 | 79 6 | 12223344 6 | 56678888899 7 | 00000011111222222233333444 7 | 5555555666777788888889999 8 | 000111111111122223334 8 | 56667 9|4 9|6 Construindo 9 intervalos de classe A amplitude amostral é aproximadamente 96-57=39 Para 9 intervalos podemos calcular 39/9 que é 4.333..., e arredondando para 4,5 temos as amplitudes das classes. Observe que ficaremos com uma amplitude total igual à 9x4,5=40,5, que equivale quase 2 a mais. Podemos então repartir o excesso igualmente para cima e para baixo, começando com 56 e terminando em 97: hist(dados$peso,breaks=c(56,60.5,65,69.5,74,78.5,83,87.5,92,96.5), col=“palegreen”,main=“Histograma dos pesos”,xlab=“kg”, ylab=“dens.freq.rel.”,freq=F) Numa distribuição de freqüências, não deve haver classes intermediárias vazias! Portanto, essa distribuição deve ser refeita. Possibilidades: sugerir 8 intervalos ou juntar as duas classes finais, passando a ter classes de amplitudes desiguais. Construa o histograma usando 8 intervalos de classe. Sugestão:breaks=c(56,60.5,65,69.5,74,78.5,83,87.5,96.5) Argumentos da função hist Argumentos: x (obrigatório): vetor de valores para os quais deseja-se construir o histograma. breaks (opcional): um entre * vetor fornecendo os limites dos intervalos de classe, * número fornecendo o número de intervalos (é apenas uma sugestão). right (opcional): lógica; se `right=T‘(default), as classes são fechadas à direita e abertas à esquerda. Se ‘ right=F´, as classes são fechadas à esquerda e abertas à direita. Argumentos da função hist • freq (opcional): lógica; se `freq=T', o histograma é uma representação da distribuição na escala das freqüências absolutas, se `freq=F', é uma representação na escala da densidade de freqüência relativa, que é definida como a razão entre freqüência relativa e a amplitude da classe. • Observação: O Default da versão atual do R é usar freq=T, quando as classes têm amplitudes iguais e freq=F, quando as classes têm amplitudes desiguais. O que mudou? freq=F freq=T Exemplo (continuação) Para melhorar o gráfico podemos definir o título e os rótulos para os eixos ox e oy. hist(dados$peso,breaks=c(50 ,60,70,80,90,100),freq=F,right =F,main= “Histograma dos pesos”,xlab=“kg”,ylab=“dens.f req.rel”, density=6,col=“blue”) Argumento density Inserindo o argumento density=4, obtemos Mudando a escala dos eixos Comandos xlim e ylim. Para visualizar o eixo 0x de 40 até 110kg, inclua o argumento xlim=c(40,110). Para visualizar o eixo 0y de 0 até 0.06, quando freq=F, inclua o argumento ylim=c(0,0.06). ATIVIDADE 1) Construa agora o histograma das alturas com 7 intervalos de classe. 2) calcule a média das alturas nesta amostra e localize-a no histograma obtido no item 2. Comando par(mfrow=c(l,n)) • É possível construir vários histogramas numa única janela de gráfico. • Por exemplo, se quisermos apresentar o histograma das alturas e o histograma dos pesos numa mesma janela, antes de pedir os histogramas, devemos informar que a janela conterá dois gráficos. • Podemos configurar a janela com dois gráficos numa única linha ou dois gráficos numa única coluna. Comando par(mfrow=c(l,n)) • par(mfrow=c(1,2)) # uma linha duas colunas ou • par(mfrow=c(2,1)) # duas linhas uma coluna. • Depois é só pedir os respectivos histogramas. par(mfrow=c(1,2)) hist(dados$peso, main="Histograma dos pesos",xlab="Kg",freq=F, ylab="densidade de freq. rel.",ylim=c(0,0.07),xlim=c(50,110)) hist(dados$altura, main="Histograma das alturas",xlab="cm",freq=F, ylab="densidade de freq. rel.",ylim=c(0,0.06),xlim=c(130,200)) Janelas de gráfico simultâneas: Para abrir uma NOVA janela de gráfico, usa-se o comando: win.graph() Para fechar uma janela de gráfico, usa-se o comando: dev.off() Densidades • Densidade da distribuição normal – x = seq(-4,4,0.1) – plot (x,dnorm(x), type=“l”) • Ou ainda – curve (dnorm(x), from=-4, to = 4) • Gráfico com a distribuição binomial – (pin diagram) – X=0:50 – plot (x,dbinom(x,size=50,prob=.33),type="h“)) Estatísticas descritivas • • • • • • x=rnomr(50) mean(x) # média sd(x) # desvio padrão var(x) # variância median(x) # mediana quantile(x) Estatísticas descritivas • • • • • • • library (ISwr) # carrega pacote data (juul) # carrega dados hospitalares attach(jull) # disponibiliza os dados mean(igf1) # gera um erro mean(igf1, na.rm=T) length(ifg1) # conta todos os valores opção – sum(!is.na(igf1)) # TRUE = 1 e FALSE = 0 Estatísticas descritivas • • • • summary (igf1) n=length (x) plot(sort(x),(1:n)/n,type="s",ylim=c(0,1)) Onde: – “s” = step function – (1:n)/n divide o intervalo 1:n em n valores Novos assuntos teóricos • • • • Outras distribuições Aproximação da normal pela binomial Intervalo de confiança Testes de hipótese – Unicaldal – Bicaldal • Testes de hipótese de duas amostras – Testes de hipótese de amostras emparelhadas Testes para uma amostra • t-teste – uma amostra – (n<30 e σ desconhecido) – suposições • dados vem de uma distribuição normal • X~N(µ,σ2) – Deseja-se testar a hipótese nula • h0: µ = µ0 – Pode-se estimar os parâmetros µ e σ x empirica e pelo desvio pela média padrão amostral s. Testes para uma amostra • t-teste – uma amostra SEM n s SEM am ostral n • onde SEM = standard error of the mean • Se o experimento for repetido (x) vezes e forem tiradas (x) médias, então essas médias seguirão a distribuição que gerou a amostra Testes para uma amostra • Para dados normalmente distribuídos há 95% de chance de µ ± 2σ • Espera-se que se µ0 for a xverdadeira média, então deveria estar a 2 SEM dela. Range Proporção µ ± 1σ 68,3% µ ± 2σ 95,5% µ ± 2σ 99,7% Testes para uma amostra • formalmente x 0 – x 0 ou t t s SEM n • para ver se t está no limite da região de aceitação, cujo nível de significância é 5% • Se t está fora da região de aceitação, então devemos rejeitar a hipótese nula para aquele nível de significância. • A região de aceitação está próximo de -2 e 2 Testes para uma amostra • A região de aceitação está próximo de -2 e 2 Testes para uma amostra • Pode-se também calcular o p-value que é a probabilidade de se obter um valor tão grande ou maior que o valor t observado. • Não se deve rejeitar h0 se o p-value está próximo do nível de significância α • Rejeita-se h0 se o p-value é muito pequeno em relação ao nível de significância α Testes para uma amostra • daily.intake = c(5260,5470,5640,6180,6390,6515,6805,7515,75 15,8230,8770) • # energia ingerida em kJ por 11 mulheres • mean(daily.intake) • sd(daily.intake) • quantile(daily.intake) • Os dados amostrais (com média = 6753,639 kJ) constituem evidência suficiente para rejeitar a afirmação de que as mulheres ingerem 7725kJ em média? Testes para uma amostra • Supondo que os dados vieram de uma distribuição normal, o objetivo é testar se essa distribuição pode ter média µ = 7725 • t.test (daily.intake, mu=7725) Testes para uma amostra • t.test (daily.intake, mu=7725) One Sample t-test data: daily.intake t = -2.8208, df = 10, p-value = 0.01814 alternative hypothesis: true mean is not equal to 7725 95 percent confidence interval: 5986.348 7520.925 # sample estimates: mean of x 6753.636 Testes t para dados emparelhados • Usado para duas medidas no mesmo experimento • Trata as diferenças entre as medidas, reduzindo o problema para teste t – uma amostra • Deseja-se investigar o grau de ingestão de calorias por mulheres antes e depois da menstruação Testes t para dados emparelhados • • • • data(intake) attach(intake) intake post – pre # diferença antes e depois h0: (post - pre) = 0 h1: (post - pre) ≠ 0 • Todos os valores na amostra foram negativos, dando indícios que as mulheres têm baixa ingestão de calorias depois da menstruação. Conselhos úteis • Ler os manuais no site do projeto CRAN • Usar a página wiki do projeto CRAN – http://wiki.r-project.org/ • Usar http://www.rseek.org/ ao invés do google • Aprender com os errros • ?lm dá uma ajuda sobre a função lm. Ler arquivos de help pode ajudar bastante • Assine a lista do R – (https://stat.ethz.ch/mailman/listinfo/r-help) • Crie seu script personalizado de bibliotecas Mestrado Profissional em Gestão Ambiental Simulações Gráficas e Numéricas Interativas Aplicadas ao Meio Ambiente Marco Domingues [email protected]