class HMMPathMatcher[O, V, T] extends PathMatcher[O, V, T]
An implementation of PathMatcher
that creates a Hidden Markov Model (HMM)
and calculates the most likely path using the Viterbi algorithm.
An instance of HMMPathMatcher
delegates the creation of the following HMM components:
- The
candidateGenerator
object creates candidate states.
Candidate states are possible MatchResults for a given observation of typeO
. Typically, a candidate state is the projection of an observation onto a nearby vertex of typeV
. - The
emissionProbabilityStrategy
object calculates the emission probabilities.
The emission probability represents the probability that an observation is emitted supposing that the system is in a given candidate state. - The
transitionProbabilityStrategy
object calculates the transition probabilities. Depending on the implementation, this object may return additional information of typeT
about the transitions.
Given two successive observations O1 and O2, a candidate state C1 generated for O1 and a candidate state C2 generated for O2, the transition probability between C1 and C2 represents the probability of the system going from state C1 to state C2.
See also Hidden Markov Map Matching Through Noise and Sparseness.
- Alphabetic
- By Inheritance
- HMMPathMatcher
- PathMatcher
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
HMMPathMatcher(candidateGenerator: CandidateGenerator[O, V], emissionProbabilityStrategy: EmissionProbabilityStrategy[O, V], transitionProbabilityStrategy: TransitionProbabilityStrategy[O, V, T])
- candidateGenerator
An object that generates candidate states for a particular observation
- emissionProbabilityStrategy
An object that calculates the probability that an observation is emitted supposing that the system is in a given candidate state
- transitionProbabilityStrategy
An object that calculates the probability of going from one candidate state generated for an observation at time t to another candidate state generated for an observation at time t + 1. This object may also return additional data of type
T
about the transition
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
matchPath(observations: Seq[O]): MatchedPath[V, T]
Given a sequence of observations, returns a matched path.
Given a sequence of observations, returns a matched path.
- Definition Classes
- HMMPathMatcher → PathMatcher
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()