Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Explorando a base de dados do "The Price of Prejudice" e reproduzindo o artigo em R

0 votos
31 visitas
perguntada Mai 13 em Economia por Fábio Springer (11 pontos)  

Hedegaard, Morten Størling, and Jean-Robert Tyran. 2018. "The Price of Prejudice." American Economic Journal: Applied Economics, 10 (1): 40-63.

Compartilhe

1 Resposta

0 votos
respondida Mai 13 por Fábio Springer (11 pontos)  
  1. Motivação
    A literatura empírica que trabalha com discriminação em ambientes de trabalho em geral segue o modelo de Bertrand e Mullainathan 2004 que usam currículos fictícios para estimar a existência de práticas discriminatórias na seleção de empregados. No entanto, esse tipo de experimento considera que a produtividade dos funcionários é igual, ou seja, não existe custo de discriminar funcionários.
    Os autores do artigo irão propor um experimento mais robusto e que considera a possibilidade de a produtividade dos trabalhadores variar e, portanto, a existência de um custo de discriminar.
  2. Introdução
    Morten Størling Hedegaard and Jean-Robert Tyran criam um experimento com jovens em idade escolar na Dinamarca. Os jovens, sem saber que fazem parte de um experimento, são convidados para trabalhar preparando cartas para o envio durante duas semanas.
    Na primeira semana cada jovem trabalha sozinhos, na segunda alguns jovens foram selecionados aleatoriamente para trabalhar em duplas. Os jovens selecionados recebiam uma ligação e descobriam que poderiam escolher suas duplas com base nos nomes e na produtividade da primeira semana. Ou seja, era possível escolher seu parceiro de trabalho conhecendo a produtividade e se o nome dele é tipicamente dinamarquês ou mulçumano.
    O indivíduo recebe um valor por cada carta preparada n primeira semana e metade da quantidade preparada pela dupla na segunda semana. Logo, a diferença de produtividade de alguém com nome semelhante e alguém com o nome diferente é o custo de discriminar.
  3. A base de dados
    A base de dados foi construída a partir do experimento e traz informações sobre o tipo de nome de cada agente (mulçumano ou dinamarquês), a produtividade total na primeira semana e na segunda semana, sexo do agente, se a dupla formada é homogênea ou heterogênea, dentre outras variáveis que caracterizam os participantes do experimento.
  4. Análise
    Inicialmente os autores apresentam a imagem abaixo para mostrar que existe variação considerável entre a produção da primeira semana e da segunda semana, sendo que o resultado da segundo semana está apresentado por agente, isso é o total dividido por 2.
    A imagem será apresentada aqui.
    A técnica utilizada para estimar a função de produção de i foi a de regressão padrão OLS com erros robustos para heterocedasticidade. A variável dependente é o total pago para o individuo i na segunda semana e as variáveis explicativas são a produtividade do individuo i e j na primeira semana, uma variável de interseção se o individuo estiver sozinho na segunda semana e um vetor de variáveis de características do individuo i.
    \(ln(Y_{ij}^i)= \beta_0 + \beta_1 lnx_i + B_2lnx_{j\neq i} + \beta_3 lnx_i Alone + \gamma X + \epsilon_i\)
    Em seguida foi estimado o preço (ou custo) de discriminar como a diferença da produção estimada se o individuo com poder de decidir a dupla escolheu alguém com o nome semelhante ou com o nome diferente.
    \(Price_i = p(\hat{Y_i^i}, other - \hat{Y_i^i}, same) > 0 \; \forall i\)
    Por fim estimaram a demanda por discriminar como a probabilidade de discriminar se igual a um dado o custo de discriminar. Na pratica a demanda foi estimada como um modelo probit.
    \(Pr(Discr_i = 1|Price_i)\)
  5. Resultados
    A tabela a seguir é igual a table2 do artigo e representa as estimações da função de produção:
    A imagem será apresentada aqui.
    Como a primeira especificação foi a única com todas as variáveis significativas o autor fez uso da mesma para estimar o preço de discriminar conforme descrito no tópico 4. Os resultados encontrados foram que preço \(\in (0.75, 21.39), \; \sigma=4.7 \; , \mu = 6.70\).
    Por fim a tabela a seguir representa o resultado da regressãp Probit mais simples utilizada no paper para estimar a demanda por discriminar.
    A imagem será apresentada aqui.

  6. Conclusão do artigo
    Os autores concluem que existe uma tendência a discriminar pelo nome, no entanto as pessoas reagem ao preço de discriminar. Mesmo assim o efeito do preço sobre a demanda é inelástico e uma variação de 10% do preço reduz em 9% a demanda por discriminar.

  7. código para reprodução em R

library(haven) #permite importar dados .dta
library(tidyverse) # manipulação de dados
library(sandwich) # Robust Covariance Matrix Estimators
library(lmtest) # Testing Linear Regression Models
library(stargazer) # beautiful LATEX, HTML and ASCII tables from R statistical output

