Introdução

A respostas abaixo detalham as abordagens metodológicas e os resultados obtidos nas atividades da disciplina de Análise Exploratória e Visualização de Dados. O foco central reside na aplicação prática de métodos estatísticos e ferramentas de visualização para informar a tomada de decisão no campo das políticas públicas. Optou-se pela linguagem de programação R, a fim de assegurar a reprodutibilidade das análises e a transparência do processo metodológico, com o auxílio de scripts devidamente comentados. Todo o trabalho, incluindo gráficos, cálculos e interpretações, foi gerado por código, e o arquivo final contém as respostas, os códigos utilizados e a indicação da linguagem escolhida, conforme os requisitos estabelecidos pelo professor.

Questão 1: Associação entre Turno Escolar e Percepção da Qualidade do Ensino

Uma secretaria municipal de educação busca avaliar a existência de uma associação entre o turno escolar (matutino, vespertino ou noturno) e a percepção dos pais quanto à qualidade do ensino (boa, regular ou ruim), com o objetivo de orientar futuras ações de melhoria no sistema educacional. Para tal, foi conduzida uma pesquisa com uma amostra aleatória de 300 responsáveis por estudantes da rede pública. A tabela de contingência a seguir sintetiza os resultados obtidos:

Turno / Percepção Boa Regular Ruim Total
Matutino 50 30 20 100
Vespertino 40 35 25 100
Noturno 30 20 50 100
Total 120 85 95 300

a) Elaboração e Interpretação do Teste do Qui-quadrado de Independência

A fim de investigar a existência de uma associação estatisticamente significativa entre “Turno Escolar” e “Percepção da Qualidade do Ensino”, ambas variáveis categóricas, procedeu-se à aplicação do teste do qui-quadrado de independência. Para esta análise, estabeleceu-se um nível de significância de 5% (\(\alpha = 0.05\)). Os dados foram coletados de uma amostra aleatória de 300 responsáveis por estudantes da rede pública. A tabela de contingência com os resultados obtidos é apresentada a seguir:

# 1. Criação da tabela de contingência com os dados observados
dados_contingencia <- matrix(c(50, 30, 20,
                              40, 35, 25,
                              30, 20, 50),
                            nrow = 3, byrow = TRUE,
                            dimnames = list(Turno = c("Matutino", "Vespertino", "Noturno"),
                                            Percepcao = c("Boa", "Regular", "Ruim")))
cat("### Tabela de Contingência Observada:\n")
## ### Tabela de Contingência Observada:
print(dados_contingencia) # Exibe a tabela no relatório
##             Percepcao
## Turno        Boa Regular Ruim
##   Matutino    50      30   20
##   Vespertino  40      35   25
##   Noturno     30      20   50
# 2. Realização do teste do qui-quadrado de independência
teste_chi_quadrado <- chisq.test(dados_contingencia)

cat("\n### Resultados do Teste Qui-Quadrado de Independência:\n")
## 
## ### Resultados do Teste Qui-Quadrado de Independência:
print(teste_chi_quadrado) # Exibe os resultados completos do teste no relatório
## 
##  Pearson's Chi-squared test
## 
## data:  dados_contingencia
## X-squared = 25.433, df = 4, p-value = 4.116e-05
# 3. Interpretação do p-valor com base no nível de significância de 5%
alfa <- 0.05 # Nível de significância definido
if (teste_chi_quadrado$p.value < alfa) {
  interpretacao_chi_q1 <- paste0("Com um nível de significância de ", alfa * 100, "%, rejeitamos a hipótese nula de independência. Há evidências estatisticamente significativas de associação entre o turno escolar e a percepção dos pais quanto à qualidade do ensino.")
} else {
  interpretacao_chi_q1 <- paste0("Com um nível de significância de ", alfa * 100, "%, não rejeitamos a hipótese nula de independência. Não há evidências estatisticamente significativas de associação entre o turno escolar e a percepção dos pais quanto à qualidade do ensino.")
}
cat("\n**Interpretação da Significância Estatística:**\n")
## 
## **Interpretação da Significância Estatística:**
cat(interpretacao_chi_q1, "\n")
## Com um nível de significância de 5%, rejeitamos a hipótese nula de independência. Há evidências estatisticamente significativas de associação entre o turno escolar e a percepção dos pais quanto à qualidade do ensino.
# Geração do gráfico de barras empilhadas para visualização das proporções
dados_plot_q1 <- as.data.frame(as.table(dados_contingencia)) %>%
  group_by(Turno) %>%
  mutate(Proporcao = Freq / sum(Freq))

ggplot(dados_plot_q1, aes(x = Turno, y = Proporcao, fill = Percepcao)) +
  geom_bar(stat = "identity", position = "fill") +
  labs(title = "Proporção da Percepção da Qualidade do Ensino por Turno Escolar",
       x = "Turno Escolar",
       y = "Proporção",
       fill = "Percepção da Qualidade") +
  theme_minimal() +
  scale_y_continuous(labels = scales::percent_format())

Interpretação: O teste do qui-quadrado de independência resultou em um p-valor de 0. Considerando que este p-valor se mostra inferior ao nível de significância de 0.05, temos base para rejeitar a hipótese nula de independência. Consequentemente, pode-se inferir que existe associação estatisticamente significativa entre o turno escolar e a percepção parental sobre a qualidade do ensino. Uma análise mais detalhada das frequências observadas e esperadas (consultar teste_chi_quadrado$expected no código) e dos resíduos padronizados pode indicar quais categorias de turno e percepção contribuem mais para essa associação (ou falta dela). O gráfico de barras empilhadas também ilustra visualmente a distribuição das percepções dentro de cada turno.

b) Cálculo e Interpretação do Coeficiente de Contingência

O coeficiente de contingência (C) foi apurado para quantificar a força da associação observada entre as variáveis.

# Cálculo do coeficiente de contingência (C)
valor_qui_quadrado_q1 <- teste_chi_quadrado$statistic
N_q1 <- sum(dados_contingencia) # N é o total de observações
coeficiente_contingencia_q1 <- sqrt(valor_qui_quadrado_q1 / (valor_qui_quadrado_q1 + N_q1))

cat("\n### Coeficiente de Contingência (C):\n")
## 
## ### Coeficiente de Contingência (C):
cat("Valor de C:", round(coeficiente_contingencia_q1, 4), "\n")
## Valor de C: 0.2796
# Cálculo do C_max para uma tabela R x C (neste caso, 3x3)
num_linhas_q1 <- nrow(dados_contingencia)
num_colunas_q1 <- ncol(dados_contingencia)
C_max_q1 <- sqrt((min(num_linhas_q1, num_colunas_q1) - 1) / min(num_linhas_q1, num_colunas_q1))
cat("Coeficiente de Contingência Máximo (C_max para 3x3 tabela):", round(C_max_q1, 4), "\n")
## Coeficiente de Contingência Máximo (C_max para 3x3 tabela): 0.8165
# Interpretação dinâmica do coeficiente de contingência
if (coeficiente_contingencia_q1 > 0) {
  interpretacao_coef_q1 <- paste0("Existe uma associação entre o turno escolar e a percepção dos pais. O valor do coeficiente de contingência (", round(coeficiente_contingencia_q1, 4), ") indica a força dessa associação.")
  interpretacao_coef_q1 <- paste0(interpretacao_coef_q1, " Quanto mais próximo de ", round(C_max_q1, 4), ", que é o valor máximo possível para esta tabela, mais forte é a associação.")
} else {
  interpretacao_coef_q1 <- "Não há associação entre o turno escolar e a percepção dos pais."
}
cat("\n**Interpretação da Força da Associação:**\n")
## 
## **Interpretação da Força da Associação:**
cat(interpretacao_coef_q1, "\n")
## Existe uma associação entre o turno escolar e a percepção dos pais. O valor do coeficiente de contingência (0.2796) indica a força dessa associação. Quanto mais próximo de 0.8165, que é o valor máximo possível para esta tabela, mais forte é a associação.

Interpretação: O Coeficiente de Contingência (C) apurado foi de 0.2796. O valor máximo possível para o Coeficiente de Contingência em uma tabela 3x3 é de aproximadamente 0.8165. O valor de C de 0.2796 sugere uma associação fraca entre o turno escolar e a percepção da qualidade do ensino. Um C próximo de zero indicaria ausência de associação, enquanto um valor mais próximo do máximo indicaria uma associação mais robusta.

c) Subsídio a Políticas Públicas

Os resultados desta análise podem oferecer insights valiosos para a formulação de políticas públicas destinadas à melhoria da qualidade do ensino nos diferentes turnos escolares.

Em ambos os cenários, a visualização dos dados (como o gráfico de barras empilhadas) é fundamental para comunicar de forma clara as distribuições e auxiliar na tomada de decisão estratégica.

