Problem set

In this problem set you will summarize the paper “Imperfect Public Monitoring with Costly Punishment: An Experimental Study” (Ambrus and Greiner, AER 2012) and recreate some of its findings.

1 Big Picture

[Q1] What is the main question asked in this paper?

[Q2] Summarize the experiment design.

[Q3] Summarize the main results of the experiment.

[Q4] Why are these results valuable? What have we learned? Motivate your discussion with a real-world example. In particular discuss the tradeoffs to transparency in groups and how these tradeoffs might be navigated in a firm, or more broadly, a society.

[Q5] If punishment is ineffective under imperfect monitoring, what else can you lean on to ensure people cooperate (at least a little) in a public goods problem?

2 Theory

Payoffs to agent i

$i$

are

πi=(eixi)+αi=1nxi

${\pi }_{i}=\left({e}_{i}-{x}_{i}\right)+\alpha \sum _{i=1}^{n}{x}_{i}$

where ei

${e}_{i}$

is the agent’s endowment, xi

${x}_{i}$

is her contribution to the public good, α

$\alpha$

is the marginal per capita return, and n

$n$

is the group size.

[Q6] Explain α

$\alpha$

and why in public goods game requires 1n<α<1

$\frac{1}{n}<\alpha <1$

.

[Q7] Suppose ei=e=20

${e}_{i}=e=20$

(i.e. everyone has 20), α=0.4

$\alpha =0.4$

and n=4

$n=4$

. Show that xi=0

${x}_{i}=0$

is a symmetric Nash equilibrium, but xi=20

${x}_{i}=20$

is the social optimum. (Recall that in a Nash equilibrium i

$i$

cannot increase her payoff by changing her contribution.) Hint: you can use code to answer this problem by calcuting payoffs to a representative agent and plotting them. You might the curve() function useful.

3 Replication

punnoise = read_csv("../data/punnoise_data.csv")

3.1 Description

Use theme_classic() for all plots.

[Q8] Recreate Table 1 and usekable() to make a publication-quality table (in HTML).

# your code here

3.2 Inference

Consider the linear model

y=α+β1x1+β2x2+ε

$y=\alpha +{\beta }_{1}{x}_{1}+{\beta }_{2}{x}_{2}+\epsilon$

[Q9] Write down the marginal effect of x1

${x}_{1}$

(in math).

Now suppose you have a non-linear model

y=F(α+β1x1+β2x2+ε)

$y=F\left(\alpha +{\beta }_{1}{x}_{1}+{\beta }_{2}{x}_{2}+\epsilon \right)$

where F()

$F\left(\cdot \right)$

is a “link function” that compresses the inputs so that the output y^[0,1]

$\stackrel{^}{y}\in \left[0,1\right]$

.

[Q10] Write down the marginal effect of x1

${x}_{1}$

. How does this compare to the marginal effect in the linear model?

[Q11] A probit model uses the Normal CDF Φ

$\Phi$

as the link function, where Φ=ϕ

${\Phi }^{\prime }=\varphi$

is the Normal PDF. Use glm() to estimate Model 1 in Table 2. Assign the model to the object m1. Cluster the standard errors at the group level.

# your code here

[Q12] Interpret the coefficients. (For more on the probit model, see the appendix.)

3.2.1 Average marginal effects

[Q13] Table 2 reports the average marginal effects (AMEs) of the variables on P(contribute)

$P\left(\text{contribute}\right)$

. Calculate the AME to the variable round as follows:

1. Use predict()to create an object predictions that contains the predicted z-scores. (i.e. Xβ^
$\stackrel{^}{X\beta }$

. Hint: use the option type="link" in predict().)

# your code here
1. Use dnorm() to calculate the probabilities of the predicted z-scores and store the output in an object called index.
# your code here
1. Now calculate the marginal effects by multiplying the predicted probabilities times the estimated coefficient for round and store the output in dydxround.
# your code here
1. Use mean() to calculate the AME.
# your code here

[Q14] Verify your calculations with margins(), the plot the AMEs. (Note: these will not be exactly the same as those in the paper, since the paper uses an outdated method in Stata.

# your code here
# your code here

[Q15] Interpret the AMEs.