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

Future #13

Merged
merged 14 commits into from
Jun 29, 2020
Merged

Future #13

merged 14 commits into from
Jun 29, 2020

Conversation

francescoalemanno
Copy link
Owner

@francescoalemanno francescoalemanno commented Jun 26, 2020

The aim of this PR is completely refactoring all algorithms into a single powerful algorithm with multiple available moves,
inspired by Differential Evolution MCMC, Affine Invariant MCMC.
whether this will be merged in full, in part, or not is still to be decided.

@codecov
Copy link

codecov bot commented Jun 26, 2020

Codecov Report

Merging #13 into master will increase coverage by 0.96%.
The diff coverage is 99.09%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #13      +/-   ##
==========================================
+ Coverage   98.12%   99.09%   +0.96%     
==========================================
  Files           5        3       -2     
  Lines         213      110     -103     
==========================================
- Hits          209      109     -100     
+ Misses          4        1       -3     
Impacted Files Coverage Δ
src/KissABC.jl 98.46% <98.46%> (-1.54%) ⬇️
src/priors.jl 100.00% <100.00%> (ø)
src/types.jl 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ba0c482...81b6452. Read the comment docs.

@francescoalemanno
Copy link
Owner Author

@jbrea what do you think about this?

Copy link

@jbrea jbrea left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, nice work!

So far I went only very quickly over this. I like the idea of making it more general based on the interface functions accept and loglike. But I would need to think a bit more about the definitions of the structures, e.g. putting costs into ApproximatePosteriors didn't seem too intuitive to me at first glance and maybe it would make sense to define some structs for the particles?

Also, shall we look into AbstractMCMC.jl as you mentioned and was brought up again in JuliaApproxInference/ApproxInferenceBase.jl#1?

Please let me know if you want me to look in more details at this PR or something in particular.

densitytypes(S::DiscreteDistribution) = Int64

floatize(S) = floatize.(S)
floatize(S::Number) = convert(Float64, S)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not using built-in float?

@francescoalemanno
Copy link
Owner Author

francescoalemanno commented Jun 29, 2020

I agree on both points, a Particle struct Is a good idea, and It would be very nice if both my affine_mcmc and your adaptive_smc become implementations of AbstractMCMC, altough at the moment I find it difficult to follow the logic of that abstract interface.. 🤣

in this case, i will merge this, and slowly work on another PR to include a Particle struct

@francescoalemanno francescoalemanno merged commit ac52918 into master Jun 29, 2020
@francescoalemanno francescoalemanno deleted the future branch June 29, 2020 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants