Description Usage Arguments Value Author(s) References See Also Examples

As the main function of the BDgraph package,
this function consists of several MCMC sampling algorithms for Bayesian model determination in undirected graphical models.
To speed up the computations, the birth-death MCMC sampling algorithms are implemented in parallel using OpenMP in `C++`

.

1 2 3 4 |

`data` |
There are two options: (1) an ( |

`n` |
The number of observations. It is needed if the |

`method` |
A character with two options |

`algorithm` |
A character with two options |

`iter` |
The number of iteration for the sampling algorithm. |

`burnin` |
The number of burn-in iteration for the sampling algorithm. |

`not.cont` |
For the case |

`g.prior` |
For determining the prior distribution of each edge in the graph.
There are two options: a single value between |

`df.prior` |
The degree of freedom for G-Wishart distribution, |

`g.start` |
Corresponds to a starting point of the graph. It could be an ( |

`jump` |
It is only for the BDMCMC algorithm ( |

`save` |
Logical: if FALSE (default), the adjacency matrices are NOT saved. If TRUE, the adjacency matrices after burn-in are saved. |

`cores` |
The number of cores to use for parallel execution.
The case |

`threshold` |
The threshold value for the convergence of sampling algorithm from G-Wishart for the precision matrix. |

An object with `S3`

class `"bdgraph"`

is returned:

`p_links` |
An upper triangular matrix which corresponds the estimated posterior probabilities of all possible links. |

`K_hat` |
The posterior estimation of the precision matrix. |

For the case "save = TRUE" is returned:

`sample_graphs` |
A vector of strings which includes the adjacency matrices of visited graphs after burn-in. |

`graph_weights` |
A vector which includes the waiting times of visited graphs after burn-in. |

`all_graphs` |
A vector which includes the identity of the adjacency matrices for all iterations after burn-in. It is needed for monitoring the convergence of the BD-MCMC algorithm. |

`all_weights` |
A vector which includes the waiting times for all iterations after burn-in. It is needed for monitoring the convergence of the BD-MCMC algorithm. |

Reza Mohammadi a.mohammadi@uva.nl and Ernst Wit

Mohammadi, R. and Wit, E. C. (2019). BDgraph: An `R`

Package for Bayesian Structure Learning in Graphical Models, *Journal of Statistical Software*, 89(3):1-30

Mohammadi, A. and Wit, E. C. (2015). Bayesian Structure Learning in Sparse Gaussian Graphical Models, *Bayesian Analysis*, 10(1):109-138

Mohammadi, A. et al (2017). Bayesian modelling of Dupuytren disease by using Gaussian copula graphical models, *Journal of the Royal Statistical Society: Series C*, 66(3):629-645

Letac, G., Massam, H. and Mohammadi, R. (2018). The Ratio of Normalizing Constants for Bayesian Graphical Gaussian Model Selection, *arXiv preprint arXiv:1706.04416v2*

Dobra, A. and Mohammadi, R. (2018). Loglinear Model Selection and Human Mobility, *Annals of Applied Statistics*, 12(2):815-845

Mohammadi, A. and Dobra A. (2017). The `R`

Package BDgraph for Bayesian Structure Learning in Graphical Models, *ISBA Bulletin*, 24(4):11-16

`bdgraph.mpl`

, `bdgraph.sim`

, `summary.bdgraph`

, `compare`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | ```
## Not run:
# --- Example 1
# Generating multivariate normal data from a 'random' graph
data.sim <- bdgraph.sim( n = 20, p = 6, size = 7, vis = TRUE )
bdgraph.obj <- bdgraph( data = data.sim, iter = 1000 )
summary( bdgraph.obj )
# To compare our result with true graph
compare( data.sim, bdgraph.obj, main = c( "Target", "BDgraph" ) )
# Running algorithm with starting points from previous run
bdgraph.obj2 <- bdgraph( data = data.sim, g.start = bdgraph.obj )
compare( data.sim, bdgraph.obj, bdgraph.obj2,
main = c( "Target", "Frist run", "Second run" ) )
# --- Example 2
# Generating mixed data from a 'scale-free' graph
data.sim <- bdgraph.sim( n = 50, p = 6, type = "mixed", graph = "scale-free", vis = TRUE )
bdgraph.obj <- bdgraph( data = data.sim, method = "gcgm", iter = 10000 )
summary( bdgraph.obj )
compare( data.sim, bdgraph.obj )
## End(Not run)
``` |

```
1000 iteration is started.
Iteration 1000
$selected_g
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 1 0 0 0 0
[2,] 0 0 1 0 0 0
[3,] 0 0 0 1 0 1
[4,] 0 0 0 0 0 1
[5,] 0 0 0 0 0 0
[6,] 0 0 0 0 0 0
$p_links
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 1 0.26 0.17 0.18 0.29
[2,] 0 0 0.55 0.36 0.27 0.46
[3,] 0 0 0.00 0.98 0.24 0.98
[4,] 0 0 0.00 0.00 0.32 1.00
[5,] 0 0 0.00 0.00 0.00 0.49
[6,] 0 0 0.00 0.00 0.00 0.00
$K_hat
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1.22 1.51 -0.07 0.01 0.02 -0.04
[2,] 1.51 5.37 0.50 -0.09 0.00 -0.54
[3,] -0.07 0.50 1.69 -1.81 -0.08 -1.62
[4,] 0.01 -0.09 -1.81 4.88 0.15 3.48
[5,] 0.02 0.00 -0.08 0.15 1.70 -0.28
[6,] -0.04 -0.54 -1.62 3.48 -0.28 4.90
Target BDgraph
true positive 7 5.000
true negative 8 8.000
false positive 0 0.000
false negative 0 2.000
F1-score 1 0.833
specificity 1 1.000
sensitivity 1 0.714
MCC 1 0.756
5000 iteration is started.
Iteration 1000
Iteration 2000
Iteration 3000
Iteration 4000
Iteration 5000
Target Frist run Second run
true positive 7 5.000 5.000
true negative 8 8.000 8.000
false positive 0 0.000 0.000
false negative 0 2.000 2.000
F1-score 1 0.833 0.833
specificity 1 1.000 1.000
sensitivity 1 0.714 0.714
MCC 1 0.756 0.756
10000 iteration is started.
Iteration 1000
Iteration 2000
Iteration 3000
Iteration 4000
Iteration 5000
Iteration 6000
Iteration 7000
Iteration 8000
Iteration 9000
Iteration 10000
$selected_g
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 0 1 1 0 0
[2,] 0 0 1 1 0 0
[3,] 0 0 0 0 0 0
[4,] 0 0 0 0 0 0
[5,] 0 0 0 0 0 0
[6,] 0 0 0 0 0 0
$p_links
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 0 0.46 0.94 1.00 0.14 0.14
[2,] 0 0.00 0.54 0.68 0.20 0.25
[3,] 0 0.00 0.00 0.34 0.38 0.23
[4,] 0 0.00 0.00 0.00 0.16 0.23
[5,] 0 0.00 0.00 0.00 0.00 0.47
[6,] 0 0.00 0.00 0.00 0.00 0.00
$K_hat
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 4.77 -0.26 1.03 -3.02 -0.01 -0.02
[2,] -0.26 5.24 0.50 -1.09 -0.03 -0.08
[3,] 1.03 0.50 1.79 -0.13 0.12 0.06
[4,] -3.02 -1.09 -0.13 4.89 0.00 0.08
[5,] -0.01 -0.03 0.12 0.00 1.17 -0.15
[6,] -0.02 -0.08 0.06 0.08 -0.15 1.16
Target estimate1
true positive 5 2.000
true negative 10 8.000
false positive 0 2.000
false negative 0 3.000
F1-score 1 0.444
specificity 1 0.800
sensitivity 1 0.400
MCC 1 0.213
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.