Skip to contents

Tests general linear hypotheses and computes confidence intervals for linear combinations of coefficients from a fitted islasso model.

Usage

# S3 method for class 'islasso'
anova(object, A, b = NULL, ci, ...)

Arguments

object

A fitted model object of class "islasso".

A

Hypothesis specification. Either:

  • A numeric matrix or vector with each row specifying a linear combination of coefficients,

  • Or a character vector with symbolic expressions (e.g. "X1 + X2 = 3").

b

Right-hand side vector for the null hypotheses A %*% beta = b. If omitted, defaults to zeros.

ci

Optional 2-column matrix of confidence intervals for coefficients.

...

Currently unused.

Value

An object of class "anova.islasso" containing:

Estimate

Linear combination estimates

SE

Standard errors

Wald

Wald statistics

p-value

Associated p-values

Details

The method tests the null hypothesis \(H_0: A \beta = b\), where \(A\) and \(b\) define a linear constraint on model coefficients.

Symbolic expressions support natural syntax: coefficients may be added/subtracted, constants may be multiplied (e.g. "2 * X1 + 3 * X2 = 7"). Equations with omitted = assume zero on the right-hand side. See examples for syntax flexibility.

Author

Gianluca Sottile gianluca.sottile@unipa.it

Examples

n <- 100; p <- 100
beta <- c(runif(10, -2, 2), rep(0, p - 10))
sim <- simulXy(n = n, p = p, beta = beta, seed = 1, family = gaussian())
fit <- islasso(y ~ . -1, data = sim$data, family = gaussian())

# Test if first 5 variables sum to -7.5
anova(fit, A = c("X1 + X2 + X3 + X4 + X5 = -7.5"))
#> 
#> 	 Simultaneous Tests for General Linear Combination
#> 
#> Fit: islasso(formula = y ~ . - 1, family = gaussian(), data = sim$data)
#> 
#> Linear Hypothesis:
#>                                         Estimate Std. Error Chisq Pr(>Chisq)
#> 1*X1 + 1*X2 + 1*X3 + 1*X4 + 1*X5 = -7.5   8.6889     0.2046  1804     <2e-16
#>                                            
#> 1*X1 + 1*X2 + 1*X3 + 1*X4 + 1*X5 = -7.5 ***
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#> 

# Test multiple hypotheses
anova(fit, A = c("X1 + X2 + X3 + X4 + X5", "X6 + X7 + X8 + X9 + X10"), b = c(-7.5, 8.75))
#> 
#> 	 Simultaneous Tests for General Linear Combination
#> 
#> Fit: islasso(formula = y ~ . - 1, family = gaussian(), data = sim$data)
#> 
#> Linear Hypothesis:
#>                                          Estimate Std. Error Chisq Pr(>Chisq)
#> 1*X1 + 1*X2 + 1*X3 + 1*X4 + 1*X5 = -7.5    8.6889     0.2046  1804     <2e-16
#> 1*X6 + 1*X7 + 1*X8 + 1*X9 + 1*X10 = 8.75  -7.2290     0.2005  1300     <2e-16
#> Overall                                                       3210     <2e-16
#>                                             
#> 1*X1 + 1*X2 + 1*X3 + 1*X4 + 1*X5 = -7.5  ***
#> 1*X6 + 1*X7 + 1*X8 + 1*X9 + 1*X10 = 8.75 ***
#> Overall                                  ***
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#> 

