Code Monkey home page Code Monkey logo

remu's People

Contributors

ast0815 avatar dependabot[bot] avatar pre-commit-ci[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

alokekumardas

remu's Issues

Fix JeffreysPrior

Does not follow the general design at the moment. It treats the response matrix separate from the parameter translator, while now everything is a Predictor.

Refactoring heavy classes

Some of the classes are pretty heavy. Might want to think about refactoring some of the methods to live somewhere else. At the very least the plotting methods seems to be a prime candidate for this.

Archival file format

To ensure a maximum data shelf life, we should support storing everything in a neat, self-explanatory text format.

Add a CategoricalBinning

Rather than (mis)using LinearBinnings, often it would be handy to just have category bins. E.g. spcific bins for reaction type enums, or text fields.

Single-file format

It might be useful to have a "one file stores all" format for sharing matrices, instead of the current "the needed information is spread over multiple files" approach.

Adding of Predictors

Simple hypotheses can be added, because they are just vectors of values, i.e. arrays. It could be useful to also add composite hypotheses. The result would be a new composite hypothesis with the parameters of both input hypotheses.

Matplotlib warning during tests with Python 3

Test plotting matrices. ... No handles with labels found to put in legend.
No handles with labels found to put in legend.
No handles with labels found to put in legend.
No handles with labels found to put in legend.
ok

Publication with ReMU

Someone needs to do an actual publication using ReMU. We will freeze version 1.0 for that first publication.

Consistently marginalise over subbinnings when plotting

Right now the subbinning marginalisation is handled separately from the marginalisation for plotting puposes. The plotting marginalisation functions should also be applied in one swoop to the subbinning entries, instead of marginalising the subbinnings first.

Unclear subbinning method documentation

The documentation about the insertion and marginalisation of subbinnings is a bit unclear. It should be made more obvious that they do not change the object itself, but only return a modified clone.

Model comparisons without data

It would be useful to create model comparisons without data, i.e. determine whether two models are distinguishable given a detector response.

Needs a better name

Likelihood Machine is an unwieldy name. This software deserves something better.

Ideas:

  • Likelihound
  • Smearfic

Examples need revisiting

I have not looked at the examples in a while. Need to make sure they work and represent the intended workflow for v1.0.

Do calculations on GPU

We re doing a lot of matrix multiplying here. Running this on a GPU might speed things up. Possible packages to facilitate this:

  • Numba
  • CuPy
  • cudamat
  • PyTorch

MCMC trace plotting needs some love

Right now the MCMC trace plotting functions are only working for MCMCs where all truth bins are free parameters directly. This should be made usable for all sorts of CompositeHypotheses.

Flux uncertainty helper

We need a helper class to deal with flux uncertainties:

  • User provides XSEC prediction for each neutrino energy bin.
  • Helper class uses flux prediction and covariance matrix (and target mass uncertainty?) to generate randomly varied event rate predictions.
  • Set of predictions is fed to LikelihoodMachine to calculate p-values etc.

Support ROOT files as inputs

It might be a good idea to support ROOT files/trees as inputs to fill Binnings. A lot of particle physics experiments use root files as de-facto standard of data exchange.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.