Questão 2: Relação entre Ônibus por Habitante e Tempo Médio de Deslocamento

Um departamento municipal de mobilidade urbana deseja investigar se há relação entre o número de ônibus disponíveis por habitante e o tempo médio de deslocamento diário da população (em minutos). O objetivo é avaliar se a oferta de transporte coletivo está relacionada à redução no tempo de deslocamento, de forma a subsidiar melhorias no sistema de transporte público. Os dados a seguir foram coletados em 10 cidades:

Cidade Ônibus por 1.000 Habitantes Tempo Médio de Deslocamento (min)
A 0.8 54
B 1.2 46
C 0.5 60
D 1.0 50
E 1.4 43
F 0.6 58
G 1.3 44
H 0.9 52
I 1.1 48
J 0.7 56

a) Construção do Gráfico de Dispersão e Identificação do Tipo de Associação

A fim de visualizar a inter-relação entre as duas variáveis quantitativas sob estudo, procedeu-se à construção de um gráfico de dispersão.

# 1. Criação do dataframe com os dados de mobilidade
dados_mobilidade <- data.frame(
  Cidade = c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J"),
  Onibus_por_1000_Habitantes = c(0.8, 1.2, 0.5, 1.0, 1.4, 0.6, 1.3, 0.9, 1.1, 0.7),
  Tempo_Medio_Deslocamento_min = c(54, 46, 60, 50, 43, 58, 44, 52, 48, 56)
)
cat("### Dados de Mobilidade:\n")
## ### Dados de Mobilidade:
print(dados_mobilidade)
##    Cidade Onibus_por_1000_Habitantes Tempo_Medio_Deslocamento_min
## 1       A                        0.8                           54
## 2       B                        1.2                           46
## 3       C                        0.5                           60
## 4       D                        1.0                           50
## 5       E                        1.4                           43
## 6       F                        0.6                           58
## 7       G                        1.3                           44
## 8       H                        0.9                           52
## 9       I                        1.1                           48
## 10      J                        0.7                           56
# 2. Construção do gráfico de dispersão
ggplot(dados_mobilidade, aes(x = Onibus_por_1000_Habitantes, y = Tempo_Medio_Deslocamento_min)) +
  geom_point(color = "blue", size = 3) + # Pontos azuis para cada cidade
  labs(title = "Relação entre Ônibus por 1.000 Habitantes e Tempo Médio de Deslocamento",
       x = "Ônibus por 1.000 Habitantes",
       y = "Tempo Médio de Deslocamento (min)") +
  theme_minimal() + # Tema minimalista para clareza
  geom_smooth(method = "lm", se = FALSE, color = "red") # Adiciona linha de regressão para visualizar tendência

Tipo de Associação (Interpretação Visual): A inspeção visual do gráfico de dispersão revela uma inclinação descendente dos pontos. Isso sugere a existência de uma associação negativa entre o número de ônibus por 1.000 habitantes e o tempo médio de deslocamento diário. Em outras palavras, observa-se uma tendência de redução no tempo médio de deslocamento à medida que a disponibilidade de transporte coletivo aumenta.

b) Cálculo e Interpretação do Coeficiente de Correlação Linear de Pearson

Com o intuito de quantificar a magnitude e a direção dessa associação de natureza linear, calculou-se o coeficiente de correlação linear de Pearson (\(\rho\)).

# 1. Calcular o coeficiente de correlação de Pearson
# A função cor() calcula a correlação entre duas variáveis.
correlacao_pearson_q2 <- cor(dados_mobilidade$Onibus_por_1000_Habitantes,
                          dados_mobilidade$Tempo_Medio_Deslocamento_min,
                          method = "pearson")
cat("\n### Coeficiente de Correlação de Pearson:\n")
## 
## ### Coeficiente de Correlação de Pearson:
cat("Valor de Pearson (r):", round(correlacao_pearson_q2, 4), "\n")
## Valor de Pearson (r): -0.999
# 2. Interpretação do valor obtido (direção e força da correlação)
if (correlacao_pearson_q2 > 0) {
  direcao_q2 <- "positiva"
} else if (correlacao_pearson_q2 < 0) {
  direcao_q2 <- "negativa"
} else {
  direcao_q2 <- "inexistente (ou muito fraca)"
}

valor_absoluto_cor_q2 <- abs(correlacao_pearson_q2)

