BASTA: The BAyesian STellar Algorithm

Related tags

Machine LearningBASTA
Overview

BASTA: BAyesian STellar Algorithm

Code style: black License: MIT Documentation Status arXiv

Current stable version: v1.0

Important note: BASTA is developed for Python 3.8, but Python 3.7 should work as well. Python 3.9 is currently not supported due to problems with h5py.

Before you begin

Please follow the repository here on GitHub to get notifications on new releases: Click "Watch" then "Custom" and tick "Releases.

Please have a look at our documentation.

There we have written a guide guide to installing BASTA.

On there, you will also find an introduction to running BASTA.

If you are curious on what BASTA can do, we have created several fitting examples and the exact code to run them available.

References and acknowledgments

There are two papers containing the rationale, main features, and capabilities of the code:

Please consider citing these references if you use BASTA in your work, and include the link to the code's repository https://github.com/BASTAcode/BASTA.

Due to its versatility, BASTA is used in a large variety of studies requiring robust determination of fundamental stellar properties. We have compiled a (non-exhaustive) list of papers using BASTA results that showcases these applications. If your paper using BASTA results is missing from the list please contact us.

Authors

The current core developing team are:

  • Víctor Aguirre Børsen-Koch
  • Jakob Lysgaard Rørsted
  • Mark Lykke Winther
  • Amalie Stokholm
  • Kuldeep Verma

Throughout the years, many people have contributed to the addition and development of various parts and modules of BASTA. We welcome further contributions from the community as well as issues reporting. Please look at the contribution section in the documentation for further details.

