Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gaussian Processes Tool #739

Merged
merged 52 commits into from
Sep 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
c12c370
Adding_gp_feature
Gaurav17Joshi Jun 12, 2023
04b338b
Added skew means
Gaurav17Joshi Jun 14, 2023
7a44249
Added fred model
Gaurav17Joshi Jun 19, 2023
3bb4972
Combined GP, GPR class
Gaurav17Joshi Jun 27, 2023
9fe6a47
Added kernel, mean tests
Gaurav17Joshi Jun 27, 2023
9b77f2a
Added Multimean and tests
Gaurav17Joshi Jun 27, 2023
2c296b1
Testing for get_pior_params
Gaurav17Joshi Jun 29, 2023
014826b
Changed the GP class
Gaurav17Joshi Jul 11, 2023
bb33727
Improved library imports
Gaurav17Joshi Jul 18, 2023
596c63b
Primary tests for GPresult class
Gaurav17Joshi Jul 18, 2023
01b52a3
Added docstrings
Gaurav17Joshi Jul 19, 2023
6069b4c
Plot function changed, tests added
Gaurav17Joshi Jul 19, 2023
2737824
Added testing skips
Gaurav17Joshi Jul 26, 2023
e9036f5
Jax import changed
Gaurav17Joshi Aug 14, 2023
f89acdd
added kernel and warnings
Gaurav17Joshi Aug 17, 2023
4f631e3
Adding max samples option
Gaurav17Joshi Aug 20, 2023
6c8ae22
Added log parameters
Gaurav17Joshi Aug 20, 2023
bef7b14
Changed Function Names
Gaurav17Joshi Aug 25, 2023
8701ae7
Docstring changes
Gaurav17Joshi Aug 25, 2023
51a9cef
Changelog Changed
Gaurav17Joshi Aug 28, 2023
f9d38ca
Improved get_mean docs
Gaurav17Joshi Aug 28, 2023
3a46a45
Docstrings Updated
Gaurav17Joshi Aug 30, 2023
d86b274
Small doc change
Gaurav17Joshi Sep 5, 2023
fa329cb
Adding_gp_feature
Gaurav17Joshi Jun 12, 2023
647c72e
Added skew means
Gaurav17Joshi Jun 14, 2023
0e091ae
Added fred model
Gaurav17Joshi Jun 19, 2023
dbaee73
Combined GP, GPR class
Gaurav17Joshi Jun 27, 2023
ada63a0
Added kernel, mean tests
Gaurav17Joshi Jun 27, 2023
c1a08a3
Added Multimean and tests
Gaurav17Joshi Jun 27, 2023
827cdf7
Testing for get_pior_params
Gaurav17Joshi Jun 29, 2023
8fa0059
Changed the GP class
Gaurav17Joshi Jul 11, 2023
e00d438
Improved library imports
Gaurav17Joshi Jul 18, 2023
b031ed1
Primary tests for GPresult class
Gaurav17Joshi Jul 18, 2023
5d95841
Added docstrings
Gaurav17Joshi Jul 19, 2023
c013d4a
Plot function changed, tests added
Gaurav17Joshi Jul 19, 2023
3bf2079
Added testing skips
Gaurav17Joshi Jul 26, 2023
a14ca4a
Jax import changed
Gaurav17Joshi Aug 14, 2023
f3bef3f
added kernel and warnings
Gaurav17Joshi Aug 17, 2023
181e90a
Adding max samples option
Gaurav17Joshi Aug 20, 2023
b374d6b
Added log parameters
Gaurav17Joshi Aug 20, 2023
cb0a0f5
Changed Function Names
Gaurav17Joshi Aug 25, 2023
a2c03c0
Docstring changes
Gaurav17Joshi Aug 25, 2023
eeb241a
Changelog Changed
Gaurav17Joshi Aug 28, 2023
c73620b
Improved get_mean docs
Gaurav17Joshi Aug 28, 2023
2d0ba46
Docstrings Updated
Gaurav17Joshi Aug 30, 2023
c3778a3
Small doc change
Gaurav17Joshi Sep 5, 2023
d3447f4
Fixed usage of dict, added functions to __all__
dhuppenkothen Sep 29, 2023
1fc9f84
Added num_live_points as parameter
dhuppenkothen Sep 29, 2023
78e13f4
Fixed typo in changelog
dhuppenkothen Sep 29, 2023
f56c276
Added installation instructions for GP Modeling
dhuppenkothen Sep 29, 2023
bd2fd59
Merge branch 'features/GPtool' into GPTool_fixes
dhuppenkothen Sep 29, 2023
e9ef4df
Merge pull request #1 from dhuppenkothen/GPTool_fixes
Gaurav17Joshi Sep 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions docs/changes/739.feature.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
This is a JAX implementation of the GP tool by `Hubener et al <https://arxiv.org/pdf/2205.12716.pdf#:~:text=ABSTRACT%20Analyses%20of%20quasi%2Dperiodic,flares%20and%20fast%20radio%20bursts.>`_
for QPO detection and parameter analysis.

This feature makes use of tinygp library for Gaussian Processes implementation, and jaxns for nested sampling,
and is kept in the stingray.modeling.gpmodeling module.

Main features of the module are:

- get_prior: This function makes the prior function for a specified prior dictionary.
- get_likelihood: This function makes the log_likelihood function for the given Kernel, Mean model and lightcurve.
- GPResult class: The class which takes a Lightcurve, and performs Nested Sampling for a given prior and likelihood.

The additional Dependencies for the code
- jax
- tinygp
- jaxns
- etils
- tensorflow_probability
- typing_extensions
14 changes: 14 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,20 @@ To install all required and recommended dependencies in a recent installation, y

$ pip install astropy scipy matplotlib numpy h5py tqdm numba pint-pulsar emcee corner statsmodels pyfftw tbb

For the Gaussian Process modeling in `stingray.modeling.gpmodeling`, you'll need the following extra packages

+ jax
+ jaxns
+ tensorflow
+ tensorflow-probability
+ tinygp
+ etils
+ typing_extensions

Most of these are installed via ``pip``, but if you have an Nvidia GPU available, you'll want to take special care
following the installation instructions for jax and tensorflow(-probability) in order to enable GPU support and
take advantage of those speed-ups.

For development work, you will need the following extra libraries:

+ pytest
Expand Down
6 changes: 6 additions & 0 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ all =
xarray
pandas
ultranest
jax
tinygp
jaxns
etils
tensorflow_probability
typing_extensions
test =
pytest
pytest-astropy
Expand Down
Loading