ENEM — parte 3: Modelo de regressão para entender a influência de fatores sócio-econômicos na nota

Leonardo Sales
datacoffee
Published in
7 min readMay 11, 2024

Uma maneira mais eficaz de compreender o impacto das diversas variáveis na nota final é a partir de um modelo de Regressão Múltipla. Isso porque o processo matemático por trás da otimização do modelo consiste exatamente na busca por quantificar o efeito de cada uma, estando todas as demais constantes.

Vamos explorar a possibilidade de um modelo de regressão multivariada para prever a nota final média do aluno, utilizando as seguintes variáveis como preditores:

  • Raça
  • Gênero
  • Região do país
  • Faixa etária
  • Índice de condição prévia (ICP): Renda
  • Índice de condição prévia (ICP): Formação dos pais
  • Índice de condição prévia (ICP): Acesso a tecnologias na residência
  • Tipo de dependência administrativa da escola (estadual ou municipal, federal, privada)
  • Localização da escola (rural ou urbana)
  • Situação de funcionamento da escola
  • Tipo de ensino

Obs: Na parte 1 deste estudo, vimos como os índices ICP foram construídos. Eles têm valores entre 1 a 5 (sendo 5 o mais favorável à condição prévia do aluno!).

Preparação dos dados

Originalmente nossa tabela de dados, oriunda da base de mircodados do ENEM e de algumas transformações feitas na parte 1 deste estudo, está assim:

Ela possui os registros de 718.751 alunos. Este é o quantitativo, dentre os mais de 2 milhões que realizaram o ENEM 2022, de registros para os quais todas as variáveis estão preenchidas.

Para o funcionamento dos algoritmos de predição é necessário transformar as variáveis categóricas de texto (região, raça) em numéricas. As variáveis categóricas que só admitem 2 categorias (gênero, por exemplo) foram transformadas em variáveis binárias. A nova tabela ficou assim:

Tabela de treinamento do modelo, com variáveis ajustadas

Veja que algumas colunas têm o prefixo OHE, abreviatura para One Hot Encoding. É o processo onde pegamos uma variável categórica e desmembramos em várias variáveis binárias. Por exemplo, a variável região, que admitia as categorias Norte, Nordeste, Sul, Sudeste e Centro-Oeste, foi transformada em 5 variáveis binárias, uma para cada região.

Modelagem

Vamos utilizar um modelo bem simples de árvore de decisão. Uma boa vantagem desse modelo é sua explicabilidade, e possibilidade de apresentação visual. Outra vantagem é que não possui pressupostos rigorosos, dificilmente cumpríveis no mundo real. Um artigo que publiquei recentemente explica a lógica desse tipo de modelo.

-> Divisão da base em treino e teste + processo de validação cruzada

Dividimos nossa tabela, num processo aleatório, em 2 conjuntos de dados, um para treino do modelo (80%) e outro para teste (20%). A ideia é que a base de teste não seja "conhecida" pelo processo de modelagem, para que possa refletir o desempenho preditivo do modelo diante de novos dados.

Os dados de treinamento, então, são os utilizados para a modelagem, que é realizada por meio de um processo chamado validação cruzada (ou cross validation). Este processo consiste numa nova divisão da base de treino em N partes, em que, recursivamente um modelo é construído usando N-1 delas e validado na classe restante. A ideia desse processo é incluir subetapas de testes na modelagem, para que o modelo final seja o mais generalizável possível.

No nosso caso, o processo de cross validation foi feito com 5 partes, ou 5 ciclos de validação.

-> Hiperparametrização da árvore

A chamada hiperparametrização é a definição de características inerentes ao modelo escolhido. No nosso caso, uma árvore de decisão, onde dois dos fatores mais importantes são a profundidade máxima desejada e o critério de mensuração da acurácia da predição.

Aqui, quero uma árvore que seja simples, para que seja de fácil visualização. Então parametrizei a profundidade máxima de 3 camadas de decisão. Uma vantagem de uma árvore mais simples é que o desempenho preditivo tende a ser melhor para dados novos.

Quanto ao hiperparâmetro de medida de desempenho preditivo do modelo, utilizei o MSE, ou média do quadrado dos erros, que basicamente é a média do quadrado das diferenças entre os valores previstos e os reais.

Resultados

Nossa árvore de decisão ficou razoável, considerando que optei por um modelo bem simples.

Primeiramente, a média dos erros (valor previsto menos valor real, em valor absoluto) foi de 68,95 pontos. Significa que o modelo prevê, em média dentro de uma faixa de 69 pontos para mais ou para menos em relação à nota média real. Vale lembrar que as médias variam de 200 a 800 em quase sua totalidade.

Em termos percentuais, esse erro médio foi de 16,31%.

