106
Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35

Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Robust and Clustered Standard Errors

Molly Roberts

March 6, 2013

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35

Page 2: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors

Outline

1 An Introduction to Robust and Clustered Standard ErrorsLinear Regression with Non-constant VarianceGLM’s and Non-constant VarianceCluster-Robust Standard Errors

2 Replicating in R

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 2 / 35

Page 3: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors

Outline

1 An Introduction to Robust and Clustered Standard ErrorsLinear Regression with Non-constant VarianceGLM’s and Non-constant VarianceCluster-Robust Standard Errors

2 Replicating in R

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 3 / 35

Page 4: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Review: Errors and Residuals

Errors are the vertical distances between observations and theunknown Conditional Expectation Function. Therefore, they areunknown.

Residuals are the vertical distances between observations and theestimated regression function. Therefore, they are known.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 4 / 35

Page 5: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Review: Errors and Residuals

Errors are the vertical distances between observations and theunknown Conditional Expectation Function. Therefore, they areunknown.

Residuals are the vertical distances between observations and theestimated regression function. Therefore, they are known.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 4 / 35

Page 6: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Review: Errors and Residuals

Errors are the vertical distances between observations and theunknown Conditional Expectation Function. Therefore, they areunknown.

Residuals are the vertical distances between observations and theestimated regression function. Therefore, they are known.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 4 / 35

Page 7: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Notation

Errors represent the difference between the outcome and the truemean.

y = Xβ + uu = y− Xβ

Residuals represent the difference between the outcome and theestimated mean.

y = Xβ + u

u = y− Xβ

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 5 / 35

Page 8: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Notation

Errors represent the difference between the outcome and the truemean.

y = Xβ + uu = y− Xβ

Residuals represent the difference between the outcome and theestimated mean.

y = Xβ + u

u = y− Xβ

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 5 / 35

Page 9: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Notation

Errors represent the difference between the outcome and the truemean.

y = Xβ + uu = y− Xβ

Residuals represent the difference between the outcome and theestimated mean.

y = Xβ + u

u = y− Xβ

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 5 / 35

Page 10: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Notation

Errors represent the difference between the outcome and the truemean.

y = Xβ + uu = y− Xβ

Residuals represent the difference between the outcome and theestimated mean.

y = Xβ + u

u = y− Xβ

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 5 / 35

Page 11: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Notation

Errors represent the difference between the outcome and the truemean.

y = Xβ + uu = y− Xβ

Residuals represent the difference between the outcome and theestimated mean.

y = Xβ + u

u = y− Xβ

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 5 / 35

Page 12: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Variance of β depends on the errors

β =(X′X

)−1 X′y

=(X′X

)−1 X′(Xβ + u)

= β +(X′X

)−1 X′u

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 6 / 35

Page 13: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Variance of β depends on the errors

V [β] = V [β] + V [(X′X

)−1 X′u]

= 0 + V [(X′X

)−1 X′u]

= E [(X′X

)−1 X′uu′X(X′X

)−1]− E [

(X′X

)−1 X′u]E [(X′X

)−1 X′u]′

= E [(X′X

)−1 X′uu′X(X′X

)−1]− 0

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 7 / 35

Page 14: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Variance of β depends on the errors (continued)

V [β] = V [β] + V [(X′X

)−1 X′u]

= 0 + V [(X′X

)−1 X′u]

= E [(X′X

)−1 X′uu′X(X′X

)−1]− E [

(X′X

)−1 X′u]E [(X′X

)−1 X′u]′

= E [(X′X

)−1 X′uu′X(X′X

)−1]− 0

=(X′X

)−1 X′E [uu′]X(X′X

)−1

=(X′X

)−1 X′ΣX(X′X

)−1

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 8 / 35

Page 15: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Constant Error Variance and Dependence

Under standard OLS assumptions,

u ∼ Nn(0,Σ)

Σ = Var(u) = E [uu′] =

σ2 0 0 . . . 00 σ2 0 . . . 0

...0 0 0 . . . σ2

What does this mean graphically for a CEF with one explanatoryvariable?

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 9 / 35

Page 16: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Constant Error Variance and Dependence

Under standard OLS assumptions,

u ∼ Nn(0,Σ)

Σ = Var(u) = E [uu′] =

σ2 0 0 . . . 00 σ2 0 . . . 0

...0 0 0 . . . σ2

What does this mean graphically for a CEF with one explanatoryvariable?

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 9 / 35

Page 17: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Constant Error Variance and Dependence

Under standard OLS assumptions,

u ∼ Nn(0,Σ)

Σ = Var(u) = E [uu′] =

σ2 0 0 . . . 00 σ2 0 . . . 0

...0 0 0 . . . σ2

What does this mean graphically for a CEF with one explanatoryvariable?

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 9 / 35

