| Title: | Markov Random Field Structure Estimator | 
| Version: | 0.4.2 | 
| Date: | 2024-10-21 | 
| Description: | Three algorithms for estimating a Markov random field structure.Two of them are an exact version and a simulated annealing version of a penalized maximum conditional likelihood method similar to the Bayesian Information Criterion. These algorithm are described in Frondana (2016) <doi:10.11606/T.45.2018.tde-02022018-151123>.The third one is a greedy algorithm, described in Bresler (2015) <doi:10.1145/2746539.2746631). | 
| License: | GPL (≥ 3) | 
| Maintainer: | Rodrigo Carvalho <rodrigorsdc@gmail.com> | 
| LinkingTo: | Rcpp | 
| Imports: | Rcpp | 
| Depends: | gtools, Rfast | 
| NeedsCompilation: | yes | 
| Packaged: | 2024-10-21 17:19:50 UTC; rodrigo | 
| Author: | Rodrigo Carvalho [aut, cre], Florencia Leonardi [rev, ths] | 
| Repository: | CRAN | 
| Date/Publication: | 2024-10-21 17:40:01 UTC | 
Bresler's non-binary Markov random field structure estimator
Description
A greedy algorithm to estimate Markovian neighborhoods.
Usage
mrfse.ci(a_size, sample, tau, max_degree=ncol(sample)-1)
Arguments
| a_size | Size of the alphabet. | 
| sample | A integer-valued matrix. Each value must belong range  | 
| tau | A hyperparameter. See references. | 
| max_degree | The maximum length of a candidate Markovian neighborhood. Must be
non-negative and less than  | 
Value
A list filled with estimated Markov neighborhood for each graph vertex
Author(s)
Rodrigo Carvalho
References
Guy Bresler. 2015. Efficiently Learning Ising Models on Arbitrary Graphs. In Proceedings of the forty-seventh annual ACM symposium on Theory of Computing (STOC '15). Association for Computing Machinery, New York, NY, USA, 771–782. DOI:https://doi.org/10.1145/2746539.2746631
Examples
library(mrfse)
a_size = c(0, 1)
s = matrix(sample(a_size, size=1000, replace=TRUE), ncol=5)
mrfse.ci(length(a_size), s, 0.2)
Conservative approach for Bresler's non-binary estimator
Description
A greedy algorithm to estimate Markovian neighborhoods.
Usage
mrfse.ci.con(a_size, sample, tau, max_degree=ncol(sample)-1)
Arguments
| a_size | Size of the alphabet. | 
| sample | A integer-valued matrix. Each value must belong range  | 
| tau | A hyperparameter. See references. | 
| max_degree | The maximum length of a candidate Markovian neighborhood. Must be
non-negative and less than  | 
Value
A adjacency matrix of the estimated Markov random field graph.
Author(s)
Rodrigo Carvalho
References
Guy Bresler. 2015. Efficiently Learning Ising Models on Arbitrary Graphs. In Proceedings of the forty-seventh annual ACM symposium on Theory of Computing (STOC '15). Association for Computing Machinery, New York, NY, USA, 771–782. DOI:https://doi.org/10.1145/2746539.2746631
Examples
library(mrfse)
a_size = c(0, 1)
s = matrix(sample(a_size, size=1000, replace=TRUE), ncol=5)
mrfse.ci.con(length(a_size), s, 0.2)
Non-conservative approach for Bresler's non-binary estimator
Description
A greedy algorithm to estimate Markovian neighborhoods.
Usage
mrfse.ci.ncon(a_size, sample, tau, max_degree=ncol(sample)-1)
Arguments
| a_size | Size of the alphabet. | 
| sample | A integer-valued matrix. Each value must belong range  | 
| tau | A hyperparameter. See references. | 
| max_degree | The maximum length of a candidate Markovian neighborhood. Must be
non-negative and less than  | 
Value
A adjacency matrix of the estimated Markov random field graph.
Author(s)
Rodrigo Carvalho
References
Guy Bresler. 2015. Efficiently Learning Ising Models on Arbitrary Graphs. In Proceedings of the forty-seventh annual ACM symposium on Theory of Computing (STOC '15). Association for Computing Machinery, New York, NY, USA, 771–782. DOI:https://doi.org/10.1145/2746539.2746631
Examples
library(mrfse)
a_size = c(0, 1)
s = matrix(sample(a_size, size=1000, replace=TRUE), ncol=5)
mrfse.ci.ncon(length(a_size), s, 0.2)
Create a sampler for Markov random field.
Description
Create a sampler for Markov random field from a DAG
Usage
mrfse.create.sampler(dag_adj, A)
Arguments
| dag_adj | An direct acyclic graph adjacency matrix | 
| A | Size of alphabet | 
Value
A list filled with the following components:
neigh: A list of neighborhood. For each i, neigh[[i]] is a markovian neighborhood of vertex i
probs: A list of probabilities. For each i, probs[[i]] is matrix of probabilities of vertex i given your markovian neighborhood. Those probabilites will be used to generate a sample.
moral_adj: moral graph of adj_dag
topol_sort: topological sort of adj_dag
num_nodes: number of nodes de adj_dag
A: alphabet size
Author(s)
Rodrigo Carvalho
Examples
library(mrfse)
adj = matrix(c(0, 1, 0, 0, 0, 0, 0, 1, 0), byrow=TRUE, ncol=3)
mrfse.create.sampler(adj, 3)
A Markov random field structure estimator
Description
A penalized likelihood BIC-based to estimate Markovian neighborhoods.
Usage
mrfse.exact(a_size, sample, c, max_neigh= ncol(sample) - 1)
Arguments
| a_size | Size of the alphabet. | 
| sample | A integer-valued matrix. Each value must belong range  | 
| c | The penalization constant. Must be positive. | 
| max_neigh | The maximum length of a candidate Markovian neighborhood. Must be
non-negative and less than  | 
Value
A list filled with estimated Markov neighborhood for each graph vertex
Author(s)
Rodrigo Carvalho
References
FRONDANA, Iara Moreira. Model selection for discrete Markov random fields on graphs. São Paulo : Instituto de Matemática e Estatística, University of São Paulo, 2016. Doctoral Thesis in Estatística. <doi:10.11606/T.45.2018.tde-02022018-151123> http://www.teses.usp.br/teses/disponiveis/45/45133/tde-02022018-151123/publico/tese_Iara_Frondana.pdf
Examples
library(mrfse)
a_size = c(0, 1)
s = matrix(sample(a_size, size=1000, replace=TRUE), ncol=5)
mrfse.exact(length(a_size), s, 1.0)
Conservative approach for Frondana's mrfse
Description
Conservative construction of the estimated Markov random field graph.
Usage
mrfse.exact.con(a_size, sample, c, max_neigh = ncol(sample) - 1)
Arguments
| a_size | Size of the alphabet. | 
| sample | A integer-valued matrix. Each value must belong range  | 
| c | The penalization constant. Must be positive. | 
| max_neigh | The maximum length of a candidate Markovian neighborhood. Must be
non-negative and less than  | 
Value
A adjacency matrix of the estimated Markov random field graph.
Author(s)
Rodrigo Carvalho
References
FRONDANA, Iara Moreira. Model selection for discrete Markov random fields on graphs. São Paulo : Instituto de Matemática e Estatística, University of São Paulo, 2016. Doctoral Thesis in Estatística. <doi:10.11606/T.45.2018.tde-02022018-151123> http://www.teses.usp.br/teses/disponiveis/45/45133/tde-02022018-151123/publico/tese_Iara_Frondana.pdf
Examples
library(mrfse)
a = c(0, 1)
s = matrix(sample(a, size=1000, replace=TRUE), ncol=5)
mrfse.exact.con(length(a), s, 1.0)
Non-conservative approach for Frondana's mrfse
Description
Conservative construction of the estimated Markov random field graph.
Usage
mrfse.exact.ncon(a_size, sample, c, max_neigh = ncol(sample) - 1)
Arguments
| a_size | Size of the alphabet. | 
| sample | A integer-valued matrix. Each value must belong range  | 
| c | The penalization constant. Must be positive. | 
| max_neigh | The maximum length of a candidate Markovian neighborhood. Must be
non-negative and less than  | 
Value
A adjacency matrix of the estimated Markov random field graph.
Author(s)
Rodrigo Carvalho
References
FRONDANA, Iara Moreira. Model selection for discrete Markov random fields on graphs. São Paulo : Instituto de Matemática e Estatística, University of São Paulo, 2016. Doctoral Thesis in Estatística. <doi:10.11606/T.45.2018.tde-02022018-151123> http://www.teses.usp.br/teses/disponiveis/45/45133/tde-02022018-151123/publico/tese_Iara_Frondana.pdf
Examples
library(mrfse)
a = c(0, 1)
s = matrix(sample(a, size=1000, replace=TRUE), ncol=5)
mrfse.exact.ncon(length(a), s, 1.0)
A Markov random field structure estimator using simulated annealing approach
Description
A penalized likelihood BIC-based to estimate Markovian neighborhoods.
Usage
mrfse.sa(a_size, sample, c, t0, iterations=1000, max_neigh=ncol(sample)-1)
Arguments
| a_size | Size of the alphabet. | 
| sample | A integer-valued matrix. Each value must belong range  | 
| c | The penalization constant. Must be positive. | 
| t0 | Inital temperature | 
| iterations | Number of simulated annealing iterations | 
| max_neigh | The maximum length of a candidate Markovian neighborhood. Must be
non-negative and less than  | 
Value
A list filled with estimated Markov neighborhood for each graph vertex
Author(s)
Rodrigo Carvalho
References
FRONDANA, Iara Moreira. Model selection for discrete Markov random fields on graphs. São Paulo : Instituto de Matemática e Estatística, University of São Paulo, 2016. Doctoral Thesis in Estatística. <doi:10.11606/T.45.2018.tde-02022018-151123> http://www.teses.usp.br/teses/disponiveis/45/45133/tde-02022018-151123/publico/tese_Iara_Frondana.pdf
Examples
library(mrfse)
a_size = c(0, 1)
s = matrix(sample(a_size, size=1000, replace=TRUE), ncol=5)
mrfse.sa(length(a_size), s, 1.0, 500, 1000)
Cnservative approach for Frondana's mrfse using simulated annealing
Description
A penalized likelihood BIC-based to estimate Markovian neighborhoods.
Usage
mrfse.sa.con(a_size, sample, c, t0, iterations=1000, max_neigh=ncol(sample)-1)
Arguments
| a_size | Size of the alphabet. | 
| sample | A integer-valued matrix. Each value must belong range  | 
| c | The penalization constant. Must be positive. | 
| t0 | Inital temperature | 
| iterations | Number of simulated annealing iterations | 
| max_neigh | The maximum length of a candidate Markovian neighborhood. Must be
non-negative and less than  | 
Value
A adjacency matrix of the estimated Markov random field graph.
Author(s)
Rodrigo Carvalho
References
FRONDANA, Iara Moreira. Model selection for discrete Markov random fields on graphs. São Paulo : Instituto de Matemática e Estatística, University of São Paulo, 2016. Doctoral Thesis in Estatística. <doi:10.11606/T.45.2018.tde-02022018-151123> http://www.teses.usp.br/teses/disponiveis/45/45133/tde-02022018-151123/publico/tese_Iara_Frondana.pdf
Examples
library(mrfse)
a_size = c(0, 1)
s = matrix(sample(a_size, size=1000, replace=TRUE), ncol=5)
mrfse.sa.con(length(a_size), s, 1.0, 500, 1000)
Non-conservative approach for Frondana's mrfse using simulated annealing
Description
A penalized likelihood BIC-based to estimate Markovian neighborhoods.
Usage
mrfse.sa.ncon(a_size, sample, c, t0, iterations=1000, max_neigh=ncol(sample)-1)
Arguments
| a_size | Size of the alphabet. | 
| sample | A integer-valued matrix. Each value must belong range  | 
| c | The penalization constant. Must be positive. | 
| t0 | Inital temperature | 
| iterations | Number of simulated annealing iterations | 
| max_neigh | The maximum length of a candidate Markovian neighborhood. Must be
non-negative and less than  | 
Value
A adjacency matrix of the estimated Markov random field graph.
Author(s)
Rodrigo Carvalho
References
FRONDANA, Iara Moreira. Model selection for discrete Markov random fields on graphs. São Paulo : Instituto de Matemática e Estatística, University of São Paulo, 2016. Doctoral Thesis in Estatística. <doi:10.11606/T.45.2018.tde-02022018-151123> http://www.teses.usp.br/teses/disponiveis/45/45133/tde-02022018-151123/publico/tese_Iara_Frondana.pdf
Examples
library(mrfse)
a_size = c(0, 1)
s = matrix(sample(a_size, size=1000, replace=TRUE), ncol=5)
mrfse.sa.ncon(length(a_size), s, 1.0, 500, 1000)
Generate a independent sample of a Markov random field
Description
Generate a independent sample of a Markov random field according to the probilities of the sampler.
Usage
mrfse.sample(sampler, n)
Arguments
| sampler | A sampler created by  | 
| n | Size of sample | 
Value
A matrix whose number of columns is the number of nodes. Each line is a single independent sample of Markov random field given by the probabilites of sampler.
Author(s)
Rodrigo Carvalho
Examples
library(mrfse)
adj = matrix(c(0, 1, 0, 0, 0, 0, 0, 1, 0), byrow=TRUE, ncol=3)
sampler = mrfse.create.sampler(adj, 3)
mrfse.sample(sampler, 3000)