# BMNPseudo: Pseudo-likelihood inference in L1-penalized Binary Markov... In BMN: The pseudo-likelihood method for pairwise binary markov networks

## Description

Functions to calculate approximate parameter estimates for L1-penalized Binary Markov Models.

## Usage

 ```1 2 3 4 5 6``` ```BMNPseudo(X, rhoVec, Delta=NULL, ThetaStart=NULL, maxError=1e-5, verbose=FALSE, maxIter=100, penalize.diag=FALSE, stepSize=1, performLineSearch=FALSE) BMNPseudo.single(X, rho, Delta=NULL, ThetaStart=NULL, maxError=1e-5, maxIter=100, penalize.diag=FALSE, stepSize=1, performLineSearch=FALSE) ```

## Arguments

 `X` Input data matrix consisting of 0-1 entries. Has n rows and p columns. `rho` Value of the penalty parameter; If a non-negative p-by-p matrix is given, it is used as the penalty structure. `rhoVec` Gives all values of rho for which the solution should be calculated. `Delta` Adjustmeant to the gradient. `ThetaStart` Starting value for Theta, has to be a p-by-p matrix. `maxError` convergence threshold for the algorithm. `verbose` Print status messages. `maxIter` Maximum number of iteratios to run. `penalize.diag` Should the diagonal be penalized? `stepSize` Stepsize of the algorithm; should be 1 or less. `performLineSearch` If TRUE, a line search is performed; takes longer but is guarateed to converge.

## Details

The function `BMNPseudo` fits an approximate penalized pairwise binary Markov model to the data provided as matrix `X` for each of the elements in the penalty parameter vector `rhoVec` (note that `rhoVec` will be sorted in increasing order). Internally, the function `BMNExact.single` is called for each entry in `rhoVec` and the results are collected as described below.

## Value

 `rho` Vector of non-negative penalty parameters sorted in decreasing order. `ThetaList` A list of Theta pxp matrices, corresponding to the penalty parameters in rho. `success` A logical vector of the same length as rho. True, if the function succeeded for the corresponding value in rho. `penalize.diag` Logical. Indicates if the diagonal was penalized (same as input value `penalize.diag`.

## Author(s)

Holger Hoefling

`BMNExact`, `BMNJT`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12``` ```library(BMN) Theta = matrix(numeric(25), ncol=5); Theta[1,1]=0.5; Theta[2,2]=0.5; Theta[3,3]=0; Theta[4,4]= -0.5; Theta[5,5]= 0.5; Theta[1,2]=Theta[2,1]=1; Theta[1,4]=Theta[4,1]=1; Theta[2,3]=Theta[3,2]= -1; numSamples=1000; burnIn=100; skip=1; simData = BMNSamples(Theta, numSamples, burnIn, skip) rhoVec = c(0.01, 0.02, 0.03) pseudoPath = BMNPseudo(simData, rhoVec) pseudoSingle = BMNPseudo.single(simData, 0.02) ```

BMN documentation built on May 29, 2017, 10:55 a.m.