Page 18: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Constant Error Variance and Dependence

Under standard OLS assumptions,

u ∼ Nn(0,Σ)

Σ = Var(u) = E [uu′] =

σ2 0 0 . . . 00 σ2 0 . . . 0

...0 0 0 . . . σ2

What does this mean graphically for a CEF with one explanatoryvariable?

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 9 / 35

Page 19: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Evidence of Non-constant Error Variance (4 examples)

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

−1.

00.

01.

02.

0

x

y● ●●

● ●

● ●

●●●●

●●

● ●

●●

●●

●●

●●

●●●

● ●

●●

0.0 0.2 0.4 0.6 0.8 1.0

−1.

5−

0.5

0.5

1.5

x

y

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.4

0.8

1.2

x

y

● ●

●●

●●

●●

●●

●●

●●

●●

●●

●●

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

x

y

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 10 / 35

Page 20: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Notation

The constant error variance assumption sometimes calledhomoskedasiticity states that

Var(u) = E [uu′] =

σ2 0 0 . . . 00 σ2 0 . . . 0

...0 0 0 . . . σ2

In this section we will allow violations of this assumption in thefollowing heteroskedastic form.

Var(u) = E [uu′] =

σ2

1 0 0 . . . 00 σ2

2 0 . . . 0...

0 0 0 . . . σ2n

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 11 / 35

Page 21: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Notation

The constant error variance assumption sometimes calledhomoskedasiticity states that

Var(u) = E [uu′] =

σ2 0 0 . . . 00 σ2 0 . . . 0

...0 0 0 . . . σ2

In this section we will allow violations of this assumption in thefollowing heteroskedastic form.

Var(u) = E [uu′] =

σ2

1 0 0 . . . 00 σ2

2 0 . . . 0...

0 0 0 . . . σ2n

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 11 / 35

Page 22: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Notation

The constant error variance assumption sometimes calledhomoskedasiticity states that

Var(u) = E [uu′] =

σ2 0 0 . . . 00 σ2 0 . . . 0

...0 0 0 . . . σ2

In this section we will allow violations of this assumption in thefollowing heteroskedastic form.

Var(u) = E [uu′] =

σ2

1 0 0 . . . 00 σ2

2 0 . . . 0...

0 0 0 . . . σ2n

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 11 / 35

Page 23: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Notation

The constant error variance assumption sometimes calledhomoskedasiticity states that

Var(u) = E [uu′] =

σ2 0 0 . . . 00 σ2 0 . . . 0

...0 0 0 . . . σ2

In this section we will allow violations of this assumption in thefollowing heteroskedastic form.

Var(u) = E [uu′] =

σ2

1 0 0 . . . 00 σ2

2 0 . . . 0...

0 0 0 . . . σ2n

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 11 / 35

Page 24: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Consequences of non-constant error variance

I The σ2 will not be unbiased for σ2.

I For “α” level tests, probability of Type I error will not be α.I “1− α” confidence intervals will not have 1− α coverage

probability.I The LS estimator is no longer BLUE.

However,I The degree of the problem depends on the amount of

heteroskedasticity.I β is still unbiased for β

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 12 / 35

Page 25: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Consequences of non-constant error variance

I The σ2 will not be unbiased for σ2.I For “α” level tests, probability of Type I error will not be α.

I “1− α” confidence intervals will not have 1− α coverageprobability.

I The LS estimator is no longer BLUE.

However,I The degree of the problem depends on the amount of

heteroskedasticity.I β is still unbiased for β

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 12 / 35

Page 26: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Consequences of non-constant error variance

I The σ2 will not be unbiased for σ2.I For “α” level tests, probability of Type I error will not be α.I “1− α” confidence intervals will not have 1− α coverage

probability.

I The LS estimator is no longer BLUE.

However,I The degree of the problem depends on the amount of

heteroskedasticity.I β is still unbiased for β

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 12 / 35

Page 27: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Consequences of non-constant error variance

I The σ2 will not be unbiased for σ2.I For “α” level tests, probability of Type I error will not be α.I “1− α” confidence intervals will not have 1− α coverage

probability.I The LS estimator is no longer BLUE.

However,

I The degree of the problem depends on the amount ofheteroskedasticity.

I β is still unbiased for β

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 12 / 35

Page 28: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Consequences of non-constant error variance

I The σ2 will not be unbiased for σ2.I For “α” level tests, probability of Type I error will not be α.I “1− α” confidence intervals will not have 1− α coverage

probability.I The LS estimator is no longer BLUE.

However,I The degree of the problem depends on the amount of

heteroskedasticity.

I β is still unbiased for β

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 12 / 35

Page 29: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Consequences of non-constant error variance

I The σ2 will not be unbiased for σ2.I For “α” level tests, probability of Type I error will not be α.I “1− α” confidence intervals will not have 1− α coverage

