Degree of Freedom alternatives
kylebutts opened this issue · 2 comments
Currently, vcovSUR(est)
matches vcov(est, "hc1", ssc = ssc(adj = FALSE, cluster.adj = FALSE))
which uses 1/n
adjustment. I believe that is Stata's default in sur
.
-
I could make the normal
X/n
small sample adjustment where X issqrt((n - k_1)(n - k_2))
ormean(c(n - k_1, n - k_2))
which correspond to Stata'sdof/dof2
adjustment options. -
However, it's not clear to me what to do when different datasets are used in each regression, one uses a subsample, etc. because then
n
does not match across regressions.
Currently, I think I will check if n
matches across estimates and use the dof/dof2
options, otherwise ignore that option and display a note.
@jonathandroth, can you think of a solution when different samples are used?
Update (more-so for my notes, than for you in particular Jon).
The suest
command uses a degree of freedom adjustment that I can not for the life of me figure out what adjustment they are making; it's too quite a bit too small relative to
The stackreg
command does the following (suest
also applies a different adjustment for each block):
The element-specific adjustment factors are
$\sqrt{c_{g} * c_{h}}$ , with$c_{g}$ and$c_{h}$ denoting the equation-specific adjustment factors and$g$ and$h$ indexing the equations$1, \dots, G$ .
This strikes me as reasonable since (1) you match the standard errors from each regression and apply a degree of freedom adjustment that matches dfk
from sureg
(though that estimates via FGLS), (2) it applies a small-sample adjustment in the case of clustered SEs (e.g. states).
It's not particularly theoretically rigorous form of a small-sample adjustment, but even without an adjustment, the estimates are consistent...