public class MixtureDurationDiffSM extends DurationDiffSM
DurationDiffSMs.delta, ess, max, mininternalalphabets, length, rUNKNOWN| Constructor and Description |
|---|
MixtureDurationDiffSM(int starts,
DurationDiffSM... function)
The main constructor of a
MixtureDurationDiffSM. |
MixtureDurationDiffSM(StringBuffer source)
This is the constructor for
Storable. |
| Modifier and Type | Method and Description |
|---|---|
void |
addGradientOfLogPriorTerm(double[] grad,
int start)
This method computes the gradient of
DifferentiableStatisticalModel.getLogPriorTerm() for each
parameter of this model. |
void |
adjust(int[] length,
double[] weight)
This method adjust the parameter based on the given statistic.
|
MixtureDurationDiffSM |
clone()
Creates a clone (deep copy) of the current
DifferentiableSequenceScore
instance. |
protected void |
fromXML(StringBuffer rep)
This method is called in the constructor for the
Storable
interface to create a scoring function from a StringBuffer. |
double[] |
getCurrentParameterValues()
Returns a
double array of dimension
DifferentiableSequenceScore.getNumberOfParameters() containing the current parameter values. |
String |
getInstanceName()
Should return a short instance name such as iMM(0), BN(2), ...
|
double |
getLogPriorTerm()
This method computes a value that is proportional to
|
double |
getLogScore(int... values)
This method enables the user to get the log-score without using a sequence object.
|
double |
getLogScoreAndPartialDerivation(IntList indices,
DoubleList partialDer,
int... values)
This method enables the user to get the log-score and the partial derivations without using a sequence object.
|
int |
getNumberOfParameters()
Returns the number of parameters in this
DifferentiableSequenceScore. |
int |
getNumberOfRecommendedStarts()
This method returns the number of recommended optimization starts.
|
protected String |
getRNotation(String distributionName,
NumberFormat nf)
This method returns the distribution in R notation.
|
void |
initializeFunction(int index,
boolean freeParams,
DataSet[] data,
double[][] weights)
This method creates the underlying structure of the
DifferentiableSequenceScore. |
void |
initializeFunctionRandomly(boolean freeParams)
This method initializes the
DifferentiableSequenceScore randomly. |
void |
initializeUniformly()
This method set special parameters that lead to an uniform distribution.
|
boolean |
isInitialized()
This method can be used to determine whether the instance is initialized.
|
boolean |
isNormalized()
This method indicates whether the implemented score is already normalized
to 1 or not.
|
void |
modify(int delta)
This method modifies the underlying
AlphabetContainer. |
void |
setParameters(double[] params,
int start)
This method sets the internal parameters to the values of
params between start and
start + |
StringBuffer |
toXML()
This method returns an XML representation as
StringBuffer of an
instance of the implementing class. |
getESS, getLogNormalizationConstant, getLogPartialNormalizationConstant, getMax, getMin, getNumberOfPossibilities, getSizeOfEventSpaceForRandomVariablesOfParameter, isPossible, next, reset, toStringgetInternalPosition, getLogScoreAndPartialDerivation, getLogScoreAndPartialDerivationForInternal, getLogScoreFor, getLogScoreForInternal, getValuesFromSequenceemitDataSet, getInitialClassParam, getLogProbFor, getLogProbFor, getLogProbFor, getLogScoreFor, getLogScoreFor, getMaximalMarkovOrder, isNormalizedgetAlphabetContainer, getCharacteristics, getLength, getLogScoreAndPartialDerivation, getLogScoreAndPartialDerivation, getLogScoreFor, getLogScoreFor, getNumberOfStarts, getNumericalCharacteristics, toStringequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetLogScoreAndPartialDerivation, getLogScoreAndPartialDerivationgetAlphabetContainer, getCharacteristics, getLength, getLogScoreFor, getLogScoreFor, getNumericalCharacteristicspublic MixtureDurationDiffSM(int starts,
DurationDiffSM... function)
throws WrongAlphabetException,
CloneNotSupportedException,
IllegalArgumentException
MixtureDurationDiffSM.starts - the number of recommended startsfunction - the DurationDiffSMs for the componentsCloneNotSupportedException - if at least one element of functions could not
be clonedIllegalArgumentException - if the starts is smaller than zero (0)WrongAlphabetException - if at least one element of function has
an AlphabetContainer that is not equal to those
of the other elements of functionpublic MixtureDurationDiffSM(StringBuffer source) throws NonParsableException
source - the XML representation as StringBufferNonParsableException - if the XML representation could not be parsedpublic MixtureDurationDiffSM clone() throws CloneNotSupportedException
DifferentiableSequenceScoreDifferentiableSequenceScore
instance.clone in interface DifferentiableSequenceScoreclone in interface SequenceScoreclone in class PositionDiffSMDifferentiableSequenceScoreCloneNotSupportedException - if something went wrong while cloning the
DifferentiableSequenceScorepublic void adjust(int[] length,
double[] weight)
DurationDiffSMadjust in class DurationDiffSMlength - an array containing length valuesweight - an array containing corresponding weight valuespublic double getLogScore(int... values)
PositionDiffSMgetLogScore in class PositionDiffSMvalues - the valuespublic double getLogScoreAndPartialDerivation(IntList indices, DoubleList partialDer, int... values)
PositionDiffSMgetLogScoreAndPartialDerivation in class PositionDiffSMindices - a list for the indices of the parameterspartialDer - a list of the partial derivationsvalues - the valuespublic void addGradientOfLogPriorTerm(double[] grad,
int start)
throws Exception
DifferentiableStatisticalModelDifferentiableStatisticalModel.getLogPriorTerm() for each
parameter of this model. The results are added to the array
grad beginning at index start.grad - the array of gradientsstart - the start index in the grad array, where the
partial derivations for the parameters of this models shall be
enteredException - if something went wrong with the computing of the gradientsDifferentiableStatisticalModel.getLogPriorTerm()public double getLogPriorTerm()
DifferentiableStatisticalModel
DifferentiableStatisticalModel.getESS() * DifferentiableStatisticalModel.getLogNormalizationConstant() + Math.log( prior )
prior is the prior for the parameters of this model.DifferentiableStatisticalModel.getESS() * DifferentiableStatisticalModel.getLogNormalizationConstant() + Math.log( prior ).DifferentiableStatisticalModel.getESS(),
DifferentiableStatisticalModel.getLogNormalizationConstant()public double[] getCurrentParameterValues()
throws Exception
DifferentiableSequenceScoredouble array of dimension
DifferentiableSequenceScore.getNumberOfParameters() containing the current parameter values.
If one likes to use these parameters to start an optimization it is
highly recommended to invoke
DifferentiableSequenceScore.initializeFunction(int, boolean, DataSet[], double[][]) before.
After an optimization this method can be used to get the current
parameter values.Exception - if no parameters exist (yet)public String getInstanceName()
SequenceScorepublic int getNumberOfParameters()
DifferentiableSequenceScoreDifferentiableSequenceScore. If the
number of parameters is not known yet, the method returns
DifferentiableSequenceScore.UNKNOWN.DifferentiableSequenceScoreDifferentiableSequenceScore.UNKNOWNpublic void initializeFunction(int index,
boolean freeParams,
DataSet[] data,
double[][] weights)
throws Exception
DifferentiableSequenceScoreDifferentiableSequenceScore.index - the index of the class the DifferentiableSequenceScore modelsfreeParams - indicates whether the (reduced) parameterization is useddata - the data setsweights - the weights of the sequences in the data setsException - if something went wrongpublic void initializeUniformly()
DurationDiffSMinitializeUniformly in class DurationDiffSMpublic void initializeFunctionRandomly(boolean freeParams)
throws Exception
DifferentiableSequenceScoreDifferentiableSequenceScore randomly. It has to
create the underlying structure of the DifferentiableSequenceScore.freeParams - indicates whether the (reduced) parameterization is usedException - if something went wrongpublic boolean isInitialized()
SequenceScoreSequenceScore.getLogScoreFor(Sequence).true if the instance is initialized, false
otherwisepublic boolean isNormalized()
DifferentiableStatisticalModelfalse.isNormalized in interface DifferentiableStatisticalModelisNormalized in class AbstractDifferentiableStatisticalModeltrue if the implemented score is already normalized
to 1, false otherwisepublic void setParameters(double[] params,
int start)
DifferentiableSequenceScoreparams between start and
start + DifferentiableSequenceScore.getNumberOfParameters() - 1params - the new parametersstart - the start index in paramsprotected String getRNotation(String distributionName, NumberFormat nf)
DurationDiffSMgetRNotation in class DurationDiffSMdistributionName - the name of the distribution, e.g., "p"nf - the NumberFormat to be used, can be nullREnvironmentpublic void modify(int delta)
DurationDiffSMAlphabetContainer. This might be necessary if the motif length changed.modify in class DurationDiffSMdelta - the changeMutable.modify(int, int),
MutableMotifDiscoverer.modifyMotif(int, int, int)public int getNumberOfRecommendedStarts()
DifferentiableSequenceScoregetNumberOfRecommendedStarts in interface DifferentiableSequenceScoregetNumberOfRecommendedStarts in class AbstractDifferentiableSequenceScoreprotected void fromXML(StringBuffer rep) throws NonParsableException
AbstractDifferentiableSequenceScoreStorable
interface to create a scoring function from a StringBuffer.fromXML in class DurationDiffSMrep - the XML representation as StringBufferNonParsableException - if the StringBuffer could not be parsedAbstractDifferentiableSequenceScore.AbstractDifferentiableSequenceScore(StringBuffer)public StringBuffer toXML()
StorableStringBuffer of an
instance of the implementing class.toXML in interface StorabletoXML in class DurationDiffSM