0.1 Aplicou-se um questionário sobre hábitos de estudo a uma amostra aleatória extraída de uma grande turma de estudantes de um curso de Estatística aplicada. A amostra de 25 estudantes relatou que eles gastaram uma média de 110 minutos por semana estudando estatística. Suponha que o desvio padrão seja de 40 minutos.
0.1.1 Dê um intervalo de confiança de 95% para o tempo médio dedicado ao estudo de estatística pelos estudantes dessa turma;
#Dados do problema
med <- 110 # média
n <- 25 # número de mamostas
dev_pad <- 40 # desvio padrão suposto (segundo o enunciado)
#cálcuko do erro esimado
erro_pad <- dev_pad/(n)**.5
z <- qnorm(0.025, lower.tail = F)
erro_estimado <- erro_pad * z
# limites do intervalo
Li <- med - erro_estimado
Ls <- med + erro_estimado
IC <- c(Li, Ls)
cat("Intervalo de confiança: ", IC)## Intervalo de confiança: 94.32029 125.6797
0.1.2 Será verdade que 95% dos estudantes na turma tenham um tempo de estudo situado no intervalo encontrado na parte (a)? Explique sua resposta.
Sim. Conhecendo-se o desvio padrão da população(ou a variância da população) é possível calcular o erro padrão para um determinado tamanho de amostra. Com o erro pdrão e os valores dos quantis da distribuição normal equivalentes ao nível de significância que pretende-se estabelecer um intervalo de confiança para a estatística.
0.2 A sua empresa vende roupas e equipamentos esportivos pela internet. Para planejar as roupas, você coleta dados sobre as características físicas dos seus diferentes tipos de frequeses. No arquivo internet.csv constam valores de pesos (quilogramas) de uma amostra de 24 corredores homens. Suponha que esses corredores possam ser vistos como uma amostra aleatória de todos os seus potenciais clientes do sexo masculino. Suponha, também, que o desvio padrão da população seja conhecido, valendo 4,5 quilogramas. Determine o intervalo de confiança para média com 5% de significância para média e analise o resultado encontrado.
carac <- read.csv('./data_03/internet.csv', header = TRUE, sep =';', dec = ',')
head(carac)## kg
## 1 67.8
## 2 61.9
## 3 63.0
## 4 53.1
## 5 62.3
## 6 59.7
#Dados do problema
med <- mean(carac$kg);med # média## [1] 62.04348
n <- length(carac$kg);n # número de mamostas## [1] 23
dev_pad <- 4.5 # desvio padrão suposto (segundo o enunciado)
#cálcuko do erro esimado
erro_pad <- dev_pad/(n)**.5 ; erro_pad## [1] 0.9383149
z <- qnorm(0.025, lower.tail = F); z## [1] 1.959964
erro_estimado <- erro_pad * z; erro_estimado## [1] 1.839063
# limites do intervalo
Li <- med - erro_estimado
Ls <- med + erro_estimado
IC <- c(Li, Ls)
cat("Intervalo de confiança: ", IC)## Intervalo de confiança: 60.20441 63.88254
Para a média da amostra de 63.04 e o tamanho da amostra de 23 observações, conhecendo o desvio padrão (4.5), é possível calcular o erro padrão. Com o erro padrão (0.94) e o quantil da distribuição normal equivalente a porcentagem do intervalo de confiança, é possivel obter o erro estimado para o intervalo de confiança desejado. O valor inferio do intervalo é de 63.04 - 1.84 = 60.20 e o superior de 63.04 + 1.84 = 63.88.
0.3 Um consultor de marketing observou 50 clientes consecutivos de um determinado supermercado. Uma variável de interesse foi o valor da compra que cada um deles fez. No arquivo supermercados.csv constam os dados (em dólares). Supondo que o desvio padrão seja de U$22,00. Encontre um intervalo de confiança de 95% para o valor médio das compras realizadas por todos os consumidores em condições semelhantes. Analise o resultado encontrado.
smerc <- read.csv('./data_03/supermercados.csv', header = TRUE, sep =';', dec = ',')
head(smerc)## valor
## 1 3.11
## 2 17.00
## 3 20.59
## 4 27.65
## 5 39.16
## 6 50.39
#Dados do problema
med <- mean(smerc$valor);med # média## [1] 34.7022
n <- length(smerc$valor);n # número de mamostas## [1] 50
dev_pad <- 22.0 # desvio padrão suposto (segundo o enunciado)
#cálcuko do erro esimado
erro_pad <- dev_pad/(n)**.5 ; erro_pad## [1] 3.11127
z <- qnorm(0.025, lower.tail = F); z## [1] 1.959964
erro_estimado <- erro_pad * z; erro_estimado## [1] 6.097977
# limites do intervalo
Li <- med - erro_estimado
Ls <- med + erro_estimado
IC <- c(Li, Ls)
cat("Intervalo de confiança: ", IC)## Intervalo de confiança: 28.60422 40.80018
Calculou-se a média da amostra de 34.70 e o tamanho da amostra apresentava 50 observações, conhecendo o desvio padrão (22), calculou-se o erro padrão de 3.11, o erro estimado 6.10. O valor inferio do intervalo é de 34.70 - 6.10 = 28.60 e o superior de 34.70 + 6.10 = 40.80.
0.4 O arquivo pedidos.csv contém dados sobre o número de pedidos processados pelo depósito da “Mullens` Electrics” em uma amostra de 180 dias ao longo dos últimos dois anos.
pedidos <- read.csv('./data_03/pedidos.csv', header = TRUE, sep =';', dec = ',')
head(pedidos)## Dia Número.de.Pedidos
## 1 1 14
## 2 2 26
## 3 3 30
## 4 4 20
## 5 5 32
## 6 6 9
glimpse(pedidos)## Rows: 180
## Columns: 2
## $ Dia <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1~
## $ Número.de.Pedidos <int> 14, 26, 30, 20, 32, 9, 28, 20, 40, 5, 26, 48, 31, 30~
0.4.1 Utilize esses dados do arquivo pedidos.csv para determinar o intervalo de confiança de 90% para o número médio de pedidos processados.
med_a <- mean(pedidos$Número.de.Pedidos); med_a## [1] 27.7
dev_pad_a <- sd(pedidos$Número.de.Pedidos); dev_pad_a## [1] 10.11272
alfa <- 0.1
#cálcuko do erro esimado
erro_pad <- dev_pad_a/(n)**.5 ; erro_pad## [1] 1.430154
z <- qnorm( alfa/2 , lower.tail = F); z## [1] 1.644854
erro_estimado <- erro_pad * z; erro_estimado## [1] 2.352394
# limites do intervalo
Li <- med - erro_estimado
Ls <- med + erro_estimado
IC <- c(Li, Ls)
cat("Intervalo de confiança: ", IC)## Intervalo de confiança: 32.34981 37.05459
0.4.2 Realize um teste de hipótese para média de pedidos, considerando as seguintes informações:
\(\alpha = 0,05\)
\(\mathrm{H}_{0}: \mu = 30\)
\(\mathrm{H}_{1}: \mu \neq 30\)
pedidos$Número.de.Pedidos %>% shapiro.test() %>% pander() # se p < alfa, rejeita-se a normalidade| Test statistic | P value |
|---|---|
| 0.9939 | 0.668 |
med_a <- pedidos$Número.de.Pedidos %>% mean(); med_a## [1] 27.7
dev_pad_a <- pedidos$Número.de.Pedidos %>% sd(); dev_pad_a## [1] 10.11272
n <- pedidos$Número.de.Pedidos %>% length(); n## [1] 180
alfa <- 0.05
mu_0 = 30
z0 <- (med_a - mu_0 )/ (dev_pad_a/n**.5); z0## [1] -3.05138
z_alfa <- qnorm(alfa/2, lower.tail = F); z_alfa## [1] 1.959964
cat("\n-----------------------\n")##
## -----------------------
# validação pelo valor de z0
if( abs(z0) > z_alfa){
cat("O modulo de z0: ",abs(z0) , "é maior que Z de alfa: ", z_alfa , "rejeita-se a hipotese nula para alfa: ", alfa)
} else {
cat("o modulo de z0: ",abs(z0) , "não é maior que Z de alfa: ", z_alfa , "Não é possivel rejeitar a hipotese nula para alfa: ", alfa)
}## O modulo de z0: 3.05138 é maior que Z de alfa: 1.959964 rejeita-se a hipotese nula para alfa: 0.05
# validação pelo valor de P \n")
p_valor <- 2*pnorm(z0); p_valor## [1] 0.002277923
if( p_valor < z_alfa){
cat("o valor de p: ",p_valor , "é menor que alfa: ", alfa , "rejeita-se a hipotese nula\n")
} else {
cat("o valor de p: ",p_valor , "é menor que alfa: ", alfa , "Não é possivel rejeitar a hipotese nula\n")
}## o valor de p: 0.002277923 é menor que alfa: 0.05 rejeita-se a hipotese nula
cat("\n-----------------------\n")##
## -----------------------
Li <- med_a - z_alfa*(dev_pad_a/n**.5)
Ls <- med_a + z_alfa*(dev_pad_a/n**.5)
IC <- c(Li, Ls)
cat("Intervalo de confiança: ", IC)## Intervalo de confiança: 26.22266 29.17734
cat("\n-----------------------\n")##
## -----------------------
cat("Pela biblioteca DescTools")## Pela biblioteca DescTools
ZTest(pedidos$Número.de.Pedidos, mu= mu_0 , alternative = "two.sided", sd_pop = dev_pad_a , conf.level = 1 - alfa)##
## One Sample z-test
##
## data: pedidos$Número.de.Pedidos
## z = -3.0514, Std. Dev. Population = 10.113, p-value = 0.002278
## alternative hypothesis: true mean is not equal to 30
## 95 percent confidence interval:
## 26.22266 29.17734
## sample estimates:
## mean of x
## 27.7
0.4.3 Realize o teste de normalidade de Shapiro e Wilk com 95 de confiança;
pedidos$Número.de.Pedidos %>% shapiro.test() %>% pander() # se p < alfa, rejeita-se a normalidade| Test statistic | P value |
|---|---|
| 0.9939 | 0.668 |
0.4.4 Analise os resultados encontrados no item a, b e c.
No item a foi calculado o intervalo de confiança para \(\alpha = 0,1\) . Tratand0-e de uma amostra maior que 30 (180 observações) é possível usar a média e o desvio padrão da amostra para os cálculos. O intervalo de confiança é a média somada e subtraida de um valor conhecido como erro estimado. o erro estimado é o erro padrão multiplicado pelo quantil de \(\frac{\alpha}{2}\) da distribuição normal.
No item b, o teste z foi utilizado, baseando-se no tamanho da amostra. O teste foi realizado passo a passo e conferido, usando a função ZTest do pacote DescTools. A hipótese nula foi rejeitada. O valor da média é diferente de 30.
O teste de shapiro-wilk com valor de \(P > \alpha\) permite afirmar a normalidade dos dados.
0.5 Uma amostra aleatória de 10 apartamentos de um quarto anunciados no jornal de sua cidade tem os seguintes aluguéis mensais (em dólares):
aluguel <- c(500 ,650, 600, 505, 450, 550, 515, 495, 650, 395)
df_aluga <- data.frame(aluguel)
head(df_aluga)## aluguel
## 1 500
## 2 650
## 3 600
## 4 505
## 5 450
## 6 550
df_aluga$aluguel %>% shapiro.test() %>% pander() # se p < alfa, rejeita-se a normalidade| Test statistic | P value |
|---|---|
| 0.9426 | 0.5821 |
0.5.1 Estarão estes dados fornecendo uma boa razão para nos fazer crer que a média dos preços de alugueis de todos os apartamentos desse tipo é maior do que $500 dólares mensais? Estabeleça as hipóteses para este problema, calcule a estatística t e o seu respectivo valor p, e anuncie a sua conclusão.
t.test(df_aluga$aluguel, mu = 500, alternative = "greater")##
## One Sample t-test
##
## data: df_aluga$aluguel
## t = 1.1841, df = 9, p-value = 0.1334
## alternative hypothesis: true mean is greater than 500
## 95 percent confidence interval:
## 483.0073 Inf
## sample estimates:
## mean of x
## 531
Considerando o valor de \(P =0.1334 > \alpha= 0,05\), não se rejeita h0: não é possível inferir que a média da população seja maior que $500.
0.6 Carregue a base de dados BDVESTIBULAR.csv.
vestib <- read.csv('./data_03/BDVESTIBULAR.csv', header = TRUE, sep =';', dec = ',')
summary(vestib) %>% pander( )| inscric | curso1 | turno1 | curso2 | turno2 |
|---|---|---|---|---|
| Min. : 1.0 | Min. :3.000 | Min. :1.000 | Min. :3.000 | Min. :1.000 |
| 1st Qu.: 439.2 | 1st Qu.:5.000 | 1st Qu.:1.000 | 1st Qu.:3.000 | 1st Qu.:1.000 |
| Median : 844.5 | Median :9.000 | Median :1.000 | Median :5.000 | Median :2.000 |
| Mean : 831.9 | Mean :7.215 | Mean :1.441 | Mean :5.363 | Mean :2.014 |
| 3rd Qu.:1234.2 | 3rd Qu.:9.000 | 3rd Qu.:2.000 | 3rd Qu.:8.000 | 3rd Qu.:3.000 |
| Max. :1626.0 | Max. :9.000 | Max. :3.000 | Max. :9.000 | Max. :3.000 |
| NA | NA | NA | NA’s :104 | NA’s :104 |
| lingua | sexo | idade | ordem | aprovado |
|---|---|---|---|---|
| Min. :0.00 | Min. :0.0000 | Min. :16.00 | Min. : 1.0 | Min. :0.0000 |
| 1st Qu.:0.00 | 1st Qu.:0.0000 | 1st Qu.:18.00 | 1st Qu.: 43.0 | 1st Qu.:0.0000 |
| Median :0.00 | Median :0.0000 | Median :20.00 | Median :138.5 | Median :0.0000 |
| Mean :0.42 | Mean :0.4014 | Mean :22.26 | Mean :188.7 | Mean :0.3167 |
| 3rd Qu.:1.00 | 3rd Qu.:1.0000 | 3rd Qu.:23.00 | 3rd Qu.:295.8 | 3rd Qu.:1.0000 |
| Max. :1.00 | Max. :1.0000 | Max. :99.00 | Max. :586.0 | Max. :1.0000 |
| NA | NA’s :6 | NA | NA | NA |
| nota_por | nota_red | nota_ing | nota_mat |
|---|---|---|---|
| Min. : 0.500 | Min. :2.000 | Min. : 0.250 | Min. : 0.250 |
| 1st Qu.: 3.667 | 1st Qu.:3.000 | 1st Qu.: 2.521 | 1st Qu.: 2.500 |
| Median : 4.833 | Median :4.000 | Median : 3.917 | Median : 3.667 |
| Mean : 5.010 | Mean :3.845 | Mean : 4.339 | Mean : 3.983 |
| 3rd Qu.: 6.250 | 3rd Qu.:5.000 | 3rd Qu.: 5.917 | 3rd Qu.: 5.083 |
| Max. :11.000 | Max. :8.000 | Max. :11.667 | Max. :12.083 |
| NA | NA | NA | NA |
| nota_hum | nota_nat | pontos |
|---|---|---|
| Min. : 1.333 | Min. : 0.250 | Min. :36.31 |
| 1st Qu.: 6.833 | 1st Qu.: 4.167 | 1st Qu.:45.65 |
| Median : 8.917 | Median : 6.000 | Median :50.42 |
| Mean : 8.961 | Mean : 6.402 | Mean :50.76 |
| 3rd Qu.:11.083 | 3rd Qu.: 8.000 | 3rd Qu.:55.38 |
| Max. :17.000 | Max. :17.333 | Max. :72.49 |
| NA | NA | NA |
0.6.1 Construa um diagrama de dispersão para nota em matemática (X) versus pontos (Y). O que é possível concluir?
ggplot(vestib, aes(x=nota_mat, y=pontos, colour = factor(aprovado))) +
geom_point(size=1.5) +
scale_color_manual(labels = c('Reprovado', 'Aprovado'),
values = c("indianred3", "cadetblue")) +
geom_smooth(method='lm', color='goldenrod4') +
labs(title="Diagrama de dispersão", colour = "Aprovação",
subtitle = "Conjunto de dados: BDVESTIBULAR",
x ="Notas na prova de Matemética",
y = "Pontos totais no vestibular",
caption ="Fonte: Autor",
tag = "Figura 01"
) +
theme_minimal() ## `geom_smooth()` using formula 'y ~ x'
Os Dados apresentam uma linearidade visual, com inclinação positiva e intercesão um pouco acima dos 40 pontos no eixo Y. A maior concentração está aproximadamenta até o valor 5.0 da nota de matemática.
0.6.2 Determine um modelo de regressão linear simples, tentando explicar a variável pontos (Y) com base na nota em matemática (X).
lin.model <- lm(pontos ~ nota_mat, data = vestib)
summary(lin.model) %>% pander()| Estimate | Std. Error | t value | Pr(>|t|) | |
|---|---|---|---|---|
| (Intercept) | 42.32 | 0.3287 | 128.7 | 0 |
| nota_mat | 2.12 | 0.07329 | 28.93 | 5.253e-139 |
| Observations | Residual Std. Error | \(R^2\) | Adjusted \(R^2\) |
|---|---|---|---|
| 1162 | 5.153 | 0.4191 | 0.4186 |
0.6.3 Calcule o coeficiente de determinação (R2) e analise o resultado encontrado.
mod_tab <- summary(lin.model)
cat("R2: ", mod_tab$r.squared, "\nR2 ajustado: ", mod_tab$adj.r.squared)## R2: 0.4191375
## R2 ajustado: 0.4186368
O R2 apresentou um valor próximo de 42% indica uma dispresão na faixa dos 58% acima e abaixo da linha gerada pelo modelo de regressão.
0.6.4 Determine o coeficiente de correlação linear entre nota em matemática (X) versus pontos (Y).
pear.cor <- cor(vestib$nota_mat, vestib$pontos)
cat("Coeficiente de correlação linear: ", pear.cor)## Coeficiente de correlação linear: 0.6474083