Code Monkey home page Code Monkey logo

tdcca's Introduction

Time-dependent Canonical Correlation Analysis

Canonical Correlation Analysis is a technique in multivariate data analysis for finding correlation and pairs of vectors that maximizes the correlation between a set of paired variables. Many important problems involve recoding time-dependent observations. In order to understand the coupling dynamics between the two sources, spot trends, detect anomalies, in this paper, we introduce the time-dependent canonical correlation analysis (TDCCA), a method of inferring time-dependent canonical vectors of paired variables. For more details of our paper, please refer to our paper.

cite our paper

@article{cao2019time, title={Time-dependent Canonical Correlation Analysis for Multilevel Time Series}, author={Cao, Xuefei and Ke, Jun and Sandstede, Björn and Luo, Xi}, journal={bioRxiv}, pages={650101}, year={2019}, publisher={Cold Spring Harbor Laboratory} }

Getting Started

We provide both simulation examples used in our paper. The main computation algorithm is not added into the class method for the convenience of algorithm development for multi-view data. The package saves all the analysis to the given folder and saves the preprocessed data into the hdf5 file. The parallel computing with multi-cores is also allowed and tested in Linux system. This package also provides other algorithms to optimize the function, including cvxpy naive optimization, cvxpy naive admm optimization and two other admm algorithms. For details, see the admm_computation.py file. However, these functions have not been tested thoroughly.

These instructions will get you a copy of the project up running on your local machine for development and testing purposes.

This package is also published in pypi. For a quick installation, try

pip install tdcca 

Prerequisites

What things you need to install the software and how to install them

See setup.py for details of packages requirements. 

Installing from GitHub

Download the packages by using git clone https://github.com/xuefeicao/tdcca.git

python setup.py install

If you experience problems related to installing the dependency Matplotlib on OSX, please see https://matplotlib.org/faq/osx_framework.html

Intro to our package

After installing our package locally, try to import tdcca in your python environment and learn about package's function. Note: our package name in pypi is tdcca. It is recommended that users scale the data before running our package.

from tdcca import *
help(multi_sim)

Examples

The examples subfolder includes simulations provided in the paper. 

Running the tests

The test has been conducted in both Linux and Mac Os.

Built With

  • Python 2.7

Compatibility

  • Python 2.7

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

tdcca's People

Contributors

xuefeicao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

tdcca's Issues

Is there correlation coefficience in output?

I am not clear which file the outputs are in. Are they in 'W.pkl'?
I wonder whether the correlation coefficience between 2 time series is calculate in the code?
If yes, where can I find it?
Thx~

Do you test in conda ?

I try to run TDCCA in conda but prox_tv package error in setyp process.
Do you have any suggestion ?

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.