fitAncestralGraph {ggm}R 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 dimnames, the sample covariance matrix.
n the sample size, a positive integer.
tol a small positive number indicating the tolerance used in convergence checks.

Details

Ancestral graph models were introduced by Richardson & Spirtes (2002) as a class of graphical models whose global Markov property is closed under conditioning and marginalization. In the Gaussian case, the models can be parameterized using precision parameters, regression coefficients, and error covariances (compare Richardson & Spirtes, 2002, Section 8). This function finds the MLE Lhat of the precision parameters by fitting a concentration graph model. The MLE Bhat of the regression coefficients and the MLE Ohat of the error covariances are obtained by iterative conditional fitting (Drton & Richardson, 2003, 2004). The three sets of parameters are combined to the MLE Shat of the covariance matrix by matrix multiplication:

Shat = solve(Bhat) %*% (Lhat+Ohat) %*% t(solve(Bhat)).

Note that in Richardson & Spirtes (2002), the matrices Lhat and Ohat 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 -> 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 bidirected 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. & 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. & 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. Spirtes, P. (2002). Ancestral Graph Markov Models. Annals of Statistics. 30, 4, 962–1030.

See Also

fitCovGraph, icf, makeAG, 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 <- makeAG(dag=DAG(x~y,z~u), bg = UG(~x*z)), S, n=100)

## Fit an ancestral graph y <-> x <-> z <-> u
fitAncestralGraph(ag2 <- makeAG(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 <- makeAG(bg=UG(~mechanics*vectors*algebra+algebra*analysis*statistics))
fitAncestralGraph(mag1, S, n=88)

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

[Package ggm version 1.0.2 Index]