probability.I The LS estimator is no longer BLUE.

However,I The degree of the problem depends on the amount of

heteroskedasticity.I β is still unbiased for β

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 12 / 35

Page 30: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Heteroskedasticity Consistent Estimator

Suppose

V [u] = Σ =

σ2

1 0 0 . . . 00 σ2

2 0 . . . 0...

0 0 0 . . . σ2n

then Var(β) = (X′X)−1 X′ΣX (X′X)−1 and Huber (and then White)showed that

(X′X

)−1 X′

u2

1 0 0 . . . 00 u2

2 0 . . . 0...

0 0 0 . . . u2n

X(X′X

)−1

is a consistent estimator of V [β].

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 13 / 35

Page 31: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Heteroskedasticity Consistent Estimator

Suppose

V [u] = Σ =

σ2

1 0 0 . . . 00 σ2

2 0 . . . 0...

0 0 0 . . . σ2n

then Var(β) = (X′X)−1 X′ΣX (X′X)−1 and Huber (and then White)showed that

(X′X

)−1 X′

u2

1 0 0 . . . 00 u2

2 0 . . . 0...

0 0 0 . . . u2n

X(X′X

)−1

is a consistent estimator of V [β].

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 13 / 35

Page 32: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Heteroskedasticity Consistent Estimator

Suppose

V [u] = Σ =

σ2

1 0 0 . . . 00 σ2

2 0 . . . 0...

0 0 0 . . . σ2n

then Var(β) = (X′X)−1 X′ΣX (X′X)−1 and Huber (and then White)showed that

(X′X

)−1 X′

u2

1 0 0 . . . 00 u2

2 0 . . . 0...

0 0 0 . . . u2n

X(X′X

)−1

is a consistent estimator of V [β].

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 13 / 35

Page 33: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Heteroskedasticity Consistent Estimator

Suppose

V [u] = Σ =

σ2

1 0 0 . . . 00 σ2

2 0 . . . 0...

0 0 0 . . . σ2n

then Var(β) = (X′X)−1 X′ΣX (X′X)−1 and Huber (and then White)showed that

(X′X

)−1 X′

u2

1 0 0 . . . 00 u2

2 0 . . . 0...

0 0 0 . . . u2n

X(X′X

)−1

is a consistent estimator of V [β].

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 13 / 35

Page 34: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Heteroskedasticity Consistent Estimator

Suppose

V [u] = Σ =

σ2

1 0 0 . . . 00 σ2

2 0 . . . 0...

0 0 0 . . . σ2n

then Var(β) = (X′X)−1 X′ΣX (X′X)−1 and Huber (and then White)showed that

(X′X

)−1 X′

u2

1 0 0 . . . 00 u2

2 0 . . . 0...

0 0 0 . . . u2n

X(X′X

)−1

is a consistent estimator of V [β].

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 13 / 35

Page 35: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Things to note about this approach

1. Requires larger sample size

I large enough for each estimate (e.g., large enough in bothtreatment and baseline groups or large enough in both runoff andnon-runoff groups)

I large enough for consistent estimates (e.g., need n ≥ 250 for Statadefault when highly heteroskedastic (Long and Ervin 2000)).

2. Doesn’t make β BLUE3. What are you going to do with predicted probabilities?

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 14 / 35

Page 36: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Things to note about this approach

1. Requires larger sample sizeI large enough for each estimate (e.g., large enough in both

treatment and baseline groups or large enough in both runoff andnon-runoff groups)

I large enough for consistent estimates (e.g., need n ≥ 250 for Statadefault when highly heteroskedastic (Long and Ervin 2000)).

2. Doesn’t make β BLUE3. What are you going to do with predicted probabilities?

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 14 / 35

Page 37: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Things to note about this approach

1. Requires larger sample sizeI large enough for each estimate (e.g., large enough in both

treatment and baseline groups or large enough in both runoff andnon-runoff groups)

I large enough for consistent estimates (e.g., need n ≥ 250 for Statadefault when highly heteroskedastic (Long and Ervin 2000)).

2. Doesn’t make β BLUE3. What are you going to do with predicted probabilities?

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 14 / 35

Page 38: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Linear Regression with Non-constant Variance

Things to note about this approach

1. Requires larger sample sizeI large enough for each estimate (e.g., large enough in both

treatment and baseline groups or large enough in both runoff andnon-runoff groups)

I large enough for consistent estimates (e.g., need n ≥ 250 for Statadefault when highly heteroskedastic (Long and Ervin 2000)).

2. Doesn’t make β BLUE3. What are you going to do with predicted probabilities?

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 14 / 35

Page 39: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

Outline

1 An Introduction to Robust and Clustered Standard ErrorsLinear Regression with Non-constant VarianceGLM’s and Non-constant VarianceCluster-Robust Standard Errors

2 Replicating in R

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 15 / 35

Page 40: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

What happens when the model is not linear?

Huber (1967) developed a general way to find the standard errors formodels that are specified in the wrong way.

Under certain conditions, you can get the standard errors, even if yourmodel is misspecified.

These are the robust standard errors that scholars now use for otherglm’s, and that happen to coincide with the linear case.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 16 / 35

Page 41: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

What happens when the model is not linear?

Huber (1967) developed a general way to find the standard errors formodels that are specified in the wrong way.

Under certain conditions, you can get the standard errors, even if yourmodel is misspecified.

These are the robust standard errors that scholars now use for otherglm’s, and that happen to coincide with the linear case.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 16 / 35

Page 42: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

What happens when the model is not linear?

Huber (1967) developed a general way to find the standard errors formodels that are specified in the wrong way.

Under certain conditions, you can get the standard errors, even if yourmodel is misspecified.

These are the robust standard errors that scholars now use for otherglm’s, and that happen to coincide with the linear case.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 16 / 35

Page 43: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

What does it mean for a non-linear model to haveheteroskedasticity?

I Think about the probit model in the latent variable formulation.

I Pretend that there is heteroskedasticity on the linear model for y∗.I Heteroskedasticity in the latent variable formulation will completely

change the functional form of P(y = 1|x).I What does this mean? The P(y = 1|x) 6= Φ(xβ). Your model is

wrong.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 17 / 35

Page 44: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

What does it mean for a non-linear model to haveheteroskedasticity?

I Think about the probit model in the latent variable formulation.I Pretend that there is heteroskedasticity on the linear model for y∗.

I Heteroskedasticity in the latent variable formulation will completelychange the functional form of P(y = 1|x).

I What does this mean? The P(y = 1|x) 6= Φ(xβ). Your model iswrong.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 17 / 35

Page 45: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

What does it mean for a non-linear model to haveheteroskedasticity?

I Think about the probit model in the latent variable formulation.I Pretend that there is heteroskedasticity on the linear model for y∗.I Heteroskedasticity in the latent variable formulation will completely

change the functional form of P(y = 1|x).

I What does this mean? The P(y = 1|x) 6= Φ(xβ). Your model iswrong.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 17 / 35

Page 46: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

What does it mean for a non-linear model to haveheteroskedasticity?

I Think about the probit model in the latent variable formulation.I Pretend that there is heteroskedasticity on the linear model for y∗.I Heteroskedasticity in the latent variable formulation will completely

change the functional form of P(y = 1|x).I What does this mean? The P(y = 1|x) 6= Φ(xβ). Your model is

wrong.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 17 / 35

Page 47: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

To derive robust standard errors in the general case, we assume that

y ∼ fi(y |θ)

Then our likelihood function is given by

n∏i=1

fi(Yi |θ)

and thus the log-likelihood is

L(θ) =n∑

i=1

log fi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 18 / 35

Page 48: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

To derive robust standard errors in the general case, we assume that

y ∼ fi(y |θ)

Then our likelihood function is given by

n∏i=1

fi(Yi |θ)

and thus the log-likelihood is

L(θ) =n∑

i=1

log fi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 18 / 35

Page 49: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

To derive robust standard errors in the general case, we assume that

y ∼ fi(y |θ)

Then our likelihood function is given by

n∏i=1

fi(Yi |θ)

and thus the log-likelihood is

L(θ) =n∑

i=1

log fi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 18 / 35

Page 50: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

To derive robust standard errors in the general case, we assume that

y ∼ fi(y |θ)

Then our likelihood function is given by

n∏i=1

fi(Yi |θ)

and thus the log-likelihood is

L(θ) =n∑

i=1

log fi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 18 / 35

Page 51: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

To derive robust standard errors in the general case, we assume that

y ∼ fi(y |θ)

Then our likelihood function is given by

n∏i=1

fi(Yi |θ)

and thus the log-likelihood is

L(θ) =n∑

i=1

log fi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 18 / 35

Page 52: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

To derive robust standard errors in the general case, we assume that

y ∼ fi(y |θ)

Then our likelihood function is given by

n∏i=1

fi(Yi |θ)

and thus the log-likelihood is

L(θ) =n∑

i=1

log fi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 18 / 35

Page 53: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

We will denote the first and second partial derivatives of L to be:

L′(θ) =n∑

i=1

gi(Yi |θ),L′′(θ) =n∑

i=1

hi(Yi |θ)

Wheregi(Yi |θ) = [logfi(y |θ)]′ =

δ

δθlog fi(y |θ)

and

hi(Yi |θ) = [logfi(y |θ)]′′ =δ2