# Full diagonal comparison to true coefficients
anova(fit, A = diag(p), b = beta)
#> 
#> 	 Simultaneous Tests for General Linear Combination
#> 
#> Fit: islasso(formula = y ~ . - 1, family = gaussian(), data = sim$data)
#> 
#> Linear Hypothesis:
#>                             Estimate Std. Error  Chisq Pr(>Chisq)  
#> 1*X1 = 1.07044170238078   -1.898e-01  9.555e-02  3.945     0.0470 *
#> 1*X2 = 1.46746669057757   -1.315e-01  9.738e-02  1.822     0.1770  
#> 1*X3 = 1.37849498912692   -8.651e-02  9.660e-02  0.802     0.3705  
#> 1*X4 = -1.24812392890453   2.785e-02  9.769e-02  0.081     0.7756  
#> 1*X5 = -1.32358047738671   2.241e-01  9.571e-02  5.481     0.0192 *
#> 1*X6 = -1.40233596228063   1.196e-01  9.415e-02  1.612     0.2042  
#> 1*X7 = 1.66532131284475   -1.570e-01  9.281e-02  2.861     0.0907 .
#> 1*X8 = 1.35188855323941   -4.620e-02  9.753e-02  0.224     0.6357  
#> 1*X9 = 0.984678914770484  -7.577e-02  1.015e-01  0.557     0.4553  
#> 1*X10 = -1.03049966692924  1.113e-01  9.653e-02  1.331     0.2487  
#> 1*X11 = 0                  2.360e-02  5.570e-02  0.180     0.6717  
#> 1*X12 = 0                  5.831e-07  1.211e-02  0.000     1.0000  
#> 1*X13 = 0                 -7.058e-07  1.444e-02  0.000     1.0000  
#> 1*X14 = 0                  2.483e-07  5.215e-03  0.000     1.0000  
#> 1*X15 = 0                  2.263e-07  4.732e-03  0.000     1.0000  
#> 1*X16 = 0                 -4.995e-02  6.628e-02  0.568     0.4511  
#> 1*X17 = 0                 -2.436e-07  5.088e-03  0.000     1.0000  
#> 1*X18 = 0                 -5.081e-07  1.054e-02  0.000     1.0000  
#> 1*X19 = 0                 -7.312e-02  7.117e-02  1.055     0.3043  
#> 1*X20 = 0                  1.273e-01  8.391e-02  2.302     0.1292  
#> 1*X21 = 0                  5.185e-02  6.571e-02  0.623     0.4300  
#> 1*X22 = 0                 -2.218e-02  5.654e-02  0.154     0.6949  
#> 1*X23 = 0                 -9.959e-07  2.037e-02  0.000     1.0000  
#> 1*X24 = 0                  6.174e-02  6.624e-02  0.869     0.3514  
#> 1*X25 = 0                  2.907e-02  5.794e-02  0.252     0.6158  
#> 1*X26 = 0                  2.765e-02  5.748e-02  0.231     0.6305  
#> 1*X27 = 0                 -1.419e-02  5.408e-02  0.069     0.7930  
#> 1*X28 = 0                 -1.479e-07  3.094e-03  0.000     1.0000  
#> 1*X29 = 0                  7.998e-02  7.077e-02  1.277     0.2584  
#> 1*X30 = 0                  4.085e-02  6.114e-02  0.446     0.5040  
#> 1*X31 = 0                 -6.110e-07  1.275e-02  0.000     1.0000  
#> 1*X32 = 0                 -4.996e-03  4.930e-02  0.010     0.9193  
#> 1*X33 = 0                  2.913e-07  6.016e-03  0.000     1.0000  
#> 1*X34 = 0                  3.487e-02  6.111e-02  0.326     0.5682  
#> 1*X35 = 0                 -3.521e-08  1.847e-03  0.000     1.0000  
#> 1*X36 = 0                  7.732e-07  1.596e-02  0.000     1.0000  
#> 1*X37 = 0                  1.381e-07  2.894e-03  0.000     1.0000  
#> 1*X38 = 0                 -4.978e-07  1.032e-02  0.000     1.0000  
#> 1*X39 = 0                  1.856e-07  3.886e-03  0.000     1.0000  
#> 1*X40 = 0                 -8.699e-07  1.776e-02  0.000     1.0000  
#> 1*X41 = 0                  5.036e-03  5.031e-02  0.010     0.9203  
#> 1*X42 = 0                  1.607e-02  5.373e-02  0.089     0.7648  
#> 1*X43 = 0                  1.392e-02  5.449e-02  0.065     0.7984  
#> 1*X44 = 0                 -4.935e-02  6.393e-02  0.596     0.4401  
#> 1*X45 = 0                 -2.718e-02  5.794e-02  0.220     0.6390  
#> 1*X46 = 0                  1.534e-07  3.227e-03  0.000     1.0000  
#> 1*X47 = 0                  2.998e-02  5.548e-02  0.292     0.5889  
#> 1*X48 = 0                  9.617e-07  1.982e-02  0.000     1.0000  
#> 1*X49 = 0                 -6.510e-07  1.353e-02  0.000     1.0000  
#> 1*X50 = 0                  2.632e-02  5.521e-02  0.227     0.6336  
#> 1*X51 = 0                  8.672e-07  1.780e-02  0.000     1.0000  
#> 1*X52 = 0                  5.487e-02  6.595e-02  0.692     0.4054  
#> 1*X53 = 0                 -6.527e-02  6.943e-02  0.884     0.3471  
#> 1*X54 = 0                  8.401e-02  7.365e-02  1.301     0.2540  
#> 1*X55 = 0                 -1.469e-07  3.058e-03  0.000     1.0000  
#> 1*X56 = 0                 -4.802e-02  6.277e-02  0.585     0.4443  
#> 1*X57 = 0                 -4.176e-02  5.967e-02  0.490     0.4840  
#> 1*X58 = 0                  3.396e-02  5.925e-02  0.329     0.5665  
#> 1*X59 = 0                 -5.697e-07  1.193e-02  0.000     1.0000  
#> 1*X60 = 0                 -3.835e-02  6.081e-02  0.398     0.5282  
#> 1*X61 = 0                  7.258e-02  7.118e-02  1.040     0.3079  
#> 1*X62 = 0                  1.642e-02  5.378e-02  0.093     0.7601  
#> 1*X63 = 0                  3.058e-02  5.686e-02  0.289     0.5907  
#> 1*X64 = 0                  3.150e-07  6.568e-03  0.000     1.0000  
#> 1*X65 = 0                  1.689e-02  5.107e-02  0.109     0.7408  
#> 1*X66 = 0                  2.390e-07  4.978e-03  0.000     1.0000  
#> 1*X67 = 0                  1.168e-02  5.445e-02  0.046     0.8302  
#> 1*X68 = 0                 -5.281e-07  1.087e-02  0.000     1.0000  
#> 1*X69 = 0                  7.394e-07  1.536e-02  0.000     1.0000  
#> 1*X70 = 0                  5.679e-02  6.667e-02  0.726     0.3943  
#> 1*X71 = 0                 -2.834e-07  5.919e-03  0.000     1.0000  
#> 1*X72 = 0                  9.920e-07  2.034e-02  0.000     1.0000  
#> 1*X73 = 0                  2.856e-02  5.608e-02  0.259     0.6106  
#> 1*X74 = 0                 -1.096e-07  2.281e-03  0.000     1.0000  
#> 1*X75 = 0                  1.078e-02  5.238e-02  0.042     0.8370  
#> 1*X76 = 0                  8.778e-07  1.799e-02  0.000     1.0000  
#> 1*X77 = 0                 -3.590e-07  7.535e-03  0.000     1.0000  
#> 1*X78 = 0                  2.366e-07  4.962e-03  0.000     1.0000  
#> 1*X79 = 0                  2.358e-02  5.534e-02  0.182     0.6701  
#> 1*X80 = 0                 -3.931e-02  5.947e-02  0.437     0.5087  
#> 1*X81 = 0                  1.324e-02  5.536e-02  0.057     0.8109  
#> 1*X82 = 0                  6.608e-07  1.373e-02  0.000     1.0000  
#> 1*X83 = 0                 -1.488e-01  8.902e-02  2.793     0.0947 .
#> 1*X84 = 0                  4.263e-02  6.113e-02  0.486     0.4855  
#> 1*X85 = 0                  5.055e-02  6.484e-02  0.608     0.4356  
#> 1*X86 = 0                  9.589e-07  1.951e-02  0.000     1.0000  
#> 1*X87 = 0                 -7.796e-02  7.056e-02  1.221     0.2692  
#> 1*X88 = 0                  4.014e-07  8.348e-03  0.000     1.0000  
#> 1*X89 = 0                 -1.119e-01  7.866e-02  2.025     0.1547  
#> 1*X90 = 0                  1.693e-07  3.538e-03  0.000     1.0000  
#> 1*X91 = 0                  1.197e-07  2.506e-03  0.000     1.0000  
#> 1*X92 = 0                 -2.345e-02  5.585e-02  0.176     0.6746  
#> 1*X93 = 0                  6.268e-07  1.296e-02  0.000     1.0000  
#> 1*X94 = 0                 -2.174e-02  5.758e-02  0.142     0.7058  
#> 1*X95 = 0                  9.456e-07  1.952e-02  0.000     1.0000  
#> 1*X96 = 0                  3.366e-07  6.998e-03  0.000     1.0000  
#> 1*X97 = 0                  2.035e-06  4.033e-02  0.000     1.0000  
#> 1*X98 = 0                 -8.191e-07  1.673e-02  0.000     1.0000  
#> 1*X99 = 0                 -8.863e-07  1.827e-02  0.000     1.0000  
#> 1*X100 = 0                -4.135e-07  8.578e-03  0.000     1.0000  
#> Overall                                         44.858     1.0000  
#> ---
#> Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
#>