Repository navigation
beginning overhaul of random processes - #67
Conversation
|
I've played around with some of the new random process features, but I haven't really looked at most of the code. I really like the separate ProbabilitySpace and RandomProcess definitions. And lots of the features seem to be working properly, e.g. returning the correct distributions. Here are some initial thoughts. Suggested Fixes
returns
Comments/questions
For example, if I add two independent Poisson processes using
I'll continue reviewing and post some notebooks later. Thanks! |
|
I haven't had a chance to address the RandomProcess issues you raised above, but that's next on my list. What I've done is overhaul the underlying data structures for vectors, infinite vectors, discrete-time functions, etc. I think we should be back to the old functionality based on my tests, but I'm sure I missed a few things. Could you run through your notebooks and tutorial and let me know if there are any bugs I should fix? |
This should be fixed.
Done.
I'm not sure I agree with this convention. If
Fixed.
This was a typo, thanks for catching. I agree that we should check that the arguments to
This was supposed to work, but didn't because of a bug. It should be fixed.
Yes, that is the idea.
This was supposed to work, but didn't because of bug. It should be fixed now.
This is possible, but somewhat of a pain. Can this be deferred until the next version?
It's not possible to define a general stopping time, unfortunately. It has to be defined separately for each type of
This was quite an undertaking, but I think I made it work. You can now define
This should have worked before, but there was a bug with PoissonProcess, which I have now fixed. The following code should work: |
|
Fixed all of the bugs that you reported, except for the one about "Simulating paths of a process along with things like arrival times" (this is on my TODO list). |
|
The last few commits essentially remove Right now, random walks and AR processes are very slow. It takes a long time to evaluate X[n] for n > 20. This is a known issue, and I'm working on fixing this. Let me know if you spot any other bugs. |
There is a bug in Numpy 1.12.1 that cause the previous approach to break: numpy/numpy#8887
|
I'll email you some notebooks with examples. I ran some of the tests of binary operations you suggested. Most seem to work the way they should. A few questions
Other comments/questions
but |
Great!
Okay. Let me know if you have a better name. I really want to distinguish it from
Thanks for pointing this out. We do indeed need to worry about that. In this commit, I have systematically replaced all references to
Done. See attached notebook. Let me know if you notice any bugs or have any suggestions. Concat and Joint Distributions.pdf
Also done. See the attached notebook. |
But replace
|
|
Okay, I've made it so that Your Brownian motion example now works; I'm just worried that I might have broken something else in the meantime. Could you please check to make sure that this change doesn't break something else?
This name is on the right track, but a little too verbose for my tastes.
It actually shouldn't be too bad; I just didn't think of it as a use case. Let me think about the best way to implement this.
I'm not sure I like this. The usual behavior of cumsum is for it to start with the first element of the sequence being summed. What would the value of "initialize" be in this case?
Yes, I should fix this. I should also allow people to pass multiple arguments into
I can't think of any ways to do this right now either.
I think this is a good idea, but I don't have the bandwidth to do this. Do you think you can take this on? (It's straightforward, but requires some time.)
I tried to also fix all the float issues when I fixed the int issues. Let me know if you run into any problems.
I would prefer to defer this until later.
Thanks for catching this. It is fixed now. |
I reran most of my recent notebooks. There are some bugs. Most notably, I'm getting many "This operation is only possible with results of consistent dimension" exceptions when trying to plot sample paths or take means. A notebook with a few examples is attached. Also, adding Vector to Vector-valued RV-CTF does not work properly (see example in attached), though this might fall under "wait till later"
"ProductOutcome" any better?
I imagined usual cumsum would be
Sure, I'll try to do this over the weekend. |
Thanks for catching this big bug. It was caused by an older change; it had nothing to do with replacing tuples by Vectors. It should be fixed now.
This example didn't work because the Working on some of the other issues now. |
|
I haven't run much yet, but |
|
Thanks Kevin -- I think I just fixed that problem.
…On Tue, Oct 2, 2018 at 12:45 PM kevindavisross ***@***.***> wrote:
I haven't run much yet, but * and & aren't working; problems with join?
[image: image]
<https://user-images.githubusercontent.com/27861382/46372489-2376e080-c640-11e8-8834-595947680585.png>
Tuple.pdf <https://github.com/dlsun/symbulate/files/2439435/Tuple.pdf>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#67 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ABHvzuHbJS8nE3b6f1gMt4gu46OBg9lkks5ug8JGgaJpZM4VGLYy>
.
|
|
I'm trying to remember where we left off. Please correct me if I'm wrong, but I think we had decided that
This is what was happening before at least. For example, But now |

Overhauling random processes.
All random processes (Markov chains, Poisson processes, Gaussian processes) have a corresponding:
ProbabilitySpaceRandomProcessArrival times, interarrival times, and states are now functions defined on the probability space.