Description Usage Arguments Value Author(s) See Also Examples

Construct a `march.Dcmm`

object, with visible order *orderVC*, hidden order *orderHC* and *M* hidden states, according to a `march.Dataset`

.
The first *maxOrder*-*orderVC* elements of each sequence are truncated in order to return a model
which can be compared with other Markovian model of visible order maxOrder. The construction is performed either by an evolutionary algorithm (EA) or by improving an existing DCMM.
The EA performs *gen* generations on a population of *popSize* individuals. The EA behaves as a Lamarckian evolutionary algorithm, using a Baum-Welch algorithm as
optimization step, running until log-likelihood improvement is less than *stopBw* or for *iterBw* iterations. Finally only the best individual from the population is returned as solution.
If a seedModel is provided, the only step executed is the optimization step, parameters related to the EA does not apply in this case.

1 2 | ```
march.dcmm.construct(y, orderHC, orderVC, M, gen = 5, popSize = 4,
maxOrder = orderVC, seedModel = NULL, iterBw = 2, stopBw = 0.1)
``` |

`y` |
the dataset from which the Dcmm will be constructed |

`orderHC` |
the order of the hidden chain of the constructed Dcmm. |

`orderVC` |
the order of the visible chain of the constructed Dcmm (0 for a HMM). |

`M` |
the number of hidden state of the Dcmm. |

`gen` |
the number of generation performed by the EA. |

`popSize` |
the number of individual stored into the population. |

`maxOrder` |
the maximum visible order among the set of Markovian models to compare. |

`seedModel` |
a model to optimize using Baum-Welch algorithm. |

`iterBw` |
the number of iteration performed by the Baum-Welch algorithm. |

`stopBw` |
the minimum increase in quality (log-likelihood) authorized in the Baum-Welch algorithm. |

the best `march.Dcmm`

constructed by the EA or the result of the Baum-Welch algorithm on *seedModel*.

Ogier Maitre

`march.Dcmm-class`

, `march.Model-class`

, `march.Dataset-class`

.

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 30 31 32 33 | ```
# Construct a 2 hidden states DCMM for the pewee data
# with hidden order set to 2 and visible order set to 1.
# The estimation procedure uses both the evolutionary algorithm (population size 2,
# one iteration) and the Bauw-Welch algorithm (one iteration).
march.dcmm.construct(y=pewee,orderHC=2,orderVC=1,M=2,popSize=2,gen=1,iterBw=1,stopBw=0.0001)
# Same as above, but the DCMM is replaced by a HMM (the visible order OrderVC is set to zero).
march.dcmm.construct(y=pewee,orderHC=2,orderVC=0,M=2,popSize=2,gen=1,iterBw=1,stopBw=0.0001)
# Construct a DCMM using an order 2 hidden chain,
# a visible chain of order 3 and 3 hidden states.
# A first model is computed using both EA and Baum-Welch algorithms.
# Then the initial solution is improved through two rounds of Baum-Welch optimization.
models <- list()
models[[length(models)+1]] <- march.dcmm.construct(y=pewee,orderHC=2,
orderVC=3,M=3,popSize=2,gen=2)
models[[length(models)+1]] <- march.dcmm.construct(y=pewee,seedModel=models[[1]],
orderVC=3,iterBw=10,stopBw=0.001)
models[[length(models)+1]] <- march.dcmm.construct(y=pewee,seedModel=models[[2]],
orderVC=3,iterBw=10,stopBw=0.0001)
# Show performance indicators (ll, number of independent parameters,
# BIC and AIC) for all computed models.
r <- do.call(rbind,lapply(models,march.summary))
print(r)
# Construct a three hidden states, first-order HMM (hence OrderVC=0) for the sleep data.
# By setting gen=1 and popSize=1, the estimation procedure uses only the Baum-Welch algorithm.
HMM <- march.dcmm.construct(sleep,orderHC=1,orderVC=0,M=3,gen=1,popSize=1,iterBw=10,stopBw=0.0001)
print(HMM)
# Compute the best sequence of hidden states for each subject in the sleep data.
HS <- march.dcmm.viterbi(HMM,sleep)
# Display the hidden states for the first 10 subjects.
print(HS[1:10])
``` |

march documentation built on Sept. 13, 2017, 3:01 a.m.

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.