The model used in mrf2d is very flexible, but many simpler and popular models of the Markov Random Field literature can be written as particular cases. It considers the probability function: \[\begin{equation} \mathbb{P}(\mathbf{Z} = \mathbf{z}) = \frac{1}{\zeta_{\theta}} \exp \left( \sum_{r \in \mathcal{R}} \sum_{i,j \in \mathcal{L}} \theta_{z_i, z_j, r} \delta(j = i+r) ) \right), \end{equation}\] where \(\zeta_\theta\) is the normalizing constant and \(\mathcal{R}\) is a set of relative positions (mrfi objects). The probability function of many other models like the Ising model and the Potts model can be written by adding constraints to the array \(\theta_{a,b,r}\).

Important tasks like extracting sufficient statistics and estimating the parameters \(\theta_{a,b,r}\) must be able to reflect the parameter restrictions required by those less general models. Functions which result is affected by those restrictions take a family argument which determines what kind of restriction is considered. 5 families are available in mrf2d and this short article describes each them.

'onepar'

A single parameter for all different-valued pairs in all interacting positions.

Example

fit_pl(field1, mrfi(1), family = "onepar")
#> Model fitted via Pseudolikelihood 
#> 2 interacting positions: (1,0) (0,1) 
#> family: onepar

'oneeach'

One parameter for all different-valued pairs for each interacting position.

Example

fit_pl(field1, mrfi(1), family = "oneeach")
#> Model fitted via Pseudolikelihood 
#> 2 interacting positions: (1,0) (0,1) 
#> family: oneeach

'absdif'

One parameter for each absolute difference of interacting pairs \(d = |b-a|\) in each relative position.

Example

fit_pl(field1, mrfi(1), family = "absdif")
#> Model fitted via Pseudolikelihood 
#> 2 interacting positions: (1,0) (0,1) 
#> family: absdif

'dif'

One parameter for each difference of interacting pairs \(d = b-a\) in each relative position.

Example

fit_pl(field1, mrfi(1), family = "dif")
#> Model fitted via Pseudolikelihood 
#> 2 interacting positions: (1,0) (0,1) 
#> family: dif

'free'

Only the identifiability restriction \(\theta_{0,0,r} = 0\) for all \(r \in \mathcal{R}\).

Example

fit_pl(field1, mrfi(1), family = "free")
#> Model fitted via Pseudolikelihood 
#> 2 interacting positions: (1,0) (0,1) 
#> family: free