GithubHelp home page GithubHelp logo

alexxnica / hmm-stack Goto Github PK

View Code? Open in Web Editor NEW

This project forked from danielkunin/hmm-stack

0.0 1.0 0.0 72.84 MB

This is an updated version of the original HMM Stack Algorithm by Taehee Lee and Daniel Kunin.

Home Page: https://rawgit.com/danielkunin/HMM-Stack/master/visualization/index.html

MATLAB 38.03% M 0.07% Objective-C 0.36% CSS 0.39% JavaScript 56.96% HTML 4.20%

hmm-stack's Introduction

HMM-Stack

This is an updated version of the original HMM Stack by Taehee Lee and Daniel Kunin. Below is the original description. This repo is still under construction.

Probabilistic stacks

Prob-stack (Prob_stack.txt): Probabilistic stack constructed from 180 benthic δ18O records. (Detailed information about the records is given in the metatdata table of [1].)

Prob-LR04-stack (Prob_LR04_stack.txt): Probabilistic stack constructed from the LR04 cores.

Both stack files contain five columns: Age, δ18O value [‰], standard deviation of δ18O value, upper bound of 95% interval, and lower bound of 95% interval.

Applications

The Application folder includes three applications: construction of a probabilistic stack from benthic δ18O records, age estimation of a benthic δ18O record, and lead/lag analysis between two events observed from different cores.

All codes are written in the MATLAB language and located in the code folder.

All δ18O record files should be located in the data folder. To run this program, each record should include three columns: depth, age, and data value. When age estimates are unavailable, you can leave them as NaN.

To run these applications, please download the Application folder and the Prob-stack; for the program to run, they must remain in the same folder.

Probabilistic stack

The MATLAB code 'construct_stack' constructs a probabilistic stack using cores listed in the summary file. To construct a probabilistic stack with your own benthic δ18O records, you should modify the 'recordSummary.txt' file, located in the data folder. Each line of this summary file includes three columns: the file name of the core, the age estimate of the top of the core, and the age estimate of the bottom of the core. It is enough to input rough estimates of the ages. After modifying the file, you can run the MATLAB code 'construct_hmm_stack' with the summary file as follows:

construct_stack('record_summary.txt')

This code generates 'newStack_iterN.txt', which is a new probabilistic stack constructed from the cores listed in 'recordSummary.txt'. It follows the same format as Prob_stack.txt. In addition to the stack file, while running, the code generates the following files:

  • newStack_iterN.mat, newStack_iterN_updateD.mat (data files that are saved after the Nth iteration)
  • newStack_inputM_iterN.mat, newStack_inputM_iterN_updateD.mat (data files that are saved after aligning the Mth benthic δ18O record to the stack generated after the Nth iteration)

Do not delete any files while running these codes. These files are required to update each iteration.

To construct a valid probabilistic stack, at least two different δ18O valued samples should be assigned to each point in the stack. Otherwise, the variance term becomes too small to construct a valid emission model, especially with a small number of records. To avoid this, the algorithm manually assigns a reasonably large value when a variance term is too small and prints an error message. Such cases did not occur when we constructed the Prob-stack and the Prob-LR04-stack because we used sufficient records.

Note that a construction of the stack requires extensive use of high performance computing resources. Constructing the Prob-stack took about one month with 180 computing nodes as it takes over 100 hours for a high-resolution record to complete one iteration. It took about 30 minutes to construct a stack on a desktop (2.7 GHz Intel Core i% processor & 16GB memory) using the three example records as provided in 'recordSummary.txt'.

License

The HMM-stack algorithm is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation.

The following citation should be included in any research reports, papers, or publications based on the Prob-stack and the HMM-stack algorithm.

[1] A probabilistic Pliocene-Pleistocene stack of benthic δ18O using a profile hidden Markov model

hmm-stack's People

Contributors

danielkunin avatar eilion avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.