Welcome to pgmuvi’s documentation!¶
pgmuvi is a package for interpreting astronomical timeseries data (although there’s no reason you can’t use it for other kinds of data!) using Gaussian processes. It is built on top of the gpytorch package, and is designed to be easy to use and flexible. It is currently under active development, and we welcome contributions!
Installation and Quickstart¶
pgmuvi can be installed easily with pip:
$ pip install pgmuvi
You can also clone the latest version of pgmuvi from Github, for all the latest bugs but increased risk of features:
$ git clone git://github.com/ICSM/pgmuvi.git
and then you can install it:
$ cd pgmuvi
$ pip install .
If you want to contribute to pgmuvi and develop new features, you might want an editable install:
$ pip install -e .
this way you can test how things change as you go along.
Background and Concepts¶
New to Gaussian processes or spectral mixture kernels? Start here.
Tutorials¶
Step-by-step notebooks introducing the main workflows in pgmuvi.
- Preamble
- The
Lightcurveobject - In this notebook, we will demonstrate some features available for
Lightcurveobjects to manipulate 1D and 2D light curve data. - Data structure and invariants
- Missing and non-finite data
- Generating synthetic data
- Visualization using the
.plot()method - Input/output to CSV
- The
bandattribute; selecting, dropping, merging, and concatenating light curves. - Subsampling light curves
- Statistical tests for variability
- Preamble
- Return modes of
fit_LS() - Key points to keep in mind
- Frequencies vs periods
- Ordering of peaks
- Meaning of the significance mask
- Practical takeaway
- Joint analysis across bands
- Sensitivity to heterogeneous sampling
- Interpretation of peaks
- Significance in the multiband case
- Practical takeaway
- Why this matters
- What
use_best_band_init=Truedoes - When to use it
- Dominant component (~150 d)
- Secondary component (~66 d)
- Short-period region
- Overall interpretation
- Single-band case
- Multiband case
- Practical implication
- Different roles of LS and GP models
- Using LS to initialize GP models
- Important caveat
- Practical takeaway
- What
fit_LS()does well - Key points about interpretation
- Multiband-specific considerations
- Role of sampling
- Relationship to GP modeling
- Final takeaway
- Gaussian-process fitting in
pgmuvi - GP model families available in
pgmuvi - A practical way to choose a GP model
- Basic GP-fitting workflow in
pgmuvi - Comparing GP packages on synthetic light curves
- How to use pgmuvi - a brief introduction
- Tutorial: Preprocessing and Data Quality Assessment
- Tutorial: Generating Synthetic Light Curves
- Tutorial: Model Selection
How-To Guides¶
Task-focused guides for common operations.
FAQ¶
API reference¶
Contributing¶
We very much welcome contributions to pgmuvi! Please take a look at our GitHub repository for more information on how to contribute!
Citing pgmuvi¶
pgmuvi is currently under review in the Journal of Open Source Software. If you use pgmuvi in your research, please cite the paper (details will be given here when the paper is accepted!)