# How to define reasonable observed data

I want to test a math function ,like y=x1+x2 , but no observed data.

x1=pm.Normal(‘x1’,mu=0.5,sd=0.5)

x2=pm.Normal(‘x1’,mu=0.5,sd=0.5)

y=x1+x2

Y=pm.Normal(‘Y’,mu = y,sd=1,observed =obs)

so how to define reasonable observed data? and why ?

Not sure I understand your question, but if the function is not directly observed, and you want to do inference on this latent variable, the code you wrote above is correct.

I don’t understand this question either.

I mean there is no observed data. so may I run it with no observed data. if not, how to define the observed data?

x1=pm.Normal(‘x1’,mu=0.5,sd=0.5)

x2=pm.Normal(‘x2’,mu=0.5,sd=0.5)

y=x1+x2

Y=pm.Normal(‘Y’,mu = y,sd=1)

I still don’t understand what you are asking. If you run the model you defined in your last post, it will sample from the priors on `x1`, `x2`, and `Y`. There is no connection and no observations defined, so your traces of the three parameters should be independent. The model will also sample `y` from its implicit prior.

Do you mean sampling from the prior predictive? If so, you can do:

``````with pm.Model() as model:
x1 = pm.Normal('x1', mu=0.5, sd=0.5)
x2 = pm.Normal('x2', mu=0.5, sd=0.5)
y = pm.Deterministic('y', x1 + x2)

with model:
trace = pm.sample(1000)
``````

and then look at the trace of `y`.

Isn’t that the prior? I don’t understand the difference.

oh, thanks very much. I maybe wrong that I think It’s necessary to define oberserved data.