δθ2 log fi(y |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 19 / 35

Page 54: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

We will denote the first and second partial derivatives of L to be:

L′(θ) =n∑

i=1

gi(Yi |θ),L′′(θ) =n∑

i=1

hi(Yi |θ)

Wheregi(Yi |θ) = [logfi(y |θ)]′ =

δ

δθlog fi(y |θ)

and

hi(Yi |θ) = [logfi(y |θ)]′′ =δ2

δθ2 log fi(y |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 19 / 35

Page 55: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

We will denote the first and second partial derivatives of L to be:

L′(θ) =n∑

i=1

gi(Yi |θ),L′′(θ) =n∑

i=1

hi(Yi |θ)

Wheregi(Yi |θ) = [logfi(y |θ)]′ =

δ

δθlog fi(y |θ)

and

hi(Yi |θ) = [logfi(y |θ)]′′ =δ2

δθ2 log fi(y |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 19 / 35

Page 56: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

We will denote the first and second partial derivatives of L to be:

L′(θ) =n∑

i=1

gi(Yi |θ),L′′(θ) =n∑

i=1

hi(Yi |θ)

Wheregi(Yi |θ) = [logfi(y |θ)]′ =

δ

δθlog fi(y |θ)

and

hi(Yi |θ) = [logfi(y |θ)]′′ =δ2

δθ2 log fi(y |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 19 / 35

Page 57: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

We will denote the first and second partial derivatives of L to be:

L′(θ) =n∑

i=1

gi(Yi |θ),L′′(θ) =n∑

i=1

hi(Yi |θ)

Wheregi(Yi |θ) = [logfi(y |θ)]′ =

δ

δθlog fi(y |θ)

and

hi(Yi |θ) = [logfi(y |θ)]′′ =δ2

δθ2 log fi(y |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 19 / 35

Page 58: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

We will denote the first and second partial derivatives of L to be:

L′(θ) =n∑

i=1

gi(Yi |θ),L′′(θ) =n∑

i=1

hi(Yi |θ)

Wheregi(Yi |θ) = [logfi(y |θ)]′ =

δ

δθlog fi(y |θ)

and

hi(Yi |θ) = [logfi(y |θ)]′′ =δ2

δθ2 log fi(y |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 19 / 35

Page 59: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

This shouldn’t be too unfamiliar.

Remember, the Fisher information matrix is −Eθ[hi(Yi |θ)].

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 20 / 35

Page 60: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

This shouldn’t be too unfamiliar.

Remember, the Fisher information matrix is −Eθ[hi(Yi |θ)].

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 20 / 35

Page 61: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

I Let’s assume the model is correct – there is a true value θ0 for θ.

I Then we can use the Taylor approximation for the log-likelihoodfunction to estimate what the likelihood function looks like aroundθ0:

L(θ) = L(θ0) + L′(θ0)(θ − θ0) +12

(θ − θ0)T L′′(θ0)(θ − θ0)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 21 / 35

Page 62: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

I Let’s assume the model is correct – there is a true value θ0 for θ.I Then we can use the Taylor approximation for the log-likelihood

function to estimate what the likelihood function looks like aroundθ0:

L(θ) = L(θ0) + L′(θ0)(θ − θ0) +12

(θ − θ0)T L′′(θ0)(θ − θ0)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 21 / 35

Page 63: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

I Let’s assume the model is correct – there is a true value θ0 for θ.I Then we can use the Taylor approximation for the log-likelihood

function to estimate what the likelihood function looks like aroundθ0:

L(θ) = L(θ0) + L′(θ0)(θ − θ0) +12

(θ − θ0)T L′′(θ0)(θ − θ0)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 21 / 35

Page 64: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

I We can use the Taylor approximation to approximate θ − θ0 andtherefore the variance covariance matrix.

I We want to find the maximum of the log-likelihood function, so weset L′(θ) = 0:

L′(θ0) + (θ − θ0)T L′′(θ0) = 0

θ − θ0 = [−L′′(θ0)]−1L′(θ0)T

Avar(θ) = [−L′′(θ0)]−1[Cov(L′(θ0))][−L′′(θ0)]−1

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 22 / 35

Page 65: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

I We can use the Taylor approximation to approximate θ − θ0 andtherefore the variance covariance matrix.

I We want to find the maximum of the log-likelihood function, so weset L′(θ) = 0:

L′(θ0) + (θ − θ0)T L′′(θ0) = 0

θ − θ0 = [−L′′(θ0)]−1L′(θ0)T

Avar(θ) = [−L′′(θ0)]−1[Cov(L′(θ0))][−L′′(θ0)]−1

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 22 / 35

Page 66: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

I We can use the Taylor approximation to approximate θ − θ0 andtherefore the variance covariance matrix.

I We want to find the maximum of the log-likelihood function, so weset L′(θ) = 0:

L′(θ0) + (θ − θ0)T L′′(θ0) = 0

θ − θ0 = [−L′′(θ0)]−1L′(θ0)T

Avar(θ) = [−L′′(θ0)]−1[Cov(L′(θ0))][−L′′(θ0)]−1

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 22 / 35

Page 67: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

I We can use the Taylor approximation to approximate θ − θ0 andtherefore the variance covariance matrix.

I We want to find the maximum of the log-likelihood function, so weset L′(θ) = 0:

L′(θ0) + (θ − θ0)T L′′(θ0) = 0

θ − θ0 = [−L′′(θ0)]−1L′(θ0)T

Avar(θ) = [−L′′(θ0)]−1[Cov(L′(θ0))][−L′′(θ0)]−1

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 22 / 35

Page 68: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

I We can use the Taylor approximation to approximate θ − θ0 andtherefore the variance covariance matrix.

I We want to find the maximum of the log-likelihood function, so weset L′(θ) = 0:

L′(θ0) + (θ − θ0)T L′′(θ0) = 0

θ − θ0 = [−L′′(θ0)]−1L′(θ0)T

Avar(θ) = [−L′′(θ0)]−1[Cov(L′(θ0))][−L′′(θ0)]−1

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 22 / 35

Page 69: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

It’s the sandwich estimator.

Avar(θ) = [−L′′(θ0)]−1[Cov(L′(θ0))][−L′′(θ0)]−1

=

[−

n∑i=1

hi(Yi |θ)

]−1 [ n∑i=1

gi(Yi |θ)T gi(Yi |θ)

][−

n∑i=1

hi(Yi |θ)

]−1

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 23 / 35

Page 70: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors GLM’s and Non-constant Variance

RSEs for GLMs

It’s the sandwich estimator.

=

[−

n∑i=1

hi(Yi |θ)

]−1 [ n∑i=1

gi(Yi |θ)T gi(Yi |θ)

][−

n∑i=1

hi(Yi |θ)

]−1

Bread:[−∑n

i=1 hi(Yi |θ)]−1

Meat:[∑n

i=1 gi(Yi |θ)T gi(Yi |θ)]

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 24 / 35

Page 71: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Cluster-Robust Standard Errors

Cluster-Robust Standard Errors

Using clustered-robust standard errors, the meat changes.

Instead of summing over each individual, we first sum over the groups. n∑j=1

∑i∈cj

gi(Yi |θ)T gi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 25 / 35

Page 72: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Cluster-Robust Standard Errors

Cluster-Robust Standard Errors

Using clustered-robust standard errors, the meat changes.

Instead of summing over each individual, we first sum over the groups.

n∑j=1

∑i∈cj

gi(Yi |θ)T gi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 25 / 35

Page 73: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Cluster-Robust Standard Errors

Cluster-Robust Standard Errors

Using clustered-robust standard errors, the meat changes.

Instead of summing over each individual, we first sum over the groups. n∑j=1

∑i∈cj

gi(Yi |θ)T gi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 25 / 35

Page 74: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Cluster-Robust Standard Errors

Cluster-Robust Standard Errors

Using clustered-robust standard errors, the meat changes.

Instead of summing over each individual, we first sum over the groups. n∑j=1

∑i∈cj

gi(Yi |θ)T gi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 25 / 35

Page 75: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

An Introduction to Robust and Clustered Standard Errors Cluster-Robust Standard Errors

Cluster-Robust Standard Errors

Using clustered-robust standard errors, the meat changes.

Instead of summing over each individual, we first sum over the groups.∑j

∑i∈cj

gi(Yi |θ)T gi(Yi |θ)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 26 / 35

Page 76: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Outline

1 An Introduction to Robust and Clustered Standard ErrorsLinear Regression with Non-constant VarianceGLM’s and Non-constant VarianceCluster-Robust Standard Errors

2 Replicating in R

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 27 / 35

Page 77: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Replicating in R

I There are lots of different ways to replicate these standard errorsin R.

I Sometimes it’s difficult to figure out what is going on in Stata.I But by really understanding what is going on in R, you will be able

to replicate once you know the equation for Stata.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 28 / 35

Page 78: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Replicating in R

I There are lots of different ways to replicate these standard errorsin R.

I Sometimes it’s difficult to figure out what is going on in Stata.

I But by really understanding what is going on in R, you will be ableto replicate once you know the equation for Stata.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 28 / 35

Page 79: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Replicating in R

I There are lots of different ways to replicate these standard errorsin R.

I Sometimes it’s difficult to figure out what is going on in Stata.I But by really understanding what is going on in R, you will be able

to replicate once you know the equation for Stata.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 28 / 35

Page 80: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Some Data

I’m going to use data from the Gov 2001 Code library.

load("Gov2001CodeLibrary.RData")

This particular dataset is from the paper "When preferences andcommitments collide: The effect of relative partisan shifts onInternational treaty compliance." in International Organization byJoseph Grieco, Christopher Gelpi, and Camber Warren.

Thanks to Michele Margolis and Dan Altman for their contributions tothe library!

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 29 / 35

Page 81: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Some Data

I’m going to use data from the Gov 2001 Code library.

load("Gov2001CodeLibrary.RData")

This particular dataset is from the paper "When preferences andcommitments collide: The effect of relative partisan shifts onInternational treaty compliance." in International Organization byJoseph Grieco, Christopher Gelpi, and Camber Warren.

Thanks to Michele Margolis and Dan Altman for their contributions tothe library!

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 29 / 35

Page 82: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Some Data

I’m going to use data from the Gov 2001 Code library.

load("Gov2001CodeLibrary.RData")

This particular dataset is from the paper "When preferences andcommitments collide: The effect of relative partisan shifts onInternational treaty compliance." in International Organization byJoseph Grieco, Christopher Gelpi, and Camber Warren.

Thanks to Michele Margolis and Dan Altman for their contributions tothe library!

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 29 / 35

Page 83: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Some Data

I’m going to use data from the Gov 2001 Code library.

load("Gov2001CodeLibrary.RData")

This particular dataset is from the paper "When preferences andcommitments collide: The effect of relative partisan shifts onInternational treaty compliance." in International Organization byJoseph Grieco, Christopher Gelpi, and Camber Warren.

Thanks to Michele Margolis and Dan Altman for their contributions tothe library!

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 29 / 35

Page 84: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Model

First, let’s run their model:

fmla <- as.formula(restrict ~ art8 + shift_left + flexible + gnpcap +regnorm + gdpgrow + resgdp + bopgdp + useimfcr +surveil + univers + resvol + totvol + tradedep + military +termlim + parli + lastrest + lastrest2 + lastrest3)

fit <-glm(fmla, data=treaty1,family=binomial(link="logit"))

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 30 / 35

Page 85: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Model

First, let’s run their model:

fmla <- as.formula(restrict ~ art8 + shift_left + flexible + gnpcap +regnorm + gdpgrow + resgdp + bopgdp + useimfcr +surveil + univers + resvol + totvol + tradedep + military +termlim + parli + lastrest + lastrest2 + lastrest3)

fit <-glm(fmla, data=treaty1,family=binomial(link="logit"))

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 30 / 35

Page 86: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Model

First, let’s run their model:

fmla <- as.formula(restrict ~ art8 + shift_left + flexible + gnpcap +regnorm + gdpgrow + resgdp + bopgdp + useimfcr +surveil + univers + resvol + totvol + tradedep + military +termlim + parli + lastrest + lastrest2 + lastrest3)

fit <-glm(fmla, data=treaty1,family=binomial(link="logit"))

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 30 / 35

Page 87: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Meat and Bread

First recognize that the bread of the sandwich estimator is just thevariance covariance matrix.

library(sandwich)bread <-vcov(fit)

For the meat, we are going to use the estimating function to create thematrices first derivative:

est.fun <- estfun(fit)

Note: if estfun doesn’t work for your glm, there is a way to do it usingnumericGradient().

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 31 / 35

Page 88: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Meat and Bread

First recognize that the bread of the sandwich estimator is just thevariance covariance matrix.

library(sandwich)bread <-vcov(fit)

For the meat, we are going to use the estimating function to create thematrices first derivative:

est.fun <- estfun(fit)

Note: if estfun doesn’t work for your glm, there is a way to do it usingnumericGradient().

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 31 / 35

Page 89: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Meat and Bread

First recognize that the bread of the sandwich estimator is just thevariance covariance matrix.

library(sandwich)bread <-vcov(fit)

For the meat, we are going to use the estimating function to create thematrices first derivative:

est.fun <- estfun(fit)

Note: if estfun doesn’t work for your glm, there is a way to do it usingnumericGradient().

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 31 / 35

Page 90: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Sandwich

So we can create the sandwich

meat <- t(est.fun)%*%est.funsandwich <- bread%*%meat%*%bread

And put them back in our table

library(lm.test)coeftest(fit, sandwich)

Note: For the linear case, estfun() is doing something a bit differentthan in the logit, so use:

robust <- sandwich(lm.1, meat=crossprod(est.fun)/N)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 32 / 35

Page 91: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Sandwich

So we can create the sandwich

meat <- t(est.fun)%*%est.funsandwich <- bread%*%meat%*%bread

And put them back in our table

library(lm.test)coeftest(fit, sandwich)

Note: For the linear case, estfun() is doing something a bit differentthan in the logit, so use:

robust <- sandwich(lm.1, meat=crossprod(est.fun)/N)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 32 / 35

Page 92: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Sandwich

So we can create the sandwich

meat <- t(est.fun)%*%est.funsandwich <- bread%*%meat%*%bread

And put them back in our table

library(lm.test)coeftest(fit, sandwich)

Note: For the linear case, estfun() is doing something a bit differentthan in the logit, so use:

robust <- sandwich(lm.1, meat=crossprod(est.fun)/N)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 32 / 35

Page 93: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

The Sandwich

So we can create the sandwich

meat <- t(est.fun)%*%est.funsandwich <- bread%*%meat%*%bread

And put them back in our table

library(lm.test)coeftest(fit, sandwich)

Note: For the linear case, estfun() is doing something a bit differentthan in the logit, so use:

robust <- sandwich(lm.1, meat=crossprod(est.fun)/N)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 32 / 35

Page 94: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Clustered Standard Errors

First, we have to identify our clusters:

fc <- treaty1$imf_ccodem <- length(unique(fc))k <- length(coef(fit))

Then, we sum the u’s by cluster

u <- estfun(fit)u.clust <- matrix(NA, nrow=m, ncol=k)for(j in 1:k){u.clust[,j] <- tapply(u[,j], fc, sum)}

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 33 / 35

Page 95: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Clustered Standard Errors

First, we have to identify our clusters:

fc <- treaty1$imf_ccodem <- length(unique(fc))k <- length(coef(fit))

Then, we sum the u’s by cluster

u <- estfun(fit)u.clust <- matrix(NA, nrow=m, ncol=k)for(j in 1:k){u.clust[,j] <- tapply(u[,j], fc, sum)}

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 33 / 35

Page 96: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Clustered Standard Errors

First, we have to identify our clusters:

fc <- treaty1$imf_ccodem <- length(unique(fc))k <- length(coef(fit))

Then, we sum the u’s by cluster

u <- estfun(fit)u.clust <- matrix(NA, nrow=m, ncol=k)for(j in 1:k){u.clust[,j] <- tapply(u[,j], fc, sum)}

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 33 / 35

Page 97: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Clustered Standard Errors

First, we have to identify our clusters:

fc <- treaty1$imf_ccodem <- length(unique(fc))k <- length(coef(fit))

Then, we sum the u’s by cluster

u <- estfun(fit)u.clust <- matrix(NA, nrow=m, ncol=k)for(j in 1:k){u.clust[,j] <- tapply(u[,j], fc, sum)}

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 33 / 35

Page 98: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Clustered Standard Errors

First, we have to identify our clusters:

fc <- treaty1$imf_ccodem <- length(unique(fc))k <- length(coef(fit))

Then, we sum the u’s by cluster

u <- estfun(fit)u.clust <- matrix(NA, nrow=m, ncol=k)for(j in 1:k){u.clust[,j] <- tapply(u[,j], fc, sum)}

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 33 / 35

Page 99: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Last, we can make our cluster robust matrix:

cl.vcov <- vcov %*% ((m / (m-1)) * t(u.clust)%*% (u.clust)) %*% + vcov

And test our coefficients

coeftest(fit, cl.vcov)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 34 / 35

Page 100: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Last, we can make our cluster robust matrix:

cl.vcov <- vcov %*% ((m / (m-1)) * t(u.clust)%*% (u.clust)) %*% + vcov

And test our coefficients

coeftest(fit, cl.vcov)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 34 / 35

Page 101: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Last, we can make our cluster robust matrix:

cl.vcov <- vcov %*% ((m / (m-1)) * t(u.clust)%*% (u.clust)) %*% + vcov

And test our coefficients

coeftest(fit, cl.vcov)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 34 / 35

Page 102: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

Last, we can make our cluster robust matrix:

cl.vcov <- vcov %*% ((m / (m-1)) * t(u.clust)%*% (u.clust)) %*% + vcov

And test our coefficients

coeftest(fit, cl.vcov)

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 34 / 35

Page 103: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

A couple notes

I There are easier ways to do this in R (see for example hccm).

I But it’s good to know what is going on, especially when you arereplicating.

I Beware: degrees of freedom corrections.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 35 / 35

Page 104: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

A couple notes

I There are easier ways to do this in R (see for example hccm).I But it’s good to know what is going on, especially when you are

replicating.

I Beware: degrees of freedom corrections.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 35 / 35

Page 105: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

A couple notes

I There are easier ways to do this in R (see for example hccm).I But it’s good to know what is going on, especially when you are

replicating.I Beware: degrees of freedom corrections.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 35 / 35

Page 106: Robust and Clustered Standard Errors...Robust and Clustered Standard Errors Molly Roberts March 6, 2013 Molly Roberts Robust and Clustered Standard Errors March 6, 2013 1 / 35 An Introduction

Replicating in R

A couple notes

I There are easier ways to do this in R (see for example hccm).I But it’s good to know what is going on, especially when you are

replicating.I Beware: degrees of freedom corrections.

Molly Roberts Robust and Clustered Standard Errors March 6, 2013 35 / 35