summary.drrvglm | R Documentation |
These functions are all methods
for class "drrvglm"
or
"summary.drrvglm"
objects, or
for class "rrvglm"
or
"summary.rrvglm"
objects.
## S3 method for class 'drrvglm'
summary(object, correlation = FALSE, dispersion = NULL,
digits = NULL, numerical = TRUE, h.step = 0.005, omit123 = FALSE,
omit13 = FALSE, fixA = FALSE, presid = FALSE,
signif.stars = getOption("show.signif.stars"),
nopredictors = FALSE, eval0 = TRUE, ...)
## S3 method for class 'summary.drrvglm'
show(x, digits = NULL,
quote = TRUE, prefix = "", signif.stars = NULL)
## S3 method for class 'rrvglm'
summary(object, correlation = FALSE, dispersion = NULL,
digits = NULL, numerical = TRUE, h.step = 0.005, omit123 = FALSE,
omit13 = FALSE, fixA = TRUE, presid = FALSE,
signif.stars = getOption("show.signif.stars"),
nopredictors = FALSE, upgrade = FALSE, ...)
## S3 method for class 'summary.rrvglm'
show(x, digits = NULL,
quote = TRUE, prefix = "", signif.stars = NULL)
object |
an object of class
|
x |
an object of class
|
dispersion |
used mainly for GLMs. Not really implemented in VGAM so should not be used. |
correlation |
See |
digits |
See |
signif.stars |
See |
presid , quote |
See |
nopredictors |
See |
upgrade |
Logical.
Upgrade |
numerical |
Logical,
use a finite difference approximation
for partial derivatives?
If |
h.step |
Numeric,
positive and close to 0.
If |
fixA |
Logical,
if |
omit13 |
Logical,
if |
omit123 |
Logical.
If |
prefix |
See |
eval0 |
Logical. Check if V is positive-definite? That is, all its eigenvalues are positive. |
... |
Logical argument |
Most of this document concerns DRR-VGLMs but also apply equally well to RR-VGLMs as a special case.
The overall variance-covariance matrix
The overall variance-covariance matrix
(called V below)
is computed. Since the parameters
comprise the elements of
the matrices A, B1 and C
(called here block matrices 1, 2, 3
respectively),
and an alternating algorithm is used for
estimation, then there are two overlapping
submodels that are fitted within an IRLS
algorithm. These have blocks 1 and 2, and
2 and 3, so that B1 is common to both.
They are combined into one large overall
variance-covariance matrix.
Argument fixA
specifies which submodel
the B1 block is taken from.
Block (1,3) is the most difficult to
compute and numerical approximations based on
first derivatives are used by default for this.
Sometimes the computed V
is not positive-definite.
If so,
then the standard errors will be NA
.
To avoid this problem,
try varying h.step
or refitting the model with a different
Index.corner
.
Argument omit13
and
omit123
can also be used to
give approximate answers.
If V is not positive-definite
then this may indicate
that the model does not fit the
data very well, e.g.,
Rank
is not a good value.
Potentially, there are many ways why
the model may be ill-conditioned.
Try several options and set trace = TRUE
to monitor convergence—this is informative
about how well the model and data agree.
How can one fit an ordinary RR-VGLM as
a DRR-VGLM?
If one uses corner constraints (default) then
one should input H.A
as a list
containing Rank
diag(M)
matrices—one for each column of A.
Then since Corner = TRUE
by default, then
object@H.A.alt
has certain columns
deleted due to corner constraints.
In contrast,
object@H.A.thy
is the
H.A
that was inputted.
FYI, the
alt
suffix indicates the alternating
algorithm, while
the suffix thy
stands for theory.
summarydrrvglm
returns an object
of class "summary.drrvglm"
.
DRR-VGLMs are a recent development so it will take some time to get things totally ironed out. RR-VGLMs were developed a long time ago and are more well-established, however they have only recently been documented here.
Note that vcov
methods exist for rrvglm-class
and drrvglm-class
objects.
Sometimes this function can take a long time and this is because numerical derivatives are computed.
T. W. Yee.
Chapter 5 of: Yee, T. W. (2015). Vector Generalized Linear and Additive Models: With an Implementation in R. New York, USA: Springer. Sections 5.2.2 and 5.3 are particularly relevant.
rrvglm
,
rrvglm.control
,
vcovdrrvglm
,
CM.free
,
summaryvglm
,
summary.rrvglm-class
,
summary.drrvglm-class
.
## Not run: # Fit a rank-1 RR-VGLM as a DRR-VGLM.
set.seed(1); n <- 1000; S <- 6 # S must be even
myrank <- 1
rdata <- data.frame(x1 = runif(n), x2 = runif(n),
x3 = runif(n), x4 = runif(n))
dval <- ncol(rdata) # Number of covariates
# Involves x1, x2, ... a rank-1 model:
ymatrix <- with(rdata,
matrix(rpois(n*S, exp(3 + x1 - 0.5*x2)), n, S))
H.C <- vector("list", dval) # Ordinary "rrvglm"
for (i in 1:dval) H.C[[i]] <- CM.free(myrank)
names(H.C) <- paste0("x", 1:dval)
H.A <- list(CM.free(S)) # rank-1
rfit1 <- rrvglm(ymatrix ~ x1 + x2 + x3 + x4,
poissonff, rdata, trace = TRUE)
class(rfit1)
dfit1 <- rrvglm(ymatrix ~ x1 + x2 + x3 + x4,
poissonff, rdata, trace = TRUE,
H.A = H.A, # drrvglm
H.C = H.C) # drrvglm
class(dfit1)
Coef(rfit1) # The RR-VGLM is the same as
Coef(dfit1) # the DRR-VGLM.
max(abs(predict(rfit1) - predict(dfit1))) # 0
abs(logLik(rfit1) - logLik(dfit1)) # 0
summary(rfit1)
summary(dfit1)
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.