Assessment Functions

pydtmc.assess_first_order(possible_states, sequence, significance=0.05)[source]

The function verifies whether the given sequence can be associated to a first-order Markov process.

Parameters:
  • possible_states (List[str]) – the possible states of the process.

  • sequence (Union[List[int], List[str]]) – the observed sequence of states.

  • significance (float) – the p-value significance threshold below which to accept the alternative hypothesis.

Raises:

ValidationError – if any input argument is not compliant.

Return Type:

Tuple[Optional[bool], float, Dict[str, Any]]

pydtmc.assess_homogeneity(possible_states, sequences, significance=0.05)[source]

The function verifies whether the given sequences belong to the same Markov process.

Parameters:
  • possible_states (List[str]) – the possible states of the process.

  • sequences (List[Union[List[int], List[str]]]) – the observed sequences of states.

  • significance (float) – the p-value significance threshold below which to accept the alternative hypothesis.

Raises:

ValidationError – if any input argument is not compliant.

Return Type:

Tuple[Optional[bool], float, Dict[str, Any]]

pydtmc.assess_markov_property(possible_states, sequence, significance=0.05)[source]

The function verifies whether the given sequence holds the Markov property.

Parameters:
  • possible_states (List[str]) – the possible states of the process.

  • sequence (Union[List[int], List[str]]) – the observed sequence of states.

  • significance (float) – the p-value significance threshold below which to accept the alternative hypothesis.

Raises:

ValidationError – if any input argument is not compliant.

Return Type:

Tuple[Optional[bool], float, Dict[str, Any]]

pydtmc.assess_stationarity(possible_states, sequence, blocks=1, significance=0.05)[source]

The function verifies whether the given sequence is stationary.

Parameters:
  • possible_states (List[str]) – the possible states of the process.

  • sequence (Union[List[int], List[str]]) – the observed sequence of states.

  • blocks (int) – the number of blocks in which the sequence is divided.

  • significance (float) – the p-value significance threshold below which to accept the alternative hypothesis.

Raises:

ValidationError – if any input argument is not compliant.

Return Type:

Tuple[Optional[bool], float, Dict[str, Any]]

pydtmc.assess_theoretical_compatibility(mc, sequence, significance=0.05)[source]

The function verifies whether the given empirical sequence is statistically compatible with the given theoretical Markov process.

Parameters:
  • mc (MarkovChain) – a Markov chain representing the theoretical process.

  • sequence (Union[List[int], List[str]]) – the observed sequence of states.

  • significance (float) – the p-value significance threshold below which to accept the alternative hypothesis.

Raises:

ValidationError – if any input argument is not compliant.

Return Type:

Tuple[Optional[bool], float, Dict[str, Any]]