On 3/7/2015 11:44 AM, fl wrote:
Hi,

I once learnt Python for a few weeks. Now, I try to using a Python package
pymc. It has the following example code:




import pymc
import numpy as np
n = 5*np.ones(4,dtype=int)
x = np.array([-.86,-.3,-.05,.73])

x is defined here as a module ('global') name

alpha = pymc.Normal('alpha',mu=0,tau=.01)
beta = pymc.Normal('beta',mu=0,tau=.01)
@pymc.deterministic
def theta(a=alpha, b=beta):
      """theta = logit^{-1}(a+b)"""
      return pymc.invlogit(a+b*x)

x is used here. Names in functions can be resolved in the local, (nonlocal, when present, but not here), global, and builtin namespaces, in that order. They are resolved when the function is called.

d = pymc.Binomial('d', n=n, p=theta, value=np.array([0.,1.,3.,5.]),\
observed=True)

I don't understand the 'x' in pymc.invlogit(a+b*x). Could you help me on it?

See comments, and contemplate this simplified example

>>> def f(a): return a+b

>>> b = 3
>>> f(4)
7

--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to