-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
.random() methods missing from some timeseries distributions #4337
Comments
Hi, I am new to contributing and would like to work on this issue. Can I work on it? |
@awray3 of course, go ahead! |
Is Also, are each of the random walks conventionally taken to start at 0 like |
Yes, these three parameters are just three different ways of expressing the covariance matrix. You can take a look at
Yes, I think so. I'm guessing it's like Gaussian Processes: you can just add the mean separately afterwards to center the random walk on something else than 0 |
@AlexAndorra Thank you for the pointer; it lead me to |
General question on time series in PyMC3, which I could not find in the documentation: what should the shape parameter be for a multivariate time series random variable? My guess after sorting through some of the code was that it should be something like |
* Implement random for MvGaussianRandomWalk Implements the random method for MvGaussianRandomWalk, partially fixing #4337. * Update docstring for GaussianRandomWalk._random() * Add example to random docstring * Modify MvGaussianRandomWalk.random Improves the implementation by using MvNormal.random as suggested by @Sayam753. Also updated its docstring to add more examples. * Add TestMvGaussianRandomWalk * Pass entire shape to MvNormal This commit rewrites the random method to pass the entire shape into MvNormal. MvGaussianRandomWalk also now supports an integer shape that must match the dimensionality of mu. In this case it is assumed that there are no time steps, and a random sample from the multivariate normal distribution will be returned. * Fix rebase issue * Update pymc3/distributions/timeseries.py Remove equality since the shape parameter cannot have more than 2 dimensions. Co-authored-by: Sayam Kumar <sayamkumar753@yahoo.in> * Update comment pymc3/distributions/timeseries.py Co-authored-by: Sayam Kumar <sayamkumar753@yahoo.in> * Update pymc3/distributions/timeseries.py Adds a more explicit conditional on the time_axis statement. Co-authored-by: Sayam Kumar <sayamkumar753@yahoo.in> * Fix syntax error * Add tests for MvGaussianRandomWalk with RV params Added tests for both chol and cov to be random variables. * Improve comment clarity in MvNormal._random Moves the brittle comment in MvRandom._random's docstring to the actual location in the code for clarity. * Update docstring formatting * Update RELEASE-NOTES.md Co-authored-by: Sayam Kumar <sayamkumar753@yahoo.in>
Entire time series is being refactored so maybe we can close this @michaelosthege ? |
I would leave it open until those are implemented, as a reminder issue |
Timeseries distributions with a
.random()
method:GaussianRandomWalk
Timeseries distributions where
.random is None
:MvGaussianRandomWalk
MvStudentTRandomWalk
AR
AR1
GARCH11
EulerMaruyama
At least for the two
Mv
distributions is should be straightforward to implement.Make sure to include them in
test_distributions_random.py
, just likeGuassianRandomWalk
already is!The text was updated successfully, but these errors were encountered: