Generate samples using model function itself?

Thanks for the response @eb8680_2.

It’s an interesting point on why I want to use MCMC-NUTS when I am not conditioning on data?

Earlier, I used pymc3 MCMC (Metrapolis Hastings) to generate fake data and thought its the standard way to do it. My apologies, I am still learning all the Probability Programming concepts :slight_smile:

Coming back to current forum question, so earlier with the help of @fehiepsi in this other pyro-forum-question I built a model and wanted to test the invariance properties of the model. So I thought of a simple test.
First, hard code some parameters in the model (guess and slip parameters in the above model) and generate fake data.
Second, condition the model on the fake data and compare the mean and variance of parameters (guess and slip) with the initial hard coded value. I want to see how does the invariance of model holds particularly in small sample sizes of fake data. In real data scenario, I am probably going to get around 40-60 data points.

Now, given my model is using MCMC-NUTS to do inference, I naively thought let’s generate data using MCMC-NUTS as well or any other MCMC algo (like I used Metrapolis in PyMC3) so that in both the steps above, the MCMC algo remains the same.

However, when I think about it now, it should be fine to do Step 1 using Trace method and then Step 2 using MCMC-NUTS. I wonder though, is it mathematically not possible to sample fake data using MCMC-NUTS but possible using MCMC-Metrapolis? Or am I severely lacking some concepts :smiley:

Thanks for all the help and talking me through this issue. Have a great day ahead!