PINE LIBRARY

MarkovChain

Updated
Library "MarkovChain"
Generic Markov Chain type functions.
---
A Markov chain or Markov process is a stochastic model describing a sequence of possible events in which the
probability of each event depends only on the state attained in the previous event.
---
reference:
Understanding Markov Chains, Examples and Applications. Second Edition. Book by Nicolas Privault.
en.wikipedia.org/wiki/Markov_chain
geeksforgeeks.org/finding-the-probability-of-a-state-at-a-given-time-in-a-markov-chain-set-2/
towardsdatascience.com/brief-introduction-to-markov-chains-2c8cab9c98ab
github.com/mxgmn/MarkovJunior
stats.stackexchange.com/questions/36099/estimating-markov-transition-probabilities-from-sequence-data
timeseriesreasoning.com/contents/hidden-markov-models/
ris-ai.com/markov-chain
github.com/coin-or/jMarkov/blob/master/src/jmarkov/MarkovProcess.java
gist.github.com/mschauer/4c81a0529220b21fdf819e097f570f06
github.com/rasmusab/bayes.js/blob/master/mcmc.js
gist.github.com/sathomas/cf526d6495811a8ca779946ef5558702
writings.stephenwolfram.com/2022/06/games-and-puzzles-as-multicomputational-systems/
kevingal.com/blog/boardgame.html
towardsdatascience.com/brief-introduction-to-markov-chains-2c8cab9c98ab
spedygiorgio.github.io/markovchain/reference/index.html
github.com/alexsosn/MarslandMLAlgo/blob/4277b24db88c4cb70d6b249921c5d21bc8f86eb4/Ch16/HMM.py
projectrhea.org/rhea/index.php/Introduction_to_Hidden_Markov_Chains

method to_string(this)
  Translate a Markov Chain object to a string format.
  Namespace types: MC
  Parameters:
    this (MC): `MC` . Markov Chain object.
  Returns: string

method to_table(this, position, text_color, text_size)
  Namespace types: MC
  Parameters:
    this (MC)
    position (string)
    text_color (color)
    text_size (string)

method create_transition_matrix(this)
  Namespace types: MC
  Parameters:
    this (MC)

method generate_transition_matrix(this)
  Namespace types: MC
  Parameters:
    this (MC)

new_chain(states, name)
  Parameters:
    states (state[])
    name (string)

from_data(data, name)
  Parameters:
    data (string[])
    name (string)

method probability_at_step(this, target_step)
  Namespace types: MC
  Parameters:
    this (MC)
    target_step (int)

method state_at_step(this, start_state, target_state, target_step)
  Namespace types: MC
  Parameters:
    this (MC)
    start_state (int)
    target_state (int)
    target_step (int)

method forward(this, obs)
  Namespace types: HMC
  Parameters:
    this (HMC)
    obs (int[])

method backward(this, obs)
  Namespace types: HMC
  Parameters:
    this (HMC)
    obs (int[])

method viterbi(this, observations)
  Namespace types: HMC
  Parameters:
    this (HMC)
    observations (int[])

method baumwelch(this, observations)
  Namespace types: HMC
  Parameters:
    this (HMC)
    observations (int[])

Node
  Target node.
  Fields:
    index (series int): . Key index of the node.
    probability (series float): . Probability rate of activation.

state
  State reference.
  Fields:
    name (series string): . Name of the state.
    index (series int): . Key index of the state.
    target_nodes (Node[]): . List of index references and probabilities to target states.

MC
  Markov Chain reference object.
  Fields:
    name (series string): . Name of the chain.
    states (state[]): . List of state nodes and its name, index, targets and transition probabilities.
    size (series int): . Number of unique states
    transitions (matrix<float>): . Transition matrix

HMC
  Hidden Markov Chain reference object.
  Fields:
    name (series string): . Name of thehidden chain.
    states_hidden (state[]): . List of state nodes and its name, index, targets and transition probabilities.
    states_obs (state[]): . List of state nodes and its name, index, targets and transition probabilities.
    transitions (matrix<float>): . Transition matrix
    emissions (matrix<float>): . Emission matrix
    initial_distribution (float[])
Release Notes
updated imported libraries to its most recent version.
Release Notes
v3 it now uses the builtin matrix.pow() function.
markovmarkovchainprobabilitysequencestatistics

Pine library

In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in a publication is governed by House rules.

Disclaimer