public abstract class DAGTrainSM extends InhomogeneousDGTrainSM
DAGTrainSM
).Modifier and Type | Field and Description |
---|---|
protected InhCondProb[] |
constraints
The constraints for the model.
|
DEFAULT_STREAM, sostream
params, trained
alphabets, length
Modifier | Constructor and Description |
---|---|
protected |
DAGTrainSM(IDGTrainSMParameterSet params)
This is the main constructor.
|
protected |
DAGTrainSM(StringBuffer xml)
The standard constructor for the interface
Storable . |
Modifier and Type | Method and Description |
---|---|
protected static boolean |
checkAcyclic(int length,
int[][] graph)
This method checks whether a given graph is acyclic.
|
DAGTrainSM |
clone()
Follows the conventions of
Object 's clone() -method. |
protected void |
createConstraints(int[][] structure)
This method creates the constraints for a given structure.
|
protected void |
drawParameters(DataSet data,
double[] weights)
This method draws the parameter of the model from the likelihood or the
posterior, respectively.
|
DataSet |
emitDataSet(int n,
int... lengths)
This method returns a
DataSet object containing artificial
sequence(s). |
protected void |
estimateParameters(DataSet data,
double[] weights)
This method estimates the parameter of the model from the likelihood or
the posterior, respectively.
|
protected StringBuffer |
getFurtherModelInfos()
Returns further model information as a
StringBuffer . |
double |
getLogPriorTerm()
Returns a value that is proportional to the log of the prior.
|
double |
getLogProbFor(Sequence sequence,
int startpos,
int endpos)
Returns the logarithm of the probability of (a part of) the given
sequence given the model.
|
NumericalResultSet |
getNumericalCharacteristics()
Returns the subset of numerical values that are also returned by
SequenceScore.getCharacteristics() . |
String |
getStructure()
Returns a
String representation of the underlying graph. |
protected void |
setFurtherModelInfos(StringBuffer xml)
This method replaces the internal model information with those from a
StringBuffer . |
String |
toString(NumberFormat nf)
This method returns a
String representation of the instance. |
check, set, setOutputStream
fromXML, getCurrentParameterSet, getDescription, getESS, getXMLTag, isInitialized, toXML
getAlphabetContainer, getCharacteristics, getLength, getLogProbFor, getLogProbFor, getLogScoreFor, getLogScoreFor, getLogScoreFor, getLogScoreFor, getLogScoreFor, getMaximalMarkovOrder, toString, train
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
train
getInstanceName
protected InhCondProb[] constraints
protected DAGTrainSM(IDGTrainSMParameterSet params) throws CloneNotSupportedException, IllegalArgumentException, NonParsableException
DAGTrainSM
from the
given IDGTrainSMParameterSet
.params
- the given parameter setCloneNotSupportedException
- if the parameter set could not be clonedIllegalArgumentException
- if the parameter set is not instantiatedNonParsableException
- if the parameter set is not parsableInhomogeneousDGTrainSM.InhomogeneousDGTrainSM(IDGTrainSMParameterSet)
protected DAGTrainSM(StringBuffer xml) throws NonParsableException
Storable
.
Creates a new DAGTrainSM
out of its XML representation.xml
- the XML representation as StringBuffer
NonParsableException
- if the DAGTrainSM
could not be reconstructed out of the
XML representation (the StringBuffer
could not be
parsed)Storable
,
InhomogeneousDGTrainSM.InhomogeneousDGTrainSM(StringBuffer)
public DAGTrainSM clone() throws CloneNotSupportedException
AbstractTrainableStatisticalModel
Object
's clone()
-method.clone
in interface SequenceScore
clone
in interface TrainableStatisticalModel
clone
in class InhomogeneousDGTrainSM
AbstractTrainableStatisticalModel
(the member-AlphabetContainer
isn't deeply cloned since
it is assumed to be immutable). The type of the returned object
is defined by the class X
directly inherited from
AbstractTrainableStatisticalModel
. Hence X
's
clone()
-method should work as:Object o = (X)super.clone();
o
defined by
X
that are not of simple data-types like
int
, double
, ... have to be deeply
copied return o
CloneNotSupportedException
- if something went wrong while cloningpublic DataSet emitDataSet(int n, int... lengths) throws NotTrainedException, Exception
StatisticalModel
DataSet
object containing artificial
sequence(s).
emitDataSet( int n, int l )
should return a data set with
n
sequences of length l
.
emitDataSet( int n, int[] l )
should return a data set with
n
sequences which have a sequence length corresponding to
the entry in the given array l
.
emitDataSet( int n )
and
emitDataSet( int n, null )
should return a data set with
n
sequences of length of the model (
SequenceScore.getLength()
).
Exception
.emitDataSet
in interface StatisticalModel
emitDataSet
in class AbstractTrainableStatisticalModel
n
- the number of sequences that should be contained in the
returned data setlengths
- the length of the sequences for a homogeneous model; for an
inhomogeneous model this parameter should be null
or an array of size 0.DataSet
containing the artificial sequence(s)NotTrainedException
- if the model is not trained yetException
- if the emission did not succeedDataSet
public double getLogPriorTerm() throws Exception
StatisticalModel
Exception
- if something went wrongpublic double getLogProbFor(Sequence sequence, int startpos, int endpos) throws NotTrainedException, Exception
StatisticalModel
StatisticalModel.getLogProbFor(Sequence, int)
by the fact, that the model could be
e.g. homogeneous and therefore the length of the sequences, whose
probability should be returned, is not fixed. Additionally, the end
position of the part of the given sequence is given and the probability
of the part from position startpos
to endpos
(inclusive) should be returned.
length
and the alphabets
define the type of
data that can be modeled and therefore both has to be checked.sequence
- the given sequencestartpos
- the start position within the given sequenceendpos
- the last position to be taken into accountNotTrainedException
- if the model is not trained yetException
- if the sequence could not be handled (e.g.
startpos >
, endpos
> sequence.length
, ...) by the modelpublic NumericalResultSet getNumericalCharacteristics()
SequenceScore
SequenceScore.getCharacteristics()
.public String getStructure() throws NotTrainedException
InhomogeneousDGTrainSM
String
representation of the underlying graph.getStructure
in class InhomogeneousDGTrainSM
String
representation of the underlying graphNotTrainedException
- if the structure is not set, this can only be the case if the
model is not trainedpublic String toString(NumberFormat nf)
SequenceScore
String
representation of the instance.toString
in interface SequenceScore
toString
in class DiscreteGraphicalTrainSM
nf
- the NumberFormat
for the String
representation of parameters or probabilitiesString
representation of the instanceprotected static boolean checkAcyclic(int length, int[][] graph)
length
- the sequence length (which corresponds to the number of nodes
in the graph)graph
- the specified graphtrue
if the given graph is acyclic,
false
otherwiseprotected void createConstraints(int[][] structure)
structure
- the specified structureprotected void drawParameters(DataSet data, double[] weights) throws Exception
data
- the given dataweights
- the weights for the sequences in the dataException
- if something went wrong while counting or drawingConstraintManager.countInhomogeneous(de.jstacs.data.AlphabetContainer,
int, DataSet, double[], boolean,
de.jstacs.sequenceScores.statisticalModels.trainable.discrete.Constraint...)
,
ConstraintManager.drawFreqs(double, InhCondProb...)
protected void estimateParameters(DataSet data, double[] weights) throws Exception
data
- the dataweights
- the weights for the sequences in the dataException
- if something went wrong while counting or estimatingdrawParameters(DataSet, double[])
protected StringBuffer getFurtherModelInfos()
DiscreteGraphicalTrainSM
StringBuffer
.getFurtherModelInfos
in class DiscreteGraphicalTrainSM
DiscreteGraphicalTrainSM.toXML()
protected void setFurtherModelInfos(StringBuffer xml) throws NonParsableException
DiscreteGraphicalTrainSM
StringBuffer
.setFurtherModelInfos
in class DiscreteGraphicalTrainSM
xml
- contains the model information like parameters of the
distribution etc. in XML formatNonParsableException
- if the StringBuffer
could not be parsedDiscreteGraphicalTrainSM.fromXML(StringBuffer)