GET00130 - Métodos Computacionais para Estatística II
Conteúdo da aula
- Teste de hipóteses para a variância de uma população normal.
- Teste de hipóteses para a proporção.
1 - Teste de hipóteses para a variância de uma população normal
Vamos discutir o problema de se testar uma afirmação sobre a variância de uma população normal.
Suponha que desejamos testar se a variância da altura é superior a 0,01 m\(^2\). Como verificar essa afirmação?
Nas aulas passadas, discutimos as regras de decisões que nos permitem checar afirmações sobre os parâmetros, conhecidas como testes de hipóteses.
No problema levantado queremos testar as seguintes hipóteses
\(H_0\): a variância da idade é igual a 0,01 m\(^2\) metros (\(\sigma^2 = 0,01\)),
\(H_1\): a variância da idade é superior a 0,01 m\(^2\) metros (\(\sigma^2 > 0,01\)).
Para executarmos o teste acima, usaremos a função VarTest do pacote DescTools.
A seguir, vamos apresentar os principais argumentos da função VarTest:
- x - o vetor com a amostra;
- sigma.squared - o valor do parâmetro que definem as hipóteses (default = 1);
- alternative - argumento que define se o teste é bilateral ou unilateral a esquerda e a direita (default = bilateral - two.sided).
Note que o teste que estamos usando, assume que a variância é o parâmetro de uma variável aleatória com distribuição normal. Neste caso, devemos verificar se a variável altura possui distribuição normal.
#Carregando pacote
library(tidyverse)
#Importando os dados
base = read_rds("Medidas.rds")
#Carregando pacote
library(ggpubr)
#Criando um qq-plot com o ggpubr
ggqqplot(base$altura)#Teste de normalidade
shapiro.test(x = base$altura)
Shapiro-Wilk normality test
data: base$altura
W = 0.97916, p-value = 0.868
Para verificar, inicialmente plotamos um qq-plot, com sua banda de confiança, e o mesmo parece indicar que a suposição de normalidade da variável altura é razoável. Para confirmar esta hipótese, realizamos o teste de Shapiro-Wilk e com base em um nível de significância (\(\alpha\)) de 5%, como o p-valor = 0,868 é maior do que \(\alpha\), não rejeitamos \(H_0\), ou seja, não existe evidências para desconfiarmos que a amostra não seja proveniente de uma distribuição normal.
Deste modo, podemos partir para o testar a afirmação sobre a variância.
#Carregando o pacote DescTools
library(DescTools)
#Realizando o teste
VarTest(base$altura,
alternative = "greater",
sigma.squared = 0.01)
One Sample Chi-Square test on variance
data: base$altura
X-squared = 34.746, df = 24, p-value = 0.07225
alternative hypothesis: true variance is greater than 0.01
95 percent confidence interval:
0.009541775 Inf
sample estimates:
variance of x
0.01447767
A saída do teste contém várias informações: o valor da estatística do teste \(X\)-squared, o número de graus de liberdade da estatística de teste \(df\) e o p-valor associado as hipóteses especificadas. Ele deixa explícito qual a hipótese alternativa “true variance is greater than 0.01” que significa “a verdadeira variância é maior que 0.01”. Fornece também um intervalo de confiança unilateral (que não traz muita informação nesse momento, a menos que estivéssemos realizando um teste de hipóteses bilateral, pois seria o IC para o parâmetro) e o valor de uma estimativa pontual.
Note que, mesmo com uma estimativa pontual superior a 0,01 (aproximadamente 0,015), com base em um nível de significância de 5%, não rejeitamos \(H_0\), ou seja, não encontramos evidências para acreditar que a variância da altura seja superior a 0,01 m\(^2\).
E se o nível de confiança fosse de 10%, qual seria a sua conclusão? Em que implica o aumento do nível de significância?
Suponha que um pesquisador esteja interessado em investigar se a variância do peso é diferente a 20 Kg\(^2\). Realize a análise mais completa possível para investigar essa afirmação.
#Avaliando o comportamento dos valores da variável peso
ggplot(data = base, aes(y = peso)) +
geom_boxplot() +
theme_minimal() +
labs(y = "Peso (em Kg)")#Verificando normalidade dos dados
ggqqplot(base$peso)#Testando normalidade
shapiro.test(base$peso)
Shapiro-Wilk normality test
data: base$peso
W = 0.97305, p-value = 0.7228
#Obtendo uma estimativa pontual e uma intervalar
VarCI(x = base$peso,
method = "classic",
conf.level = 0.95) var lwr.ci upr.ci
23.58333 14.37859 45.64093
#Realizando o teste
VarTest(base$peso,
alternative = "two.sided",
sigma.squared = 20)
One Sample Chi-Square test on variance
data: base$peso
X-squared = 28.3, df = 24, p-value = 0.4952
alternative hypothesis: true variance is not equal to 20
95 percent confidence interval:
14.37859 45.64093
sample estimates:
variance of x
23.58333
Comentários de cada passo da análise:
Analisando o boxplot, percebemos um comportamento simétrico da variável, com valores oscilando entre 60 Kg e 82 Kg. A mediana dos valores é inferior a 70 Kg.
O QQ-plot, junto com a banda de confiança, indica que os quantis amostrais não se distanciam muitos dos quantis de uma distribuição normal, indicando que parece razoável assumir normalidade dos dados.
Com base em um nível de significância de 1%, não rejeitamos \(H_0\), indicando normalidade dos dados, conforme indicava o QQ-plot.
A estimativa pontual nos mostra que a variância do peso é de 23,58 Kg\(^2\) e a região de 14,38 Kg\(^2\) a 45,64 Kg\(^2\) possui alta probabilidade de conter o verdadeiro valor da variância do peso. A função utilizada
VarCIpertence ao pacoteDescTools, seus principais argumentos são o vetor da amostra (x), o método (use o classic), e o nível de confiança (conf.level). Comparem com a estimativa intervalar fornecida quando realizamos o teste de hipóteses.Com base em um nível de significância de 1%, não rejeitamos \(H_0\), indicando que não possuímos evidências suficiente para acreditar que a variância da altura seja diferente de 20 Kg\(^2\).
Atividade 1: Teste se a variância do comprimento da cintura é inferior a 6 cm\(^2\). Use um nível de significância de 1%.
Atividade 2: Teste se a variância da idade é superior a 300 anos\(^2\). Use um nível de significância de 5%.
Atividade 3: Crie uma função que calcula o p-valor para o teste de hipóteses da variância de uma distribuição normal. Quais os argumentos a sua função precisa. Retorne uma estimativa pontual, uma intervalar e o p-valor.
2 - Teste de hipóteses para a proporção
Vamos discutir o problema de se testar uma afirmação sobre uma proporção populacional.
Suponha que estamos em um período eleitoral e o candidato A afirma que sua intenção de votos no 1o turno é superior a 30%. Como verificar essa afirmação?
Estamos discutindo regras de decisões que nos permitem checar afirmações sobre parâmetros, conhecidos como testes de hipóteses.
Sabemos que cada teste de hipóteses possui suas especificações, incluindo suas estatísticas de teste e pressupoições.
No problema levantado queremos testar as seguintes hipóteses:
\(H_0\): a proporção de intenção de votos do candidato A no 1o turno é igual a 0,3 (\(p = 0,3\)),
\(H_1\): a proporção de intenção de votos do candidato A no 1o turno é superior a 0,3 (\(p > 0,3\)).
Para verificar a afirmação, foram entrevistados 450 eleitores da cidade A. Para executarmos o teste acima, usaremos a função prop.test do pacote stats.
A seguir, vamos apresentar os principais argumentos da função prop.test:
- x - o número de sucessos observados na amostra;
- n - o tamanho da amostra;
- alternative - argumento que define se o teste é bilateral ou unilateral a esquerda e a direita (default = bilateral - two.sided),
- correct - argumento que define se será aplicada a correção de continuidade na estatística de teste (default = TRUE).
#Carregando pacote
library(tidyverse)
#Importando os dados
base = read_csv2("votos.csv")
#Realizando o teste
prop.test(x = sum(base$votosA_1T),
n = length(base$votosA_1T),
p = 0.3,
alternative = "greater",
correct = FALSE)
1-sample proportions test without continuity correction
data: sum(base$votosA_1T) out of length(base$votosA_1T), null probability 0.3
X-squared = 6.0952, df = 1, p-value = 0.006777
alternative hypothesis: true p is greater than 0.3
95 percent confidence interval:
0.3172463 1.0000000
sample estimates:
p
0.3533333
A saída do teste contém várias informações: o valor da estatística do teste \(X\)-squared, o número de graus de liberdade da estatística de teste \(df\) e o p-valor associado as hipóteses especificadas. Ele deixa explícito qual a hipótese alternativa “true p is greater than 0.3” que significa “a verdadeira proporção é maior que 0.3”. Fornece também um intervalo de confiança unilateral (que não tem muita utilização, a menos que fosse um teste de hipóteses bilateral, pois seria o IC para o parâmetro) e o valor de uma estimativa pontual.
Notamos que o valor da estimativa pontual é superior a 0,3 (aproximadamente 0,35). Para verificarmos a afirmação feita pelo candidato A no 1o turno, vamos usar um nível de significância de 5%. Com base em um \(\alpha = 0,05\), p-valor é menor do que \(\alpha\), logo rejeitamos \(H_0\), ou seja, existem evidências para acreditar que proporção de eleitores com intenção de voto no candidato A seja superior a 30%, isto é, o candidato está falando a verdade.
O candidato chegou a fazer a afirmação de que se as eleições do 2o turno fossem hoje, ele seria eleito. Vamos checar essa afirmação?!
Para que ele seja eleito no 2o turno, ele precisa ter mais de 50% das intenções de voto, logo as hipóteses que iremos testar são dadas por:
\(H_0\): a proporção de intenção de votos do candidato A no 2o turno é igual a 0,5 (\(p = 0,5\)),
\(H_1\): a proporção de intenção de votos do candidato A no 2o turno é superior a 0,5 (\(p > 0,5\)).
#Realizando o teste
prop.test(x = sum(base$votosA_2T),
n = length(base$votosA_2T),
p = 0.5,
alternative = "greater",
correct = FALSE)
1-sample proportions test without continuity correction
data: sum(base$votosA_2T) out of length(base$votosA_2T), null probability 0.5
X-squared = 2.5689, df = 1, p-value = 0.05449
alternative hypothesis: true p is greater than 0.5
95 percent confidence interval:
0.4990083 1.0000000
sample estimates:
p
0.5377778
Comentários de cada passo da análise:
A estimativa pontual é de 53,78%.
A estimativa pontual nos mostra que a proporção de votos do candidato A é de 53,78%. A função utilizada
prop.testpertence ao pacotestats. Sugere-se que seja feita uma correção de continuidade ao se realizar um teste de uma proporção pelo fato de se aproximar a distribuição Binomial, que é discreta, por uma Normal, que é contínua. O teste usual que vocês aprendem em Estatística II, não considera a correção de continuidade.Com base em um nível de significância de 1%, não rejeitamos \(H_0\), indicando que não possuímos evidências suficiente para acreditar que a proporção de votos no candidato A no 2o turno seja superior a 50%.
Atividade 4: Com base no arquivo Medidas. Teste se a proporção de pessoas com peso superior a 70 Kg é menor do que 40%. Use um nível de significância de 5%.
Atividade 5: Com base no arquivo Medidas. Teste se a proporção de pessoas com altura inferior a 1,70 é diferente de 25%. Use um nível de significância de 5%.
Atividade 6: Crie uma função que calcula o p-valor para o teste de hipóteses da proporção. Quais os argumentos a sua função precisa. Retorne uma estimativa pontual, uma intervalar e o p-valor.