Learn R Programming

VGAM (version 0.9-1)

SUR: Seemingly Unrelated Regressions

Description

Fits a system of seemingly unrelated regressions.

Usage

SUR(mle.normal = FALSE,
    divisor = c("n", "n-max(pj,pk)", "sqrt((n-pj)*(n-pk))"),
    parallel = FALSE, apply.parint = TRUE,
    Varcov = NULL, matrix.arg = FALSE)

Arguments

mle.normal
Logical. If TRUE then the MLE, assuming multivariate normal errors, is computed; the effect is just to add a loglikelihood slot to the returned object. Then it results in the maximum likelihood estimator.
divisor
Character, partial matching allowed and the first choice is the default. The divisor for the estimate of the covariances. If "n" then the estimate will be biased. If the others then the estimate will be unbiased for some elements. If ml
parallel, apply.parint
Varcov
Numeric. This may be assigned a variance-covariance of the errors. If matrix.arg then this is a $M \times M$ matrix. If !matrix.arg then this is a $M \times M$ matrix in matrix-band format (a vector with at least $M$ and
matrix.arg
Logical. Of single length.

Value

  • An object of class "vglmff" (see vglmff-class). The object is used by modelling functions such as vglm and vgam.

Warning

The default convergence criterion may be a little loose. Try setting epsilon = 1e-11, especially with mle.normal = TRUE.

Details

Proposed by Zellner (1962), the basic seemingly unrelated regressions (SUR) model is a set of LMs ($M > 1$ of them) tied together at the error term level. Each LM's model matrix may potentially have its own set of predictor variables.

Zellner's efficient (ZEF) estimator (also known as Zellner's two-stage Aitken estimator) can be obtained by setting maxit = 1 (and possibly divisor = "sqrt" or divisor = "n-max").

The default value of maxit (in vglm.control) probably means iterative GLS (IGLS) estimator is computed because IRLS will probably iterate to convergence. IGLS means, at each iteration, the residuals are used to estimate the error variance-covariance matrix, and then the matrix is used in the GLS. The IGLS estimator is also known as Zellner's iterative Aitken estimator, or IZEF.

References

Zellner, A. (1962) An Efficient Method of Estimating Seemingly Unrelated Regressions and Tests for Aggregation Bias. J. Amer. Statist. Assoc., 57(298), 348--368.

Kmenta, J. and Gilbert, R. F. (1968) Small Sample Properties of Alternative Estimators of Seemingly Unrelated Regressions. J. Amer. Statist. Assoc., 63(324), 1180--1200.

See Also

normal1, gew.

Examples

Run this code
# Obtain some of the results of p.1199 of Kmenta and Gilbert (1968)
clist <- list("(Intercept)" = diag(2),
              "capital.g"   = rbind(1, 0),
              "value.g"     = rbind(1, 0),
              "capital.w"   = rbind(0, 1),
              "value.w"     = rbind(0, 1))
zef1 <- vglm(cbind(invest.g, invest.w) ~
             capital.g + value.g + capital.w + value.w,
             SUR(divisor = "sqrt"), maxit = 1,
             data = gew, trace = TRUE, constraints = clist)

round(coef(zef1, matrix = TRUE), dig = 4) # ZEF
zef1@extra$ncols_X_lm
zef1@misc$divisor
zef1@misc$values.divisor
round(sqrt(diag(vcov(zef1))),    dig = 4) # SEs

mle1 <- vglm(cbind(invest.g, invest.w) ~
             capital.g + value.g + capital.w + value.w,
             SUR(mle.normal = TRUE, divisor = "n-max"),
             epsilon = 1e-11,
             data = gew, trace = TRUE, constraints = clist)
round(coef(mle1, matrix = TRUE), dig = 4) # MLE
round(sqrt(diag(vcov(mle1))),    dig = 4) # SEs

Run the code above in your browser using DataLab