Open ParadaCarleton opened 1 year ago
I don't know about Control variate and control functional. However, I can help on the first two boxes! In fact, we just release v3 of our work The Robust Randomized Quasi Monte Carlo method, applications to integrating singular functions. We basically combine Robust estimator (not just median of mean). We discuss briefly the Pan, Owen paper you linked in Section 5.
- I don't think this QMC package should host robust estimator, but only focus on QMC. In fact, I developed the package RobustMeans.jl that does exactly that!
Maybe we should create a separate package called something like QMCIntegrals.jl? It could include things like robust RQMC and control variates.
Control variates just means reducing the variance by using a known quantity x_true
to adjust our estimate of the outcome y
. We do a linear regression of x_observed
on y_observed
to get a coefficient c
; then we adjust our estimate of f(x)
by controlling for the error in x
, i.e. x_observed - x_true
, which lets us subtract off the error in our estimate of y
caused by the error in our estimate of x
.
It works the same with RQMC, we just need to use the correlation calculated by using the independent batches of x
.
Maybe we should create a separate package called something like QMCIntegrals.jl? It could include things like robust RQMC and control variates.
Good idea! I actually prefer having a separate package for people to implement fancy control variate or other methods rather than a big "all in one" package (like qmcpy). I believe it more Julian way to do ?
We could also include discrepancy measures and the istmsnet
that we defined in the runtest.jl file.
I don't have currently much time for this new package, as I have to move to other projects for now! About the name here is my try QuasiMonteCarloTools.jl ?
Maybe we should create a separate package called something like QMCIntegrals.jl? It could include things like robust RQMC and control variates.
That would be great to see. Make sure it has an Integrals.jl hook so that it matches the other algorithms and is easy to swap to. I've been wanting a pure Julia higher dimensional integral method so that way when we are using weird number types and such it's easy to swap to it.
Using this issue to keep track of estimators we may want to implement.