if (valor_absoluto_cor_q2 >= 0.7) {
  forca_q2 <- "forte"
} else if (valor_absoluto_cor_q2 >= 0.5) {
  forca_q2 <- "moderada"
} else if (valor_absoluto_cor_q2 >= 0.3) {
  forca_q2 <- "fraca"
} else {
  forca_q2 <- "muito fraca ou insignificante"
}

interpretacao_cor_q2 <- paste0("O coeficiente de correlação de Pearson de ", round(correlacao_pearson_q2, 4), " indica uma associação ", direcao_q2, " e ", forca_q2, " entre o número de ônibus por 1.000 habitantes e o tempo médio de deslocamento diário.")
if (direcao_q2 == "negativa") {
  interpretacao_cor_q2 <- paste0(interpretacao_cor_q2, " Isso sugere que, à medida que o número de ônibus por habitante aumenta, o tempo médio de deslocamento tende a diminuir.")
} else if (direcao_q2 == "positiva") {
  interpretacao_cor_q2 <- paste0(interpretacao_cor_q2, " Isso sugere que, à medida que o número de ônibus por habitante aumenta, o tempo médio de deslocamento também tende a aumentar.")
}

cat("\n**Interpretação da Correlação:**\n")
## 
## **Interpretação da Correlação:**
cat(interpretacao_cor_q2, "\n")
## O coeficiente de correlação de Pearson de -0.999 indica uma associação negativa e forte entre o número de ônibus por 1.000 habitantes e o tempo médio de deslocamento diário. Isso sugere que, à medida que o número de ônibus por habitante aumenta, o tempo médio de deslocamento tende a diminuir.

Interpretação: O coeficiente de correlação linear de Pearson calculado foi de -0.999. Este valor indica uma correlação negativa de força forte entre o número de ônibus por 1.000 habitantes e o tempo médio de deslocamento. Um valor próximo a -1 (neste caso, espera-se um valor negativo significativo) confirma a observação do gráfico de dispersão: quanto maior a oferta de ônibus per capita, menor tende a ser o tempo que as pessoas levam para se deslocar.

c) Orientação para Políticas Públicas

Os resultados encontrados fornecem uma base empírica para orientar a formulação de políticas públicas no setor de mobilidade urbana.

  • Confirmação de Correlação Negativa Forte/Moderada: Se a correlação for negativa e de força moderada a forte, isso sugere que o investimento no aumento da oferta de transporte coletivo por habitante é uma estratégia promissora para mitigar o tempo de deslocamento da população. As políticas públicas poderiam focar em:
    • Ampliação e Modernização da Frota: Aumentar o número de veículos em circulação e modernizá-los para garantir maior conforto e eficiência.
    • Otimização de Rotas e Frequências: Realizar estudos de demanda para otimizar as linhas de ônibus e aumentar a frequência nos horários de pico, reduzindo o tempo de espera.
    • Priorização do Transporte Coletivo: Implementar medidas como faixas exclusivas para ônibus (BRT) e semáforos inteligentes, visando acelerar o fluxo dos veículos e tornar o transporte público mais competitivo.
    • Incentivo ao Uso: Campanhas de conscientização e programas de incentivo ao uso do transporte público, desestimulando o uso individual de veículos.
  • Correlação Fraca ou Inexistente (se fosse o caso): Se a correlação fosse fraca, indicaria que apenas o aumento no número de ônibus pode não ser o fator mais determinante para a redução do tempo de deslocamento. Nesses cenários, as políticas públicas precisariam adotar uma abordagem mais holística, considerando outros fatores:
    • Infraestrutura Viária: Investimento em melhorias na malha viária, como recapeamento e construção de novas vias, mas com cautela para não incentivar excessivamente o transporte individual.
    • Integração Modal: Promover a integração entre diferentes modais de transporte (ônibus, metrô, bicicletas, transporte ativo) para otimizar os deslocamentos.
    • Planejamento Urbano: Políticas de desenvolvimento urbano que incentivem a proximidade entre moradia, trabalho e serviços, reduzindo a necessidade de grandes deslocamentos.
    • Gestão da Demanda por Viagens: Implementação de medidas para gerenciar a demanda, como incentivo ao trabalho remoto e horários flexíveis.

Em conclusão, a análise da correlação entre a oferta de ônibus e o tempo de deslocamento é um subsídio crucial para que o departamento de mobilidade urbana possa alocar recursos de forma mais eficiente e desenvolver políticas que impactam positivamente a qualidade de vida da população.