Comments (3)
My number one desired feature is antithetic sampling as an option for sdeint. It's pretty cumbersome to achieve this without editing the package by changing the BrownianInterval's W.
from torchsde.
I've not filled in every detail, but I'd have thought something like this should work:
class AntitheticBrownian(BaseBrownian):
def __init__(self, bm):
self.bm = bm
def __call__(self, ta, tb):
return -self.bm(ta, tb)
bm = BrownianInterval(...)
ys = torchsde(bm=bm, ...)
abm = AntitheticBrownian(bm)
ays = torchsde(bm=abm, ...)
ys = torch.cat([ys, ays])
Does this approach fail / am I missing something / are you trying to achieve something beyond this?
from torchsde.
Does work, but it's still much uglier than it needs to be vs sdeint(...,antithetic=True). For innumerable financial applications of this library, this type of option is... priceless ;p Here's a filled in version in case anyone else is following along:
ts = tch.linspace(0,1.,365)
ntraj = 1000
bm = torchsde.BrownianInterval(ts[0], ts[-1], size=(ntraj,sde.brownian_size), levy_area_approximation='space-time')
ys_ = torchsde.sdeint(sde,sde.y0(ntraj=ntraj), ts, bm=bm)
class AntitheticBrownian(torchsde.BrownianInterval):
def __init__(self, t0, t1, size, bm):
super(AntitheticBrownian, self).__init__(t0,t1,size, levy_area_approximation='space-time')
self.bm = bm
def __call__(self, ta, tb=None, return_U=False, return_A=False):
Z = self.bm(ta, tb, return_U, return_A)
if return_U:
if return_A:
return -Z[0], Z[1], Z[2]
else:
return -Z[0], Z[1]
else:
if return_A:
return -Z[0], Z[1]
else:
return -Z
abm = AntitheticBrownian(ts[0], ts[-1], (ntraj,sde.brownian_size), bm)
ays = torchsde.sdeint(sde,sde.y0(ntraj=ntraj), ts, bm=abm)
ys = torch.cat([ys_, ays],1)```
from torchsde.
Related Issues (20)
- How to do double stochastic integrals? HOT 1
- How to customize timestep to have ts=[0, T], instead of [0, 1] where (T>1) HOT 1
- Suggest to loosen the dependency on boltons HOT 1
- Using "*" in version speficiers is deprecated and breaks some installs HOT 3
- Defining noise type for vector-valued homogeneous SDE HOT 1
- vector-valued SDE cumbersome workflow HOT 1
- Zero drift and zero diffusion matrices lead to non-zero changes of variable
- Irregular data and sampling posterior in latent_sde_lorenz.py
- Low CPU and GPU usage in training sde_gan, Seeking Help to Improve Performance. HOT 2
- Different `t` for data in a minibatch HOT 5
- torchsde pypi package is misformated HOT 26
- Deprecation torchsde version HOT 5
- Something went wrong Expecting value: line 1 column 1 (char 0) HOT 1
- Incorporating real stock time series data
- SDE-LSTM structure for time series forecasting
- Performance Improvement Inquiry: Experiencing Slow Execution with TorchSDE HOT 2
- Latent SDE failed to generate longer samples
- issue with my text to image ai Device type privateuseone is not supported for torch.Generator() api. HOT 1
- 我的 Mac上 只有torchsde-0.2.6.dist-info,怎样才能安装insightface
- 如果 torchsde 当前没有解决这个问题的新版本,你可以联系该项目的维护者或作者
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from torchsde.