Prints the full report built by summary.copreg: residual
quantiles, the coefficient table, the endogeneity or Durbin-Hausman-Wu
tests, bootstrap Wald tests of the copula terms, fit statistics, and the
identification diagnostics (non-normality, exogenous correlation,
collinearity, ICON).
Arguments
- x
an object of class
"summary.copreg", as returned bysummary.copreg.- digits
number of significant digits to print.
- signif.stars
logical, whether to print significance stars next to the p values (via
printCoefmat).- ...
currently unused.
References
Qian, Y., A. Koschmann, and H. Xie (2025). A practical guide to endogeneity correction using copulas. Journal of Marketing.
Examples
set.seed(1)
n <- 150
w <- rnorm(n)
p <- 0.4 * w + rt(n, df = 3)
xi <- 0.5 * p + rnorm(n)
y <- 1 + 2 * p + 1.5 * w + xi
dat <- data.frame(y = y, p = p, w = w)
fit <- endogCopula:::.copreg_fit(
formula = y ~ p | w, data = dat,
ctor = endogCopula:::.ctor_twostage(TRUE),
method = "2sCOPE", cdf = "rank.n", ties = "max",
nboots = 25, verbose = FALSE)
print(summary(fit))
#>
#> Copula endogeneity correction: 2sCOPE
#>
#> Residuals of the augmented regression (u = xi - C gamma):
#> Min 1Q Median 3Q Max
#> -2.81122 -0.70358 -0.05717 0.71567 2.74975
#>
#> Residuals of the structural model (xi = y - mu - P alpha - W beta):
#> Min 1Q Median 3Q Max
#> -2.72838 -0.75649 0.02345 0.72546 2.55468
#>
#> Coefficients:
#> Estimate Std. Error z value Pr(>|z|)
#> (Intercept) 0.87760 0.09116 9.627 <2e-16 ***
#> p 2.83870 0.22755 12.475 <2e-16 ***
#> w 1.42933 0.11580 12.343 <2e-16 ***
#> p_cop -0.50920 0.36416 -1.398 0.162
#> ---
#> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>
#> Endogeneity: rho(P*, xi*) is the correlation between the normal score
#> of an endogenous regressor and that of the structural error, xi* = xi / sigma.
#> Estimate Std. Error z value Pr(>|z|)
#> rho(p*, xi*) -0.4308 0.2959 -1.456 0.145
#>
#> Fit, on 146 residual degrees of freedom:
#> augmented structural
#> Residual standard error 1.0288 1.1448
#> R-squared 0.9604 0.9510
#> Adjusted R-squared 0.9596 0.9500
#> sigma above is the standard error of the structural model, the one
#> entering xi* = xi / sigma.
#> Standard errors from 25 bootstrap replicates; cdf = "rank.n", ties = "max".
#> Pr(>|z|) in both tables: Wald test using the normal approximation,
#> z = Estimate / Std. Error, with the bootstrap standard error.
#> See confint(object, type = "percentile") for bootstrap percentile intervals.
#>
#> --- Identification diagnostics ------------------------------------
#>
#> Non-normality of the endogenous regressors (small p = non-normal, good):
#> AD AD p KS p
#> p 1.604 0.0003842 0.3427
#>
#> Correlation of the copula terms with the exogenous regressors
#> (Park & Gupta assume this is zero; 'joint' tests all of them at once,
#> the Holm p value refers to the single largest correlation):
#> max |corr| with p (Holm) joint R2 joint p
#> p 0.1761 w 0.03094 0.03102 0.0311
#> full matrix in summary(object)$diagnostics$exog.correlation.matrix
#>
#> Collinearity of the copula terms (omega near 0 = weakly identified):
#> corr(P, C) omega
#> p_cop 0.9431 0.09305
#>
