Regressões Quantílicas

No nosso Curso de Microeconometria usando o R, nosso objetivo é capacitar alunos de graduação e pós-graduação, professores e profissionais de mercado em econometria aplicada a microdados. O curso envolve tanto a apresentação teórica de modelos de regressão, quanto a aplicação no R de diversos exemplos associados a dados de corte transversal, séries de tempo e dados em painel. Espera-se que ao final do Curso o aluno tenha facilidade em desenvolver trabalhos empíricos empregando microdados.

Para ilustrar, vamos considerar hoje uma das aulas do Curso, envolvendo Regressões Quantílicas.

Regressões que utilizam o método de mínimos quadrados modelam a média condicional de uma variável de interesse. Isto é, E(Y|X), o valor esperado de y dado um vetor x. Às vezes, entretanto, podemos estar interessados em outras características da distribuição condicional, como por exemplo a mediana ou, de forma mais geral, os quantis.

O modelo de regressão quantílica pela função quantílica condicional

(1)   \begin{align*} Q_y (\tau|x) = x_{i}^{T} \beta ; \end{align*}

i.e., Q_y (\tau|x) denota o quantil \tau de y condicionado a x. As estimativas são então obtidas minimizando \sum_{i} \varrho_{\tau} (y_i - x_{i}^{T} \beta) com respeito a \beta, onde para \tau \in (0,1), \varrho_{\tau} denota a função linear por partes \varrho_{\tau} = u {\tau - I (u < 0)}, sendo I a função indicativa.

De modo a ilustrar a aplicação da regressão quantílica no R, vamos estimar o seguinte modelo:

(2)   \begin{align*} Q_{log(wage)} (\tau|x) = \beta_1 + \beta_2 experience + \beta_3 experience^2 + \beta_4 education  \end{align*}

Para estimar 2, nós recorremos à função `rq` do pacote `quantreg` e ao dataset **CPS1988**, como abaixo. Por default, `rq` seta \tau = 0.5, isto é, a mediana de y.


library(quantreg)
library(AER)
data('CPS1988')
cps_f <- log(wage) ~ experience + I(experience^2) + education
cps_lad <- rq(cps_f, data = CPS1988)

A seguir, o output da regressão.

Dependent variable:
log(wage)
experience 0.077***
(0.001)
I(experience2) -0.001***
(0.00003)
education 0.094***
(0.001)
Constant 4.241***
(0.022)
Observations 28,155
Note: *p<0.1; **p<0.05; ***p<0.01

A regressão quantílica é particularmente interessante quanto modelamos vários quantis de forma simultânea, como abaixo. Para isso, basta setar o argumento tau da função.


cps_rq <- rq(cps_f, tau = c(0.25, 0.75), data = CPS1988)

Uma questão natural derivada desse tipo de análise é se as linhas ou superfícies de regressão são paralelas; ou seja, se os efeitos dos regressores são uniformes nos quantis. Existe o método `anova()` para explorar esta questão.


cps_rq25 <- rq(cps_f, tau = 0.25, data = CPS1988)
cps_rq75 <- rq(cps_f, tau = 0.75, data = CPS1988)
anova(cps_rq25, cps_rq75, joint = FALSE)

Observamos que o efeito não é uniforme ao longo dos quantis, com as diferenças estando associadas ao coeficiente da **experiência**. Podemos ver essa diferença de modo gráfico com o código a seguir.


cps_rqbig <- rq(cps_f, tau = seq(0.05, 0.95, by = 0.05), data = CPS1988)
cps_rqbigs <- summary(cps_rqbig)
plot(cps_rqbigs)

Com isso, visualizamos a variação dos coeficientes em função de \tau, sendo bastante claro que a influência das covariáveis está longe de ser uniforme. As áreas sombreadas representam intervalos de confiança pontuais de 90% (por padrão) para as estimativas da regressão quantílica. Para comparação, as linhas horizontais sólidas e tracejadas mostradas em cada gráfico representam a estimativa do OLS e um intervalo de confiança de 90% associado.

_________

(*) Cadastre-se aqui na nossa Lista VIP para receber um super desconto na abertura das Turmas 2021.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

O que é e como funcionam Sistemas Multi-Agentes

Sistemas multi-agentes (MAS) representam uma nova forma de estruturar aplicações de inteligência artificial, especialmente úteis para lidar com problemas complexos e distribuídos. Em vez de depender de um único agente generalista, esses sistemas são compostos por múltiplos agentes especializados que colaboram, competem ou se coordenam para executar tarefas específicas. Neste post, explicamos o que são os MAS, seus principais componentes (como LLMs, ferramentas e processos) e as arquiteturas mais comuns.

O que é um Vector Database e como criar um com LangChain

Nesta postagem, mostramos como construir um pipeline simples de RAG (Retrieval-Augmented Generation) usando o LangChain, o modelo Gemini 2.0 Flash e o Vector Database Chroma. Utilizamos como exemplo o Relatório de Inflação de junho de 2025 do Banco Central do Brasil. O fluxo envolve o download e leitura do PDF, divisão do texto com RecursiveCharacterTextSplitter, geração de embeddings com Gemini, armazenamento vetorial com Chroma e busca semântica para responder perguntas com base no conteúdo do relatório. É uma aplicação prática e didática para economistas que desejam integrar IA ao seu fluxo de análise.

Automatizando a Construção de Códigos em Python com LangGraph

Neste post, mostramos como construir um agente de código em Python utilizando LangGraph, LangChain e Gemini. A proposta é construir um protótipo para automatizar o ciclo completo de geração, execução e correção de código com o uso de LLMs, organizando o processo em um grafo de estados.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.