importar a base de dados

PriceofPrejudice <- readdta("PriceofPrejudiceStata_data.dta")

Retirar nomes não Dinarmarqueses ou mulcumanos

PriceofPrejudice <- Price_of_Prejudice %>% filter(PriceofPrejudice$ethnicity !=3)

Retira outros da analise

PriceofPrejudice$productivity <- ifelse(PriceofPrejudice$couple == 4, 0 , PriceofPrejudice$productivity)

Criar dummy para Muslim team

PriceofPrejudice<- Price_of_Prejudice %>%
mutate(muslimteam = ifelse(ethnicity == 2 & couple == 1, 1,0))

Criar dummy para Danish team

PriceofPrejudice<- Price_of_Prejudice %>%
mutate(danishteam = ifelse(ethnicity == 1 & couple == 1, 1,0))

Criar dummy para alone

PriceofPrejudice<- Price_of_Prejudice %>%
mutate(alone = if_else(couple == 3, 1,0))

Criar dummy para danish name

PriceofPrejudice<- Price_of_Prejudice %>%
mutate(danishsounding = ifelse(ethnicity == 1, 1,0))

Criar dummy para muslim name

PriceofPrejudice<- Price_of_Prejudice %>%
mutate(muslimsounding = ifelse(ethnicity == 2, 1,0))

Criar dummy decision making

PriceofPrejudice<- Price_of_Prejudice %>%
mutate(decisionmaker = ifelse(type == 1 & couple != 3, 1,0))

Criar variavel de partner temporario

PriceofPrejudice<- Price_of_Prejudice %>%
mutate(lnprodpartnertemp= ifelse(alone == 0, log(prodpartner),0))

interação decision maker e time heterogeneo

PriceofPrejudice<- Price_of_Prejudice %>%
mutate(decisionmakermixed = ifelse(muslimteam == 0 & danish_team == 0 & alone == 0, 1,0))

criar os logs e interações para o modelo

PriceofPrejudice<- Price_of_Prejudice %>%
mutate(lnprod1 = log(prod1), lnprod2 = log(ownprod_2),lnprod1alone = lnprod1*alone)

cria variavel team

PriceofPrejudice <- Price_of_Prejudice %>%
mutate(team = ifelse(danishteam == 1, 2,
ifelse(muslimteam == 1, 3,
if_else(alone == 1, 4, 1))))

gera varaivel team2 para figura 1

PriceofPrejudice <- Price_of_Prejudice %>%
mutate(team2 = if_else(team == 2 | team == 3, 2,team))

team2 como fator

PriceofPrejudice$team2 <- as.factor(PriceofPrejudice$team2)

plotar imagem 1

ggplot(data = PriceofPrejudice,
aes(prod1,ownprod2)) +
geom
point(aes(shape = team2)) +
labs( x = "Round 1 production", y ="Round 2 production") +
scaleshape(name = "", labels = c("Heterogeneous","Homogeneous","Alone")) +
expand
limits(x = 0, y = 0)

modelos de regressão table2

model1 <- lm(lnprod2 ~ lnprod1 + lnprodpartnertemp + lnprod1alone + male,
data = filter(PriceofPrejudice, productivity != 0))

model2 <- lm(lnprod2 ~ lnprod1 + lnprodpartnertemp + lnprod1alone + male + decisionmaker,
data = filter(Price
of_Prejudice, productivity != 0))

model3 <- lm(lnprod2 ~ lnprod1 + lnprodpartnertemp + lnprod1alone + male + decisionmaker + danishteam + muslimteam ,
data = filter(Price
ofPrejudice, productivity != 0))
model4 <- lm(lnprod2 ~ lnprod1 + lnprodpartnertemp + lnprod1alone + male + decision
maker + danishteam + muslimteam + alone,
data = filter(PriceofPrejudice, productivity != 0))
model5 <- lm(lnprod2 ~ lnprod1 + lnprodpartnertemp + lnprod1alone + male + decisionmaker + danishteam + muslimteam +
alone + decision
maker + decisionmakermixed,
data = filter(PriceofPrejudice, productivity != 0))

desvios padrões robustos

model1r <- coeftest(model1, vcov = vcovHC(model1, "HC1"))
model2
r <- coeftest(model2, vcov = vcovHC(model2, "HC1"))
model3r <- coeftest(model3, vcov = vcovHC(model3, "HC1"))
model4
r <- coeftest(model4, vcov = vcovHC(model4, "HC1"))
model5_r <- coeftest(model5, vcov = vcovHC(model5, "HC1"))

tabela 2

stargazer(model1r, model2r, model3r, model4r, model5_r, type = "text")

HC1 ou HC3 importam?

model1r2 <- coeftest(model1, vcov = vcovHC(model1, "HC3"))
model2
r2 <- coeftest(model2, vcov = vcovHC(model2, "HC3"))

stargazer(model1r, model2r, model1r2, model2r2,type = "text")

Estimando preço

price <-

...