Modelling Time-Series with Gaussian Processes

Stephen Roberts, Neale Gibson

  • Project Description: This project aims to give participants experience in modelling time-series using Gaussian processes (GPs). GPs are a form of non-parametric regression, widely used in the machine learning community for Bayesian analysis. Rather than impose a deterministic model, GPs define a distribution over function space, and our ignorance of the form of the function may be marginalised out of the analysis. This project will use a suite of python software developed by the project supervisors. After exploring a few simple examples, participants are challenged to model sparse, time-series photometry of the exoplanet host star HD 189733 with a periodic covariance kernel, with the aim of determining its orbital period and regressing the flux of the star to determine the spot coverage - a vital piece of information to perform transmission spectroscopy of the planet. In addition, we may explore the concept of a mean function which allows standard, parametric models to be fitted alongside a Gaussian process noise model, using the example of transit light curves.

  • Software and Installation:

    This project requires python installed with up-to-date versions of numpy, scipy and matplotlib (see this page). The GaussianProcess module then needs to be downloaded and installed as follows:

    Download the module here and install by unpacking, going into the GaussianProcesses-1.0 directory and installing using distutils:
    $ tar -xzvf GaussianProcesses-1.0.tar.gz
    $ cd GaussianProcesses-1.0
    $ python setup.py build
    $ python setup.py install --prefix=<INSTALL_DIR>
    where <INSTALL_DIR> is your root directory for python modules (leaving out the --prefix option installs to your default python install path). The path to GaussianProcesses must then be on your PYTHONPATH environment variable. For those new to python, this is set by
    $ setenv PYTHONPATH <PATH_TO_MODULE>
    $ export PYTHONPATH=<PATH_TO_MODULE>

    for tcsh and bash, respectively, or if PYTHONPATH already exists:
    $ setenv PYTHONPATH ${PYTHONPATH}:<PATH_TO_MODULE>
    $ export PYTHONPATH=${PYTHONPATH}:<PATH_TO_MODULE>

    Note <PATH_TO_MODULE> is (usally) <INSTALL_DIR>/lib/python2.6/site-packages/

    You should now be ready to run some of the GaussianProcesses examples. Go into the examples directory and try a few to check everything is installed properly
    $ cd examples
    $ ./GPClassEg_1.py
    You may first need to make the examples executable; ie $ chmod u+x *.py, and maybe change the shebang line #!/usr/bin/python to point to your version of python (found by $ which python). Note the light curve test examples will not work unless MyFunctions and/or MyMCMC modules are installed too. These are (most likely) not required for the project, but contain light curve functions and MCMC code to marginalise over GP mean function parameters and hyperparameters. These are written in C and are a little trickier to install, but may be useful for further work. These are available at MyFunctions and MyMCMC. Installation instructions are in the distributions, and we can help with the installation during the project if necessary.

    -- NealeGibson - 08 Mar 2012

  • EAHS_GP_project_instructions.pdf: Project instructions

I Attachment Action Size Date Who Comment
EAHS_GP_project_instructions.pdfpdf EAHS_GP_project_instructions.pdf manage 51 K 13 Mar 2012 - 14:19 NealeGibson Project instructions
HD189733_flux.datdat HD189733_flux.dat manage 5 K 13 Mar 2012 - 14:05 NealeGibson HD 189733 photometric data
philTransA_2012.pdfpdf philTransA_2012.pdf manage 1 MB 13 Mar 2012 - 14:22 NealeGibson RS paper
Topic revision: r4 - 13 Mar 2012, NealeGibson
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback