Skip to content

Instantly share code, notes, and snippets.

@vandit15
Last active March 23, 2019 03:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save vandit15/88fc76dea9b8c1723c5ee39893875760 to your computer and use it in GitHub Desktop.
Save vandit15/88fc76dea9b8c1723c5ee39893875760 to your computer and use it in GitHub Desktop.
Summary page for final evaluation about my GSoC-2017 project on markovchains

Markovchain Package

R language provides a package markovchain for easy handling of markov chains. This project aims to extend the current functionality and capabilities of the R package ‘markovchain’ in order to provide statisticians a more functional tool to perform analysis of stochastic projects related to Markov chains.

Mentors

  1. Sai Bhargav Yalamanchi
  2. Giorgio Spedicato

Targets Achieved

A list of following tasks were completed during the summer duration:

  • Improvement of already implemented functions (in terms of efficiency) was done. Small improvements in code comments and documentation included.
  • Implementing an ictmc class to represent situations/data using imprecise continuous time markovchains. Function to calculate imprecise conditional probability was implemented. The function was implemented refering the document Imprecise continuous time markovchains.
  • Implementing functions to apply various properties of CTMCs. Functions implemented include ExpectedTime, ProbabilityatyT, freq2Generator, is.CTMCirreducible, is.TimeReversible.
  • Graphics part of the package was improved by adding R functions to plot a CTMC generator matrix of a CTMC class object. Also the already implemented plot function for Discrete Time markovchains was improved so that it displays different communicating classes using different colours.
  • More functionality was added to already implemented markovchain class. Calculation of first passage time for a set of states is implemented in firstPassageMultiple function. Also implemented are two functions expectedRewards and expectedRewardsBeforeHittingA related to rewards calculation for single state and set of states respectively. CommitorAB is a function added that gives the probability that the process will hit a state from set A before any state from set B.
  • The package provides a hommc class for representing higher order multivariate markovchains. Already included is estimation using sequences. I added simulation (prediction) using a given hommc object (predictHommc function).
  • Comprehensive documentation of functions added through vignette and help files have been added. All references used have been cited properly in the vignette and help files. Also, Unit tests have been added for verification of functions.

Code

All code written has been added to master branch of the github repository spedygiorgio/markovhcain.

Link to my commits - commits:Vandit Jain

All external function are implemented in R language. Functions which require fast computing use internal functions implemented in C++.

Work Left

Markovchains is vast field and many properties of markovchains can be exploited. One of them being checking instability of a markovchain model.This property has a pratical applications to check if a practical markovchain will be stable or not after some steps. It has not been implemented in the package and can be added to improve the quality of the package.

Experience

Working with R project for statistical computing was a great experience. I learned to deal with a relatively large codebase. Best was I worked in my field of interest. I got really helping mentors in Sai Sir and Giorgio Sir. I would like to thank them a lot.

@piyush96
Copy link

Hey Vandit,
This is Piyush , a computer science student at BITS Pilani. I needed some help with regard to your gsoc project. Please share your contact details. Im leaving my contact details here : 9130919489, piyush.gupta96@gmail.com.
Please reply at the earliest.
This is urgent.
Thanks
Piyush

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment