fitAncestralGraph: Fitting of Gaussian Ancestral Graph Models

fitAncestralGraphR Documentation

Fitting of Gaussian Ancestral Graph Models

Description

Iterative conditional fitting of Gaussian Ancestral Graph Models.

Usage

fitAncestralGraph(amat, S, n, tol = 1e-06)

Arguments

amat

a square matrix, representing the adjacency matrix of an ancestral graph.

S

a symmetric positive definite matrix with row and col names, the sample covariance matrix.

n

the sample size, a positive integer.

tol

a small positive number indicating the tolerance used in convergence checks.

Details

In the Gaussian case, the models can be parameterized using precision parameters, regression coefficients, and error covariances (compare Richardson and Spirtes, 2002, Section 8). This function finds the MLE \hat \Lambda of the precision parameters by fitting a concentration graph model. The MLE \hat B of the regression coefficients and the MLE \hat\Omega of the error covariances are obtained by iterative conditional fitting (Drton and Richardson, 2003, 2004). The three sets of parameters are combined to the MLE \hat\Sigma of the covariance matrix by matrix multiplication:

\hat\Sigma = \hat B^{-1}(\hat \Lambda+\hat\Omega)\hat B^{-T}.

Note that in Richardson and Spirtes (2002), the matrices \Lambda and \Omega are defined as submatrices.

Value

Shat

the fitted covariance matrix.

Lhat

matrix of the fitted precisions associated with undirected edges and vertices that do not have an arrowhead pointing at them.

Bhat

matrix of the fitted regression coefficients associated to the directed edges. Precisely said Bhat contains ones on the diagonal and the off-diagonal entry (i,j) equals the negated MLE of the regression coefficient for variable j in the regression of variable i on its parents. Note that this (i,j) entry in Bhat corresponds to a directed edge j \to i, and thus to a one as (j,i) entry in the adjacency matrix.

Ohat

matrix of the error covariances and variances of the residuals between regression equations associated with bi-directed edges and vertices with an arrowhead pointing at them.

dev

the ‘deviance’ of the model.

df

the degrees of freedom.

it

the iterations.

Author(s)

Mathias Drton

References

Drton, M. and Richardson, T. S. (2003). A new algorithm for maximum likelihood estimation in Gaussian graphical models for marginal independence. Proceedings of the Nineteenth Conference on Uncertainty in Artificial Intelligence, 184-191.

Drton, M. and Richardson, T. S. (2004). Iterative Conditional Fitting for Gaussian Ancestral Graph Models. Proceedings of the 20th Conference on Uncertainty in Artificial Intelligence, Department of Statistics, 130-137.

Richardson, T. S. and Spirtes, P. (2002). Ancestral Graph Markov Models. Annals of Statistics. 30(4), 962-1030.

See Also

fitCovGraph, icf, makeMG, fitDag

Examples

## A covariance matrix
"S" <- structure(c(2.93, -1.7, 0.76, -0.06,
                  -1.7, 1.64, -0.78, 0.1,
                   0.76, -0.78, 1.66, -0.78,
                  -0.06, 0.1, -0.78, 0.81), .Dim = c(4,4),
                 .Dimnames = list(c("y", "x", "z", "u"), c("y", "x", "z", "u")))
## The following should give the same fit.   
## Fit an ancestral graph y -> x <-> z <- u
fitAncestralGraph(ag1 <- makeMG(dg=DAG(x~y,z~u), bg = UG(~x*z)), S, n=100)

## Fit an ancestral graph y <-> x <-> z <-> u
fitAncestralGraph(ag2 <- makeMG(bg= UG(~y*x+x*z+z*u)), S, n=100)

## Fit the same graph with fitCovGraph
fitCovGraph(ag2, S, n=100)    

## Another example for the mathematics marks data

data(marks)
S <- var(marks)
mag1 <- makeMG(bg=UG(~mechanics*vectors*algebra+algebra*analysis*statistics))
fitAncestralGraph(mag1, S, n=88)

mag2 <- makeMG(ug=UG(~mechanics*vectors+analysis*statistics),
               dg=DAG(algebra~mechanics+vectors+analysis+statistics))
fitAncestralGraph(mag2, S, n=88) # Same fit as above

ggm documentation built on May 29, 2024, 7:27 a.m.

Related to fitAncestralGraph in ggm...