Iterative conditional fitting of Gaussian Ancestral Graph Models.
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 L of the precision parameters by fitting a concentration graph model. The MLE B of the regression coefficients and the MLE O 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 S of the covariance matrix by matrix multiplication:
Σ^=B^−1(Λ^+Ω^)\hatB−T.S=B(−1)(L+O)B(−t).
Note that in Richardson and Spirtes (2002), the matrices L
and O are defined as submatrices.
Returns
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 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.
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.
Author(s)
Mathias Drton
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 <- ufitAncestralGraph(ag1 <- makeMG(dg=DAG(x~y,z~u), bg = UG(~x*z)), S, n=100)## Fit an ancestral graph y <-> x <-> z <-> ufitAncestralGraph(ag2 <- makeMG(bg= UG(~y*x+x*z+z*u)), S, n=100)## Fit the same graph with fitCovGraphfitCovGraph(ag2, S, n=100)## Another example for the mathematics marks datadata(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