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

Possible extensions: #18

Open
xhajnal opened this issue Feb 19, 2019 · 0 comments
Open

Possible extensions: #18

xhajnal opened this issue Feb 19, 2019 · 0 comments
Labels
enhancement New feature or request Future work Possible extension that has to be discusses how to do this help wanted Extra attention is needed

Comments

@xhajnal
Copy link
Owner

xhajnal commented Feb 19, 2019

This file summarises what has been done in our project (DiPS and Bees) and will be done in the foreseeable future. If you are aware of something missing or something which is worth to look at, please comment.

GENERAL FEATURES

Related Work

  • parameter synthesis by the formal methods - see github mcss_papers
  • other related work - see drive
    • Experimentally induced innovations lead to persistent culture via conformity in wild birds
    • Probabilistic Programming Process Algebra
    • Distributed Information Processing in Biological and Computational Systems
    • others???

Models

  • pMCs
    • PRISM format
  • pMDP
    • PRISM format
    • check on more models
  • state-space reduction #small_project
    • use bisimulation minimisation, see Hahn, E.M., Hermanns, H., Zhang, L.: Probabilistic reachability for parametric Markov models. STTT 13(1), 3–19 (2010)

Properties

  • PCTL

Rational functions

  • Obtaining the polynomials

    • PRISM
      • wrapper + parser (syntax error, ... , prop-by-prop , Java-heap memory)
    • Storm
      • wrapper + parser
      • how to call in Docker if Storm not installed

Data

  • list observed values (probability or reward) for the respective property
  • data weights
  • generate observations from the data for MH

(Confidence) Intervals

  • CI intervals #small_project
    • CLT / Wald / standard
    • Agresti-Coull
    • Wilson
    • Jefrreys
    • Clopper Pearson
    • Rule of Three
  • intervals for moments #small_project look here

Constraints

Visualisation

Methods

Tool/GUI

  • Features

    • load, edit, save model
    • load, edit, save properties
    • call PRISM, parse the output
    • call Storm, parse the output
    • factorise, load, save the functions
    • sample functions
      • Grid sampling
      • selected point
      • heatmap (2D)
    • load (.p/csv) and save data
    • show data
    • load, compute, save data intervals
    • compute, load, save, append constraints
    • show rat. functions (with data (with data intervals))
    • Space Sampling
      • possible imporovements
    • Space Refinement
      • possible imporovements
    • Quantitative Space Sampling
      • possible imporovements
    • config file
    • Model selection #small_project
  • User testing #small_project discuss with @tatjanapetrov

    answer design, layout, readability, and also to query possible new features, potentially suggested by biologists.
    • 1 Design user testing
    • 2 set minimal number of participants
    • 3 ask people
    • 4 conduct test
    • 5 evaluate results

Notebooks

  • Features
    • create models
    • sample functions
    • etc.

CASE STUDY - BEE PROJECT #small_project

see Gdrive and Git

Models

  • Models by recursive functions

    • obtain recursive functions for rational functions for new bee models
      • synchronous model: see github mcss_papers/Tatjana_draft
      • ❌ semisynchronous model - NOT_NOW
      • ❌ asynchronous model - NOT_NOW
  • Models by composition

    we adapted Sokolova SCCS composition with PMDPs: see github mcss_papers/Tatjana_draft

    • define generic single agent
    • draw general generic single agent
    • draw generic single agent for two bees
    • define population abstraction
    • define synchronous parallel composition of generic single agents
    • 2 bees
      • draw synchronous parallel composition of 2 generic single agents.
      • draw synchronous parallel composition of 2 generic single agents.
      • draw population abstraction of synchronous parallel composition of 2 generic single agents.
    • 3 bees
      • draw synchronous parallel composition of 3 generic single agents.
      • ❌ draw synchronous parallel composition of 3 generic single agents. - NOT NOW (probably too large)
      • draw population abstraction of synchronous parallel composition of 3 generic single agents.
    • ❌ semisynchronous model - NOT_NOW
    • ❌ asynchronous model - NOT_NOW
    • add references to the papers on composition in the related work
  • PRISM Models (DTMCs) see Gdrive, and Git

    • HSB models
      • old [hsb19] 2-param (p, q) (syn|syn, syn|asyn, asyn|asyn)
      • old [hsb19] mutliparam (p, q0, q1, .... , qn-1) (syn|syn, syn|asyn, asyn|asyn)
    • NEW MODEL
      • new model (r0, r1, .... , rn-1) (syn|syn)
      • new model (r0, r1, .... , rn-1) (syn|asyn)
        • design
        • generator (not optimised)
          - [ ] optimise
      • new model (r0, r1, .... , rn-1) (asyn|asyn)
        • design
        • generator
    • DIFFERENT MODEL
      • 🆕 asyn, superfast spread of pheromone model (see paper drawings)
        • design
        • generator

Properties

  • P=?(FG BSCCi)
    • Generate properties

Rational functions

  • Obtaining the polynomials
    • parse PRISM/Storm, results @ Gdrive
      • new models syn up to 20
    • formula: recursive function
      • bee synchronous
  • model selection
    • CHECK SECOND FACTORISATION of functions
    • linear model
    • ❔ sigmoidal model: which to run first:
      • ❔ sigmoidal 2-param model
        • (Km, n): r_i = 1 / (1 + (Km / (i+1))^n)
        • other option
      • ❔ sigmoidal 3-param model
      • (r_0, Km, n)
      • (Vmax, Km, n) with fixed r_0
        - [ ] how to fix r_0
      • ❔ sigmoidal 4-param model
        • (Vmax, r_0, Km, n)

Data

  • generator of synthetic data
  • obtains the real data
    • normal bees: 2,3,5,10
    • aggressive bees: 2,3,5,7,10,15
  • generate observations from data (histogram)
  • besmart the data
    • 4 ways how to do it
      • multinomial [DEFAULT] (counting all outcomes)
      • ❌ binomial (counting for 2 bins)
      • bins
        • no shuffling vs shuffling
          - [x] no shuffling
        • generate 4bins of functions (done from functions)
        • generate 4bins data
        • CHECK SECOND FACTORISATION of functions
      • ❌ quantiles
      • ❌ neglect small outcomes/bins
      • moments
    • ❔ discuss why we use data encoding only for sig and lin model @tatjanapetrov @xsafran1

(Confidence) Intervals

  • ❔ which formula (margin) we should use? @tatjanapetrov @xsafran1
    • so far done with the margin: (st.norm.ppf(1 - (1 - confidence) / 2) * math.sqrt(data_point * (1 - data_point) / n_samples) + 0.5 / n_samples)
    • another alterative is to skip the + 0.5 / n_samples
  • ❔ confidence level = 0.9 for intervals @xsafran1
    - Tanja: so far yes

Constraints

  • obtain constraints - BLOCKED BY THE INTERVALS

Methods

  • Develop non-decreasing constrainst on parameters
    • regression, MH
  • Refinement
    • ❔ what is the timeout/coverage vs. the best results we simply have @tatjanapetrov @xsafran1
      • best results we have regardless of time and coverage (to be verified by looking)
      • fix coverage
      • [ ] fix depth
      • fix time
  • MH
    • ❔ burn-in 25% (keep last 75%) @xsafran1
      • Tanja: LOOK in the literature
        • I haven't found any general rule, these papers try to estimate it [TBA] [TBA] and this is against any burn-in [TBA]
    • ❔ how many iterations to have vs. the best results we simply have @tatjanapetrov @xsafran1
      • best results we have regardless of time and iterations (to be verified by looking)
      • fix the number of iterations
      • fix time

Analysis

  • ❔ use only synchronous models? Morgane says yes
    • Tanja: so far yes
  • Rerun sigmoidal models
  • ❔ 4 baskets - observability of subset of params [when double factorised] @tatjanapetrov @xsafran1
@xhajnal xhajnal added enhancement New feature or request help wanted Extra attention is needed Future work Possible extension that has to be discusses how to do this labels Feb 19, 2019
@xhajnal xhajnal pinned this issue Aug 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Future work Possible extension that has to be discusses how to do this help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant