simcaq_statistics
Este repositório contém scripts e análises referentes ao banco do Simcaq.
Objetivo
Encontrar uma forma de encontrar colunas que se completam em um banco de dados, mesmo que as colunas sejam de tipos diferentes e possuam nulos.
Tentativas até então
-
Somar colunas binarias de presença de dados
-
Teste de Kolmogorov-smirnov
Hipotese nula: Para todas as amostras retiradas de colunas diferentes, elas pertencem ao mesmo dado.
Links
- https://www.kaggle.com/code/gadaadhaarigeek/k-s-test
- https://medium.com/@ricardojaviermartnezsustegui/kolmog%C3%B3rov-smirnov-test-in-python-step-by-step-1b7532021bd2
- https://stats.stackexchange.com/questions/354035/how-to-compare-the-data-distribution-of-2-datasets
- https://stats.stackexchange.com/questions/83163/statistical-test-to-tell-whether-two-samples-are-pulled-from-the-same-population
- !!!https://www.quora.com/What-are-some-statistical-tests-that-can-be-used-to-compare-two-sets-of-sample-data-without-assuming-that-they-come-from-the-same-population-hypothesis-testing
Fonte dos microdados do governo
https://www.gov.br/inep/pt-br/acesso-a-informacao/dados-abertos/microdados/
R - MonetDB
É possível utilizar o JDBC driver para realizar consultas do MonetDB de dentro do R.
Para isso primeiro baixe dentro o R o pacote JDBC
install.packages("RJDBC")
Em seguida, faça o download do driver do Monetdb
# Driver location
mkdir /driver
cd /driver
# Get driver
wget https://www.monetdb.org/downloads/Java/monetdb-jdbc-3.3.jre8.jar
Finalmente, utilizando o exemplo a seguir, realize abra uma conexão, faça as consultas e fexe a conexão.
library(RJDBC)
# Path to the MonetDB JDBC driver .jar file
jdbc_driver_path <- "/drivers/monetdb-jdbc-3.3.jre8.jar"
# Load the MonetDB JDBC driver
drv <- JDBC("org.monetdb.jdbc.MonetDriver", jdbc_driver_path)
# Connection details
url <- "jdbc:monetdb://localhost:50000/simcaq"
user <- "monetdb"
password <- "monetdb"
# Establish a connection
conn <- dbConnect(drv, url, user, password)
# Example query
group1 <- unlist(dbGetQuery(conn, "SELECT num_salas FROM escola WHERE ano_censo = 2010 LIMIT 1000"))
group2 <- unlist(dbGetQuery(conn, "SELECT num_salas_utilizadas FROM escola WHERE ano_censo = 2010 LIMIT 1000"))
ks.test(group1, group2)
#tb <- table(unlist(group1), unlist(group2))
#fisher.test(tb)
dbDisconnect(conn)