The Hausman–Taylor estimator is an instrumental variable estimator without external instruments (function deprecated).
a symbolic description for the model to be estimated,
a data.frame,
see lm() for "plm", a character or
numeric vector indicating a subset of the table of coefficient
to be printed for "print.summary.plm",
see lm(),
one of "ht" for Hausman–Taylor, "am"
for Amemiya–MaCurdy and "bms" for
Breusch–Mizon–Schmidt,
the indexes,
further arguments.
an object of class "plm",
digits,
the maximum length of the lines in the print output,
An object of class c("pht", "plm", "panelmodel").
A "pht" object contains the same elements as plm
object, with a further argument called varlist which
describes the typology of the variables. It has summary and
print.summary methods.
pht estimates panels models using the Hausman–Taylor estimator,
Amemiya–MaCurdy estimator, or Breusch–Mizon–Schmidt estimator, depending
on the argument model. The model is specified as a two–part formula,
the second part containing the exogenous variables.
The function pht is deprecated. Please use function plm
to estimate Taylor–Hausman models like this with a three-part
formula as shown in the example:plm(<formula>, random.method = "ht", model = "random", inst.method = "baltagi"). The Amemiya–MaCurdy estimator and the
Breusch–Mizon–Schmidt estimator is computed likewise with
plm.
(Amemiya and MaCurdy 1986)
(Baltagi 2013)
(Breusch et al. 1989)
(Hausman and Taylor 1981)
## replicates Baltagi (2005, 2013), table 7.4; Baltagi (2021), table 7.5
## preferred way with plm()
data("Wages", package = "plm")
ht <- plm(lwage ~ wks + south + smsa + married + exp + I(exp ^ 2) +
bluecol + ind + union + sex + black + ed |
bluecol + south + smsa + ind + sex + black |
wks + married + union + exp + I(exp ^ 2),
data = Wages, index = 595,
random.method = "ht", model = "random", inst.method = "baltagi")
summary(ht)
#> Oneway (individual) effect Random Effect Model
#> (Hausman-Taylor's transformation)
#> Instrumental variable estimation
#> (Baltagi's transformation)
#>
#> Call:
#> plm(formula = lwage ~ wks + south + smsa + married + exp + I(exp^2) +
#> bluecol + ind + union + sex + black + ed | bluecol + south +
#> smsa + ind + sex + black | wks + married + union + exp +
#> I(exp^2), data = Wages, model = "random", random.method = "ht",
#> inst.method = "baltagi", index = 595)
#>
#> Balanced Panel: n = 595, T = 7, N = 4165
#>
#> Effects:
#> var std.dev share
#> idiosyncratic 0.02304 0.15180 0.025
#> individual 0.88699 0.94180 0.975
#> theta: 0.9392
#>
#> Residuals:
#> Min. 1st Qu. Median 3rd Qu. Max.
#> -12.643736 -0.466002 0.043285 0.524739 13.340263
#>
#> Coefficients:
#> Estimate Std. Error z-value Pr(>|z|)
#> (Intercept) 2.9127e+00 2.8365e-01 10.2687 < 2.2e-16 ***
#> wks 8.3740e-04 5.9973e-04 1.3963 0.16263
#> southyes 7.4398e-03 3.1955e-02 0.2328 0.81590
#> smsayes -4.1833e-02 1.8958e-02 -2.2066 0.02734 *
#> marriedyes -2.9851e-02 1.8980e-02 -1.5728 0.11578
#> exp 1.1313e-01 2.4710e-03 45.7851 < 2.2e-16 ***
#> I(exp^2) -4.1886e-04 5.4598e-05 -7.6718 1.696e-14 ***
#> bluecolyes -2.0705e-02 1.3781e-02 -1.5024 0.13299
#> ind 1.3604e-02 1.5237e-02 0.8928 0.37196
#> unionyes 3.2771e-02 1.4908e-02 2.1982 0.02794 *
#> sexfemale -1.3092e-01 1.2666e-01 -1.0337 0.30129
#> blackyes -2.8575e-01 1.5570e-01 -1.8352 0.06647 .
#> ed 1.3794e-01 2.1248e-02 6.4919 8.474e-11 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Total Sum of Squares: 243.04
#> Residual Sum of Squares: 4163.6
#> R-Squared: 0.60945
#> Adj. R-Squared: 0.60833
#> Chisq: 6891.87 on 12 DF, p-value: < 2.22e-16
am <- plm(lwage ~ wks + south + smsa + married + exp + I(exp ^ 2) +
bluecol + ind + union + sex + black + ed |
bluecol + south + smsa + ind + sex + black |
wks + married + union + exp + I(exp ^ 2),
data = Wages, index = 595,
random.method = "ht", model = "random", inst.method = "am")
summary(am)
#> Oneway (individual) effect Random Effect Model
#> (Hausman-Taylor's transformation)
#> Instrumental variable estimation
#> (Amemiya-MaCurdy's transformation)
#>
#> Call:
#> plm(formula = lwage ~ wks + south + smsa + married + exp + I(exp^2) +
#> bluecol + ind + union + sex + black + ed | bluecol + south +
#> smsa + ind + sex + black | wks + married + union + exp +
#> I(exp^2), data = Wages, model = "random", random.method = "ht",
#> inst.method = "am", index = 595)
#>
#> Balanced Panel: n = 595, T = 7, N = 4165
#>
#> Effects:
#> var std.dev share
#> idiosyncratic 0.02304 0.15180 0.025
#> individual 0.88699 0.94180 0.975
#> theta: 0.9392
#>
#> Residuals:
#> Min. 1st Qu. Median 3rd Qu. Max.
#> -12.643192 -0.464811 0.043216 0.523598 13.338789
#>
#> Coefficients:
#> Estimate Std. Error z-value Pr(>|z|)
#> (Intercept) 2.9273e+00 2.7513e-01 10.6399 < 2.2e-16 ***
#> wks 8.3806e-04 5.9945e-04 1.3980 0.16210
#> southyes 7.2818e-03 3.1936e-02 0.2280 0.81964
#> smsayes -4.1951e-02 1.8947e-02 -2.2141 0.02682 *
#> marriedyes -3.0089e-02 1.8967e-02 -1.5864 0.11266
#> exp 1.1297e-01 2.4688e-03 45.7584 < 2.2e-16 ***
#> I(exp^2) -4.2140e-04 5.4554e-05 -7.7244 1.124e-14 ***
#> bluecolyes -2.0850e-02 1.3765e-02 -1.5147 0.12986
#> ind 1.3629e-02 1.5229e-02 0.8949 0.37082
#> unionyes 3.2475e-02 1.4894e-02 2.1804 0.02922 *
#> sexfemale -1.3201e-01 1.2660e-01 -1.0427 0.29709
#> blackyes -2.8590e-01 1.5549e-01 -1.8388 0.06595 .
#> ed 1.3720e-01 2.0570e-02 6.6703 2.553e-11 ***
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Total Sum of Squares: 243.04
#> Residual Sum of Squares: 4160.3
#> R-Squared: 0.60948
#> Adj. R-Squared: 0.60835
#> Chisq: 6879.2 on 12 DF, p-value: < 2.22e-16
## deprecated way with pht() for HT
#ht <- pht(lwage ~ wks + south + smsa + married + exp + I(exp^2) +
# bluecol + ind + union + sex + black + ed |
# sex + black + bluecol + south + smsa + ind,
# data = Wages, model = "ht", index = 595)
#summary(ht)
# deprecated way with pht() for AM
#am <- pht(lwage ~ wks + south + smsa + married + exp + I(exp^2) +
# bluecol + ind + union + sex + black + ed |
# sex + black + bluecol + south + smsa + ind,
# data = Wages, model = "am", index = 595)
#summary(am)