O gráfico abaixo apresenta a comparação entre valores previstos e reais, para cada faixa de nota.

Previsão do modelo versus nota real, por faixa de nota

A curva vermelha representa as médias reais, agrupadas em 100 grupos de notas ordenadas da menor para a maior. A linha azul foi a média prevista para cada um desses 100 grupos, a partir dos 14 indicadores utilizados.

Perceba que nosso modelo foi atraído pelos valores de nota entre algo próximo de 500 e 600 e poucos. Isso pode ter ocorrido porque grande parte das notas fica nesse intervalo, e os casos de notas abaixo de 400 ou maiores que 700 são relativamente poucos. O fato de termos optado por um modelo muito simples também contribui para dificultar a aderência do modelo aos casos mais raros.

Vale pontuar que o erro do modelo para notas dos extremos foi bem menor para as notas altas do que para as muito baixas. Isso pode indicar que as variáveis preditoras utilizadas explicam melhor as notas maiores do que as menores, ou que um grupo é mais homogêneo que outro. Uma hipótese é que no grupo das notas muito baixas, a variabilidade de candidatos, segundo as características utilizadas, é maior.

-> A árvore de decisão

A árvore gerada pelo nosso modelo foi esta:

Árvore de Decisão — Modelo com 3 camadas de decisão

Vamos interpretá-la. Primeiramente, de maneira geral, pode-se dizer que ela representa uma sequência de perguntas, que direcionarão a previsão do modelo a depender de sua resposta. Vejamos o primeiro nó:

Nó raiz

O primeiro nó indica que essa variável (Tipo de dependência da escola) foi considerada pelo modelo como a mais relevante para a definição da nota. O tipo de dependência administrativa da escola diz se ela é Municipal ou Estadual (código 1), Federal (2) ou Privada (3). A "pergunta" que está no nó é "A escola é Municipal ou Estadual?". Estão informados nesse nó também o número total de elementos na base de treino e a média de nota geral. O erro quadrado pode ser entendido aqui como uma medida de variância dos valores em relação à média. O objetivo do modelo é justamente fazer as melhores divisões de forma a reduzir o erro quadrado.

A partir dessa primeira resposta, a árvore segue para a segunda camada de decisão:

Perceba que, da primeira decisão, se a escola for municipal ou estadual, o valor da média do recorte restante é bem menor do que no caminho da negativa à primeira pergunta (escolas federais e privadas). O grupo inicial de 575000 alunos foi separado em 369524 à direita e 205476 à esquerda. Perceba que, com a primeira divisão, o erro quadrático também já reduziu, indicando que temos grupos mais homogêneos que antes.

A pergunta seguinte, então, para ambos os caminhos, foi sobre a nota do componente ICP_01 (Índice de Condição Prévia, componente 01 ). No caso da esquerda, se foi menor ou igual a 1,5. À direita, se foi menor ou igual a 2,5. Lembro que este indicador (conforme explicado acima) indica o nível de renda familiar e varia de 1 a 5.

A última camada de decisão da árvore diz respeito aos outros componentes do ICP, que tratam da formação dos pais e do acesso a tecnologias na residência. A partir das decisões seguintes se chega à previsão de nota.

Última camada de decisão

Perceba que na última linha estão as chamadas "folhas", que representam o recorte final, a decisão tomada. Um novo registro será direcionado a uma delas a depender do valor das variáveis das camadas de decisão, e a ele será atribuída a nota média desse recorte dos dados. Veja que nossa árvore atribui predições que vão de 458,33 a 630,85.

> Interpretando a importância das variáveis para a predição

A árvore privilegia as variáveis que melhor separam os grupos (criando novos agrupamentos mais homogêneos), sendo o ganho de homogeneidade o parâmetro para a definição da ordem das perguntas (ou decisões).

A célula mais à direita da última linha da árvore indica a maior nota. Este recorte reúne alunos de escolas privadas ou federais, com renda familiar acima da média e pais com formação dentre as 20% mais completas (comparados aos demais).

A célula mais à esquerda apresenta o recorte de menor nota média. Deriva de alunos de escolas públicas municipais ou estaduais, renda familiar no nível mais baixo, e pais sem formação ou com formação muito precária.

Pode-se dizer, portanto, que esses 3 elementos — ter estudado em escola privada ou federal, renda familiar e formação dos pais — foram os mais relevantes para definir a nota.

Isso, claro, dentre as variáveis consideradas no modelo e disponíveis no questionário do ENEM.

Código

O código utilizado, em python, está disponível aqui.

--

--

Leonardo Sales
datacoffee

Egresso das humanas, mestre em economia do setor público, apaixonado por dados, python e música, intrigado com política.