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
Polyglot Machine Learning example for scraping similar news articles.

Polyglot Machine Learning example for scraping similar news articles In this example, we will see how we can work with Machine Learning applications w

MetaCall 15 Mar 28, 2022
2D fluid simulation implementation of Jos Stam paper on real-time fuild dynamics, including some suggested extensions.

Fluid Simulation Usage Download this repo and store it in your computer. Open a terminal and go to the root directory of this folder. Make sure you ha

Mariana Ávalos Arce 5 Dec 02, 2022
AtsPy: Automated Time Series Models in Python (by @firmai)

Automated Time Series Models in Python (AtsPy) SSRN Report Easily develop state of the art time series models to forecast univariate data series. Simp

Derek Snow 465 Jan 02, 2023
NumPy-based implementation of a multilayer perceptron (MLP)

My own NumPy-based implementation of a multilayer perceptron (MLP). Several of its components can be tuned and played with, such as layer depth and size, hidden and output layer activation functions,

1 Feb 10, 2022
A machine learning toolkit dedicated to time-series data

tslearn The machine learning toolkit for time series analysis in Python Section Description Installation Installing the dependencies and tslearn Getti

2.3k Dec 29, 2022
Machine Learning from Scratch

Machine Learning from Scratch Author: Shengxuan Wang From: Oregon State University Content: Building Machine Learning model from Scratch, without usin

ShawnWang 0 Jul 05, 2022
TensorFlow Decision Forests (TF-DF) is a collection of state-of-the-art algorithms for the training, serving and interpretation of Decision Forest models.

TensorFlow Decision Forests (TF-DF) is a collection of state-of-the-art algorithms for the training, serving and interpretation of Decision Forest models. The library is a collection of Keras models

538 Jan 01, 2023
Primitives for machine learning and data science.

An Open Source Project from the Data to AI Lab, at MIT MLPrimitives Pipelines and primitives for machine learning and data science. Documentation: htt

MLBazaar 65 Dec 29, 2022
Distributed scikit-learn meta-estimators in PySpark

sk-dist: Distributed scikit-learn meta-estimators in PySpark What is it? sk-dist is a Python package for machine learning built on top of scikit-learn

Ibotta 282 Dec 09, 2022
Steganography is the art of hiding the fact that communication is taking place, by hiding information in other information.

Steganography is the art of hiding the fact that communication is taking place, by hiding information in other information.

Priyansh Sharma 7 Nov 09, 2022
This repo includes some graph-based CTR prediction models and other representative baselines.

Graph-based CTR prediction This is a repository designed for graph-based CTR prediction methods, it includes our graph-based CTR prediction methods: F

Big Data and Multi-modal Computing Group, CRIPAC 47 Dec 30, 2022
Time series changepoint detection

changepy Changepoint detection in time series in pure python Install pip install changepy Examples from changepy import pelt from cha

Rui Gil 92 Nov 08, 2022
Python implementation of Weng-Lin Bayesian ranking, a better, license-free alternative to TrueSkill

Python implementation of Weng-Lin Bayesian ranking, a better, license-free alternative to TrueSkill This is a port of the amazing openskill.js package

Open Debates Project 156 Dec 14, 2022
Python module for machine learning time series:

seglearn Seglearn is a python package for machine learning time series or sequences. It provides an integrated pipeline for segmentation, feature extr

David Burns 536 Dec 29, 2022
To design and implement the Identification of Iris Flower species using machine learning using Python and the tool Scikit-Learn.

To design and implement the Identification of Iris Flower species using machine learning using Python and the tool Scikit-Learn.

Astitva Veer Garg 1 Jan 11, 2022
CorrProxies - Optimizing Machine Learning Inference Queries with Correlative Proxy Models

CorrProxies - Optimizing Machine Learning Inference Queries with Correlative Proxy Models

ZhihuiYangCS 8 Jun 07, 2022
SynapseML - an open source library to simplify the creation of scalable machine learning pipelines

Synapse Machine Learning SynapseML (previously MMLSpark) is an open source library to simplify the creation of scalable machine learning pipelines. Sy

Microsoft 3.9k Dec 30, 2022
Module is created to build a spam filter using Python and the multinomial Naive Bayes algorithm.

Naive-Bayes Spam Classificator Module is created to build a spam filter using Python and the multinomial Naive Bayes algorithm. Main goal is to code a

Viktoria Maksymiuk 1 Jun 27, 2022
Stats, linear algebra and einops for xarray

xarray-einstats Stats, linear algebra and einops for xarray ⚠️ Caution: This project is still in a very early development stage Installation To instal

ArviZ 30 Dec 28, 2022
Pyomo is an object-oriented algebraic modeling language in Python for structured optimization problems.

Pyomo is a Python-based open-source software package that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. Pyomo can be used to define symbolic p

Pyomo 1.4k Dec 28, 2022