Hi, I am working on a model update involving pymc. I have a function, say func, which an given array, produces a float or -inf. Func used to be wrapped within a pymc.stochastic decorator before it was deprecated. I understand that func serves to confirm whether a draw during sampling of a tensorvariable satisfies requirements so that only draws that do are retained in the posterior. Now, I am trying to use the pymc.DensityDist or pymc.Potential but because a TensorVariable (not an array) is passed to func, it is unable to perform inequality checks. I have used the eval method of the tensorvariable but that has also failed to work. Please help
@@stanleynwanekezie5355 The best place to ask is the pymc discourse. All the core devs are there and your question I believe has been asked already so there may already be a solution!
Dude your video is amazing. So my clarity and simplicity around complex topic. I really like how you keep re explaining basic terms as you cover them because it really helps following through into more advanced areas
Wow I really hope you dive into pymc3, I always had difficulty on understanding programming the priors. You're the best! This video is great. Sending love from South Korea :)
SUPER good video, I have been practicing on jupyter notebooks for data science and it has taken time but these videos make me feel like im standing on the shoulders of giants. THANKS
Very nice video, well-organized and neatly explained concepts. One thing I would like to see at the end is some discussion on how would you use the posterior distributions, given that the true values are not obvious to infer from those at all :)
Nicely done! Very clear, concise yet informative. One thing missing from intro tutorials like this one is a real world example, with a a bigger dataset and more variables. Can pymc3 run on gpus, or computer clusters, etc or should I look elsewhere (pyro, tensor flow.probability)? Just giving an idea for future videos! Keep up the good work
Great video, very well explained!! I would love to see you 💪 on another equation and distribution, something just a little harder like Ytrue = X1^3 - X2^2 - X3 Y = Ytrue + binomial error distribution Or something weird like that lol Thanks for another great lesson!
Confidence intervals don't actually give you the probability of a parameter being inside them. They instead tell you that, over repeated sampling, say 95% of the time the true value will be contained in those intervals. Bayesian approach gives you intervals with the probability of a parameter being inside them
Great video. I'm just shocked about the runtime. 2 whole minutes. So, the mcmc needs to run a few thousand iterations, where for each iteration it should sample a few random numbers from standard distributions. I would have expected this to be done in milliseconds. What am I missing?
Hi ritvikmath, great videos, this one , the gibbs, metrolopis, the ridge/lasso!! Do you have any suggestions to understand how to best do a prediction in the bayesian way? And to get a credible set of the prediction, we have credible set for each of the parameters, if I use their means I can make predictions , if I were to use a bit lower than their mean I can produce a sightly different value , so there many possible prediction ranges for a given x input. I would appreciate any suggestions, thanks !!!! I could not find a good resource for that.
Could we not simply use p-value to gauge our confidence of our point estimate? Or is there additional benefit from being able to see the full distribution?
Can somebody pls tell where did we use the observed values of y in determining the posterior distribution? Is it perhaps used in determining just the normalizing factor in the Bayes theorem...?
Hi, I am working on a model update involving pymc. I have a function, say func, which an given array, produces a float or -inf. Func used to be wrapped within a pymc.stochastic decorator before it was deprecated. I understand that func serves to confirm whether a draw during sampling of a tensorvariable satisfies requirements so that only draws that do are retained in the posterior. Now, I am trying to use the pymc.DensityDist or pymc.Potential but because a TensorVariable (not an array) is passed to func, it is unable to perform inequality checks. I have used the eval method of the tensorvariable but that has also failed to work. Please help.
I'm a core dev on PyMC. This is a great video. For newer watchers know that PyMC3 has been superseded by PyMC v5 and its got so many cool new things
Thank you, Sir! 🫡
Hi, I am working on a model update involving pymc. I have a function, say func, which an given array, produces a float or -inf. Func used to be wrapped within a pymc.stochastic decorator before it was deprecated. I understand that func serves to confirm whether a draw during sampling of a tensorvariable satisfies requirements so that only draws that do are retained in the posterior. Now, I am trying to use the pymc.DensityDist or pymc.Potential but because a TensorVariable (not an array) is passed to func, it is unable to perform inequality checks. I have used the eval method of the tensorvariable but that has also failed to work. Please help
@@stanleynwanekezie5355 The best place to ask is the pymc discourse. All the core devs are there and your question I believe has been asked already so there may already be a solution!
Dude your video is amazing. So my clarity and simplicity around complex topic.
I really like how you keep re explaining basic terms as you cover them because it really helps following through into more advanced areas
Wow I really hope you dive into pymc3, I always had difficulty on understanding programming the priors. You're the best! This video is great. Sending love from South Korea :)
SUPER good video, I have been practicing on jupyter notebooks for data science and it has taken time but these videos make me feel like im standing on the shoulders of giants. THANKS
Glad I could help!
You teach so well! Please keep making videos!
Thank you! Will do!
Very nice video, well-organized and neatly explained concepts. One thing I would like to see at the end is some discussion on how would you use the posterior distributions, given that the true values are not obvious to infer from those at all :)
Amazing as always! Just enough to wet the appetite for more PyMC3 learning. It looks like I may be using this library really soon.
Very informative. Thanks!
Of course! Thanks for watching
More video like this on Bayesian approaches.
Haha you'll probably be happy with Wednesday's video :) stay tuned
This tutorial really ties everything together. Thank you.
Nicely done! Very clear, concise yet informative. One thing missing from intro tutorials like this one is a real world example, with a a bigger dataset and more variables. Can pymc3 run on gpus, or computer clusters, etc or should I look elsewhere (pyro, tensor flow.probability)? Just giving an idea for future videos! Keep up the good work
Valid point and great suggestion! Thank you
Yes. PyMC can run on GPU TPU backend using Jax. Source I'm core dev of the library
I'm subscribing, your explanation was on point!
Amazing job! So clear & easy to understand
Very nicely done!
Thanks :)
Brilliant - I loved it
Great video, very well explained!! I would love to see you 💪 on another equation and distribution, something just a little harder like
Ytrue = X1^3 - X2^2 - X3
Y = Ytrue + binomial error distribution
Or something weird like that lol
Thanks for another great lesson!
Hey great suggestion! Thanks
What are the advantages of this approach over use of the confidence intervals calculated in a linear model (e.g. as output by statsmodels?)
Confidence intervals don't actually give you the probability of a parameter being inside them. They instead tell you that, over repeated sampling, say 95% of the time the true value will be contained in those intervals. Bayesian approach gives you intervals with the probability of a parameter being inside them
Great stuff. You've won a new subscriber.
In other words, the MC in PyMC3 is for Markov Chain eh?
Ur videos r awesome thanks for adding in theory!
Glad you like them!
Fantastic material. Thanks.
Thanks a lot for this video and the corresponding codes in GitHub! May Allah bless you!!!
What's the advantage of Bayesian analysis compared to calculating confidence intervals with linear regression and bootstrap?
This is a great question and I'm going to have to give the unsatisfying answer that I'll probably address this in a future video
@@ritvikmath That's totally satisfying, as long as we get that video. :) Thank you!
So cool!
2:45 question - would linear regression give you distribution too? consider the confidence intervals of the parameter estimates.
Great video. I'm just shocked about the runtime. 2 whole minutes. So, the mcmc needs to run a few thousand iterations, where for each iteration it should sample a few random numbers from standard distributions. I would have expected this to be done in milliseconds. What am I missing?
@ritvikmath Do you have any book recommendations to learn PyMC3?
Hi ritvikmath, great videos, this one , the gibbs, metrolopis, the ridge/lasso!! Do you have any suggestions to understand how to best do a prediction in the bayesian way? And to get a credible set of the prediction, we have credible set for each of the parameters, if I use their means I can make predictions , if I were to use a bit lower than their mean I can produce a sightly different value , so there many possible prediction ranges for a given x input. I would appreciate any suggestions, thanks !!!! I could not find a good resource for that.
Could we not simply use p-value to gauge our confidence of our point estimate? Or is there additional benefit from being able to see the full distribution?
Posterior median would probably give a better estimate of the mode of the distribution of sigma
how come you did not plot a histogram of the posterior, given that you drew samples from it?
Can somebody pls tell where did we use the observed values of y in determining the posterior distribution?
Is it perhaps used in determining just the normalizing factor in the Bayes theorem...?
Hi, I am working on a model update involving pymc. I have a function, say func, which an given array, produces a float or -inf. Func used to be wrapped within a pymc.stochastic decorator before it was deprecated. I understand that func serves to confirm whether a draw during sampling of a tensorvariable satisfies requirements so that only draws that do are retained in the posterior. Now, I am trying to use the pymc.DensityDist or pymc.Potential but because a TensorVariable (not an array) is passed to func, it is unable to perform inequality checks. I have used the eval method of the tensorvariable but that has also failed to work. Please help.
good teacher
Does Pymc3 do the same type of thing that RJags does? Does it “send” the model to another language? Or is it doing all of the mcmc sampling itself?
pymc3 is a builtin library of python, not an interface like rjags. Moreover rjags only allows gibbs sampling (I think) while pymc3 allows hmc
Do you prefer PyMC3 over TensorFlow Probability?
whats the reasoning why mcmc is better for smaller datasets?
Make some videos for Bayesian prior selection
i'm not sure it's a good idea to model 10 data with a model; the test theory is really different ( and just says ' watch out')