Comments
  • Update Asfgrid

    Update Asfgrid

    The Asfgrid of dnu corrections has been updated (https://iopscience.iop.org/article/10.3847/2515-5172/ac8b12) with more points and an extended range. It can be downloaded from here: http://www.physics.usyd.edu.au/k2gap/Asfgrid/ . This could be quite an upgrade for the BaSTI library to complement the Serenelli corrections.

    Update the code to use the new version -- REMEMBER that we patched the old version to work in BASTA. And that we added multiprocessing and therefore included some locks in the input to some routines.

    Note: This is actually more of an issue for the building routines! I have made this issue just to make sure that we check to compatibility when the grids are updated.

    grids 
    opened by jakobmoss 3
  • Rewrite _find_get to handle bools and added defaults for freqfit

    Rewrite _find_get to handle bools and added defaults for freqfit

    When during frequency fitting I discovered that it was required of me to specify threepoint=False in the freqparams xml tag. That makes no sense as (i) that is for ratio fitting and (ii) it should be False by default.

    I then discovered that _find_get could not handle the default value of threeport=False. This is a rewrite of that function.

    While I was at it, I added defaults for fcor (cubicBG14), correlations (False), and dnufrac (0.15). When fitting frequencies, you can simply just specify

    <freqparams>
        <freqpath value={path-to-frequencies}
    </freqparams>
    

    and add <freqs/> to fitparams and maybe set

    <freqplots>
        <True/>
    </freqplots>.
    
    opened by amaliestokholm 1
  • Epsilon-difference fitting and refactoring

    Epsilon-difference fitting and refactoring

    Implementation of epsilon-differences fitting (cf. our Plato-module). Major refactoring of the surface-independent fitting (i.e. ratios), especially the routines to do I/O and prepare the observations. Refactoring of plotting code (especially ratios) and added new plots.

    New plots:

    • Epsilon-differences diagnostic plots
    • Correlation map {freqs, ratios, epsdiff}
    • Plain echelle diagram
    • Single-panel ratio plots

    Other changes:

    • Ratios are interpolated to the observed frequencies
    opened by jakobmoss 0
  • Refactor `plot_seismic.echelle`

    Refactor `plot_seismic.echelle`

    This just refactors the code behind the echelle diagrams, which makes it more readable and less relient on the number of unique l values of the observations.

    It also makes small aesthetic changes such as changing $l$ to $\ell$ and adding the Frequency normalised by dnu axis to all plots and not just the duplicateechelle plots.

    opened by amaliestokholm 0
  • Requirements, json example, freqfit defaults

    Requirements, json example, freqfit defaults

    Update packages to newest versions (to make it installable on MacOS). Fix bug in json example. Fix bugs and add default values in frequency fitting (PR #17). Update plotting strings to match newest version of the Sharma/Stello (asfgrid) corrections.

    opened by jakobmoss 0
  • Update requirements and shipped grid

    Update requirements and shipped grid

    Two changes:

    • Bump requirements to newest versions and add bottleneck.
    • Switch to shipping the 16 Cyg A grid with new weights (based on Sobol volume). Reference examples updated to match; interpolation example still uses the old grid.
    opened by jakobmoss 0
  • 3-point ratios

    3-point ratios

    Add the option to use 3-point seperation ratios instead of the default 5-point. This is useful for reproducing older results or results from other groups.

    Additionally, the default of dnufit_in_ratios is changed to False (as it ought to have been always).

    opened by jakobmoss 0
  • Reddening coefficients for Gaia eDR3

    Reddening coefficients for Gaia eDR3

    Replaced the coefficients from DR2 with eDR3. The new coefficients follow the prescription of Casagrande and Vandenberg (2018). They are now the default Gaia coefficients

    opened by jakobmoss 0
  • Version 1.1.3

    Version 1.1.3

    Bring main to version 1.1.3.

    Calculation of bayesian weights when interpolating along a track is fixed -- before it used the base parameter, now it correctly uses seperation in age (or mass for isochrones). Details in #10 .

    opened by jakobmoss 0
  • Intpol bayweights along tracks fix

    Intpol bayweights along tracks fix

    The Bayesian weights along the tracks/isochrones "dage"/"dmass" were accidentially computed from the chosen base parameter in the interpolation, instead of the age/mass as they should. This update fixes that, by separately computing the "dage"/"dmass" for each track/isochrone after interpolation of all other quantities. This should also ensure they are always computed.

    opened by MLWinther 0
  • Version 1.1.2

    Version 1.1.2

    Bring main to version 1.1.2.

    Smoother KDE representations in the corner plots. Updated examples and documentation. Add published paper details.

    Full details in #7 .

    opened by jakobmoss 0
Releases(v1.2.0)
  • v1.2.0(Dec 16, 2022)

    New fitting mode and major refactoring.

    New features:

    • Epsilon-differences fitting (alternative surface-independent measure similar to ratios). Everything is derived only from the frequencies. Set e012 in fitparams (and activate correlations) and it runs. Includes new plots. The method will be described in the documentation in the next release and in more detail in an up-coming paper.

    Major changes:

    • Refactoring of all frequency-input handling, especially the treatment of ratios. Improves readability, reproducibility, and maintainability.
    • Refactoring of code to produce frequency-related plots. Common framework for clarity.
    • Ratios are interpolated to the observed frequencies (can be turned off).

    Minor changes:

    • Updated look of ratios plots (and now in single panel).
    • New echelle diagram with no pairing lines made by adding "echelle" to the plotting options. To get all of the different echelle diagrams in one go, add "allechelle". The examples are updated to use "allechelle".
    • New plot of the correlation matrix. Mainly for surface-independent fitting, where we always derive the full covariance matrix, but also works for frequencies if the input-covariances are provided.
    • New options for the frequency fitting (dnufit_in_ratios, interp_ratios).
    Source code(tar.gz)
    Source code(zip)
  • verma22(Nov 28, 2022)

    Version of BASTA used in Verma et al. (2022). This contains the new approach for fitting glitches and ratios together consistently (with a joint covariance matrix).

    This version is currently incompatible with the main version of BASTA and therefore released separately. The 'ratios and glitches together'-feature will be included in a main release later.

    Source code(tar.gz)
    Source code(zip)
  • v1.1.6(Nov 14, 2022)

    Minor bugfix/infrastructure release.

    Changes:

    • Update packages to newest versions.
    • Fix bug in json example.
    • Fix bugs and add default values in frequency fitting.
    • Update plotting strings to match newest version of the Sharma/Stello (asfgrid) corrections.
    Source code(tar.gz)
    Source code(zip)
  • v1.1.5(May 23, 2022)

    Will make the installation run out-of-the-box again (mitigates known issue with the version of Black). All requirements bumped.

    Additional changes:

    • Added Gaia eDR3 extinction values
    • The shipped 16 Cyg A grid contains the new weights
    • Added an option to use 3-point frequency ratios
    Source code(tar.gz)
    Source code(zip)
  • v1.1.4(Jan 12, 2022)

  • v1.1.3(Jan 4, 2022)

  • v1.1.2(Dec 21, 2021)

    Minor release.

    Smoother KDE representations in the corner plots.

    Fixes bugs in the examples (everything should now run out-of-the-box). Updated documentation to match examples.

    Full details in #7 and #9 .

    Source code(tar.gz)
    Source code(zip)
  • v1.1.1(Dec 1, 2021)

    Bugfix release!

    Fixes an issue causing dnu's to be incorrectly scaled to the solar value if only fitted and not in the output.

    Full details in #5 and #6 .

    Source code(tar.gz)
    Source code(zip)
  • v1.1(Nov 26, 2021)

    The main attraction is the support of Python 3.9 through support of h5py 3.x. Requirements are updated, so the virtual environment should be updated as well.

    New features:

    • Debugging plots for interpolation
    • Suppress summary from xml-generation (add --quiet)

    Main changes:

    • Handling of dnu in the input-xml (now always called 'dnu' and translated as file is read) -- please re-generate input-xml files
    • Prettier formatting of the printed output to console and log

    Important bugfixes:

    • Priors work for dnu's in solar units
    • Make 'light' install case work again
    • Interpolation fixes (only l=0 modes; distance included; trimming of box)

    Full details given in the associated pull request.

    Source code(tar.gz)
    Source code(zip)
  • v1.0(Sep 30, 2021)

  • v1.0-rc(Sep 30, 2021)

Owner
BASTA team
The Bayesian Stellar Algorithm (BASTA) development team
BASTA team
Automatic extraction of relevant features from time series:

tsfresh This repository contains the TSFRESH python package. The abbreviation stands for "Time Series Feature extraction based on scalable hypothesis

Blue Yonder GmbH 7k Jan 06, 2023
Adaptive: parallel active learning of mathematical functions

adaptive Adaptive: parallel active learning of mathematical functions. adaptive is an open-source Python library designed to make adaptive parallel fu

741 Dec 27, 2022
Uber Open Source 1.6k Dec 31, 2022
MLR - Machine Learning Research

Machine Learning Research 1. Project Topic 1.1. Exsiting research Benmark: https://paperswithcode.com/sota ACL anthology for NLP papers: http://www.ac

Charles 69 Oct 20, 2022
Project to deploy a machine learning model based on Titanic dataset from Kaggle

kaggle_titanic_deploy Project to deploy a machine learning model based on Titanic dataset from Kaggle In this project we used the Titanic dataset from

Vivian Yamassaki 8 May 23, 2022
A high-performance topological machine learning toolbox in Python

giotto-tda is a high-performance topological machine learning toolbox in Python built on top of scikit-learn and is distributed under the G

giotto.ai 632 Dec 29, 2022
Crypto-trading - ML techiques are used to forecast short term returns in 14 popular cryptocurrencies

Crypto-trading - ML techiques are used to forecast short term returns in 14 popular cryptocurrencies. We have amassed a dataset of millions of rows of high-frequency market data dating back to 2018 w

Panagiotis (Panos) Mavritsakis 4 Sep 22, 2022
Bayesian optimization in JAX

Bayesian optimization in JAX

Predictive Intelligence Lab 26 May 11, 2022
STUMPY is a powerful and scalable Python library for computing a Matrix Profile, which can be used for a variety of time series data mining tasks

STUMPY STUMPY is a powerful and scalable library that efficiently computes something called the matrix profile, which can be used for a variety of tim

TD Ameritrade 2.5k Jan 06, 2023
End to End toy example of MLOps

churn_model MLOps Toy Example End to End You might find below links useful Connect VSCode to Git MLFlow Port Heroku App Project Organization ├── LICEN

Ashish Tele 6 Feb 06, 2022
A model to predict steering torque fully end-to-end

torque_model The torque model is a spiritual successor to op-smart-torque, which was a project to train a neural network to control a car's steering f

Shane Smiskol 4 Jun 03, 2022
Backprop makes it simple to use, finetune, and deploy state-of-the-art ML models.

Backprop makes it simple to use, finetune, and deploy state-of-the-art ML models. Solve a variety of tasks with pre-trained models or finetune them in

Backprop 227 Dec 10, 2022
A Python implementation of GRAIL, a generic framework to learn compact time series representations.

GRAIL A Python implementation of GRAIL, a generic framework to learn compact time series representations. Requirements Python 3.6+ numpy scipy tslearn

3 Nov 24, 2021
Interactive Web App with Streamlit and Scikit-learn that applies different Classification algorithms to popular datasets

Interactive Web App with Streamlit and Scikit-learn that applies different Classification algorithms to popular datasets Datasets Used: Iris dataset,

Samrat Mitra 2 Nov 18, 2021
A classification model capable of accurately predicting the price of secondhand cars

The purpose of this project is create a classification model capable of accurately predicting the price of secondhand cars. The data used for model building is open source and has been added to this

Akarsh Singh 2 Sep 13, 2022
cuML - RAPIDS Machine Learning Library

cuML - GPU Machine Learning Algorithms cuML is a suite of libraries that implement machine learning algorithms and mathematical primitives functions t

RAPIDS 3.1k Dec 28, 2022
Machine Learning Study 혼자 해보기

Machine Learning Study 혼자 해보기 기여자 (Contributors) ✨ Teddy Lee 🏠 HongJaeKwon 🏠 Seungwoo Han 🏠 Tae Heon Kim 🏠 Steve Kwon 🏠 SW Song 🏠 K1A2 🏠 Wooil

Teddy Lee 1.7k Jan 01, 2023
pymc-learn: Practical Probabilistic Machine Learning in Python

pymc-learn: Practical Probabilistic Machine Learning in Python Contents: Github repo What is pymc-learn? Quick Install Quick Start Index What is pymc-

pymc-learn 196 Dec 07, 2022
Optuna is an automatic hyperparameter optimization software framework, particularly designed for machine learning

Optuna is an automatic hyperparameter optimization software framework, particularly designed for machine learning. It features an imperative, define-by-run style user API.

7.4k Jan 04, 2023
scikit-fem is a lightweight Python 3.7+ library for performing finite element assembly.

scikit-fem is a lightweight Python 3.7+ library for performing finite element assembly. Its main purpose is the transformation of bilinear forms into sparse matrices and linear forms into vectors.

Tom Gustafsson 297 Dec 13, 2022