Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## de.jstacs.models.discrete.inhomogeneous
Class FSDAGModel

    java.lang.Object
      de.jstacs.models.AbstractModel
          de.jstacs.models.discrete.DiscreteGraphicalModel
              de.jstacs.models.discrete.inhomogeneous.InhomogeneousDGM
                  de.jstacs.models.discrete.inhomogeneous.DAGModel
                      de.jstacs.models.discrete.inhomogeneous.FSDAGModel

All Implemented Interfaces:
  InstantiableFromParameterSet, Model, Storable, Cloneable

Direct Known Subclasses:
  FSDAGModelForGibbsSampling

    public class FSDAGModel

extends DAGModel

This class can be used for any discrete fixed structure directed acyclic graphical model ( `FSDAGModel`).

Author:
  Jens Keilwagen

Field Summary

Fields inherited from class de.jstacs.models.discrete.inhomogeneous.DAGModel
`constraints`

Fields inherited from class de.jstacs.models.discrete.inhomogeneous.InhomogeneousDGM
`DEFAULT_STREAM, sostream`

Fields inherited from class de.jstacs.models.discrete.DiscreteGraphicalModel
`params, trained`

Fields inherited from class de.jstacs.models.AbstractModel
`alphabets, length`

Constructor Summary
`FSDAGModel(FSDAGMParameterSet params)` This is the main constructor.
`FSDAGModel(StringBuffer xml)` The standard constructor for the interface `Storable`.

Method Summary
`void` | `drawParameters(Sample data, double[] weights, int[][] graph)` This method draws the parameters of the model from the a posteriori density.
`String` | `getInstanceName()` Should return a short instance name such as iMM(0), BN(2), ...
`byte` | `getMaximalMarkovOrder()` This method returns the maximal used Markov order, if possible.
`String` | `getStructure()` Returns a `String` representation of the underlying graph.
`protected String` | `getXMLTag()` Returns the XML tag that is used for this model in `DiscreteGraphicalModel.fromXML(StringBuffer)` and `DiscreteGraphicalModel.toXML()`.
`protected void` | `set(DGMParameterSet params, boolean trained)` Sets the parameters as internal parameters and does some essential computations.
`static void` | `train(Model[] models, int[][] graph, double[][] weights, Sample... data)` Computes the models with structure `graph`.
`void` | `train(Sample data, double[] weights)` Trains the `Model` object given the data as `Sample` using the specified weights.
`void` | `train(Sample data, double[] weights, int[][] graph)` Computes the model with structure `graph`.

Methods inherited from class de.jstacs.models.discrete.inhomogeneous.DAGModel
`checkAcyclic, clone, createConstraints, drawParameters, emitSample, estimateParameters, getFurtherModelInfos, getLogPriorTerm, getLogProbFor, getNumericalCharacteristics, getProbFor, setFurtherModelInfos, toString`

Methods inherited from class de.jstacs.models.discrete.inhomogeneous.InhomogeneousDGM
`check, setOutputStream`

Methods inherited from class de.jstacs.models.discrete.DiscreteGraphicalModel
`fromXML, getCurrentParameterSet, getDescription, getESS, isTrained, toXML`

Methods inherited from class de.jstacs.models.AbstractModel
`getAlphabetContainer, getCharacteristics, getLength, getLogProbFor, getLogProbFor, getLogProbFor, getLogProbFor, getPriorTerm, getProbFor, getProbFor, set, setNewAlphabetContainerInstance, train`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### FSDAGModel

    public FSDAGModel(FSDAGMParameterSet params)
               throws CloneNotSupportedException,
                      IllegalArgumentException,
                      NonParsableException

  This is the main constructor. It creates a new `FSDAGModel` from the given `FSDAGMParameterSet`.

  Parameters:
    `params` - the given parameter set
  Throws:
    `CloneNotSupportedException` - if the parameter set could not be cloned
    `IllegalArgumentException` - if the parameter set is not instantiated
    `NonParsableException` - if the parameter set is not parsable
  See Also:
    `DAGModel.DAGModel(de.jstacs.models.discrete.inhomogeneous.parameters.IDGMParameterSet)`

### FSDAGModel

    public FSDAGModel(StringBuffer xml)
               throws NonParsableException

  The standard constructor for the interface `Storable`. Creates a new `FSDAGModel` out of its XML representation.

  Parameters:
    `xml` - the XML representation as `StringBuffer`
  Throws:
    `NonParsableException` - if the `FSDAGModel` could not be reconstructed out of the XML representation (the `StringBuffer` could not be parsed)
  See Also:
    `Storable`, `DAGModel.DAGModel(StringBuffer)`

Method Detail

### getInstanceName

    public String getInstanceName()

  Description copied from interface: `Model`
  Should return a short instance name such as iMM(0), BN(2), ...

  Returns:
    a short instance name

### getMaximalMarkovOrder

    public byte getMaximalMarkovOrder()

  Description copied from interface: `Model`
  This method returns the maximal used Markov order, if possible.

  Specified by:
    `getMaximalMarkovOrder` in interface `Model`
  Overrides:
    `getMaximalMarkovOrder` in class `AbstractModel`
  Returns:
    maximal used Markov order

### getXMLTag

    protected String getXMLTag()

  Description copied from class: `DiscreteGraphicalModel`
  Returns the XML tag that is used for this model in `DiscreteGraphicalModel.fromXML(StringBuffer)` and `DiscreteGraphicalModel.toXML()`.

  Specified by:
    `getXMLTag` in class `DiscreteGraphicalModel`
  Returns:
    the XML tag that is used in `DiscreteGraphicalModel.fromXML(StringBuffer)` and `DiscreteGraphicalModel.toXML()`
  See Also:
    `DiscreteGraphicalModel.fromXML(StringBuffer)`, `DiscreteGraphicalModel.toXML()`

### train

    public void train(Sample data,
                      double[] weights)
               throws Exception

  Description copied from interface: `Model`
  Trains the `Model` object given the data as `Sample` using the specified weights. The weight at position i belongs to the element at position i. So the array `weight` should have the number of sequences in the sample as dimension. (Optionally it is possible to use `weight == null` if all weights have the value one.)
  This method should work non-incrementally. That means the result of the following series: `train(data1)`; `train(data2)` should be a fully trained model over `data2` and not over `data1+data2`. All parameters of the model were given by the call of the constructor.

  Parameters:
    `data` - the given sequences as `Sample`
    `weights` - the weights of the elements, each weight should be non-negative
  Throws:
    `Exception` - if the training did not succeed (e.g. the dimension of `weights` and the number of sequences in the sample do not match)
  See Also:
    `Sample.getElementAt(int)`, `Sample.ElementEnumerator`

### train

    public void train(Sample data,
                      double[] weights,
                      int[][] graph)
               throws Exception

  Computes the model with structure `graph`.

  Parameters:
    `data` - the `Sample`
    `weights` - the weights for the sequences in the `Sample`
    `graph` - the graph
  Throws:
    `Exception` - if something went wrong

### drawParameters

    public void drawParameters(Sample data,
                               double[] weights,
                               int[][] graph)
                        throws Exception

  This method draws the parameters of the model from the a posteriori density. For drawing from the prior you have to set the data and their weights to `null`. Furthermore this method enables you to specify a new graph structure.

  Parameters:
    `data` - a `Sample` or `null`
    `weights` - the (positive) weights for each sequence of the `Sample` or `null`
    `graph` - the graph or `null` for the current graph
  Throws:
    `Exception` - if something went wrong
  See Also:
    `DAGModel.drawParameters(Sample, double[])`, `DAGModel.checkAcyclic(int, int[][])`

### train

    public static void train(Model[] models,
                             int[][] graph,
                             double[][] weights,
                             Sample... data)
                      throws Exception

  Computes the models with structure `graph`.

  Parameters:
    `models` - an array of `AbstractModel`s containing only instances of `FSDAGModel`
    `data` - the `Sample`
    `weights` - the weights for the sequences in the `Sample`
    `graph` - the graph
  Throws:
    `Exception` - if something went wrong

### set

    protected void set(DGMParameterSet params,
                       boolean trained)
                throws CloneNotSupportedException,
                       NonParsableException

  Description copied from class: `DiscreteGraphicalModel`
  Sets the parameters as internal parameters and does some essential computations. Used in `fromParameterSet`-methods.

  Overrides:
    `set` in class `InhomogeneousDGM`
  Parameters:
    `params` - the new `ParameterSet`
    `trained` - indicates if the model is trained or not
  Throws:
    `CloneNotSupportedException` - if the parameter set could not be cloned
    `NonParsableException` - if the parameters of the model could not be parsed

### getStructure

    public String getStructure()

  Description copied from class: `InhomogeneousDGM`
  Returns a `String` representation of the underlying graph.

  Overrides:
    `getStructure` in class `DAGModel`
  Returns:
    a `String` representation of the underlying graph

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD