markovneat library

markov chains in java

Лицензия

Лицензия

Категории

Категории

Сеть
Группа

Группа

net.andreinc
Идентификатор

Идентификатор

markovneat
Последняя версия

Последняя версия

1.8
Дата

Дата

Тип

Тип

jar
Описание

Описание

markovneat library
markov chains in java
Ссылка на сайт

Ссылка на сайт

https://github.com/nomemory/markovneat
Система контроля версий

Система контроля версий

https://github.com/nomemory/markovneat

Скачать markovneat

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/net.andreinc/markovneat/ -->
<dependency>
    <groupId>net.andreinc</groupId>
    <artifactId>markovneat</artifactId>
    <version>1.8</version>
</dependency>
// https://jarcasting.com/artifacts/net.andreinc/markovneat/
implementation 'net.andreinc:markovneat:1.8'
// https://jarcasting.com/artifacts/net.andreinc/markovneat/
implementation ("net.andreinc:markovneat:1.8")
'net.andreinc:markovneat:jar:1.8'
<dependency org="net.andreinc" name="markovneat" rev="1.8">
  <artifact name="markovneat" type="jar" />
</dependency>
@Grapes(
@Grab(group='net.andreinc', module='markovneat', version='1.8')
)
libraryDependencies += "net.andreinc" % "markovneat" % "1.8"
[net.andreinc/markovneat "1.8"]

Зависимости

test (1)

Идентификатор библиотеки Тип Версия
junit : junit jar 4.13.1

Модули Проекта

Данный проект не имеет модулей.

Markov chains in Java.

Installing

Maven:

<dependency>
  <groupId>net.andreinc</groupId>
  <artifactId>markovneat</artifactId>
  <version>1.8</version>
</dependency>

Gradle:

implementation 'net.andreinc:markovneat:1.8'

You can also create a "fat" jar using the shadowJar gradle tasks:

gradle shadowJar

The jar will be generated in /build/libs/markovneat*.jar.

Example 1 - Modelling a simple discrete-time markov chain

A directed graph is used bellow to picture the state transitions for a Markov Chain.

The states represent whether a hypothetical stock market is exhibiting a bull market, bear market, or stagnant market trend during a given week.

(See Market trends).

alt text

With the markovneat library this can be modelled using the following code:

 MChain<String> marketMChain = new MChain<>();

// Transitioning from "BULL" to "BULL" has a 90% chance
marketMChain.add(new MState<>("BULL"), "BULL", 0.9);
// Transitioning from "BULL" to "BEAR" has a 7,5% chance
marketMChain.add(new MState<>("BULL"), "BEAR", 0.075);
// Transitioning from "BULL" to "STAGNANT" has a 2,5% chance
marketMChain.add(new MState<>("BULL"), "STAGNANT", 0.025);

marketMChain.add(new MState<>("BEAR"), "BEAR", 0.8);
marketMChain.add(new MState<>("BEAR"), "BULL", 0.15);
marketMChain.add(new MState<>("BEAR"), "STAGNANT", 0.05);

marketMChain.add(new MState<>("STAGNANT"), "STAGNANT", 0.5);
marketMChain.add(new MState<>("STAGNANT"), "BULL", 0.25);
marketMChain.add(new MState<>("STAGNANT"), "BEAR", 0.25);

marketMChain.generate(10000).forEach(System.out::println);

Output:

STAGNANT
BULL
BULL
BULL
BULL
... and so on

Версии библиотеки

Версия
1.8