Question about 'x' in pymc.invlogit(a+b*x)

Terry Reedy tjreedy at udel.edu
Sat Mar 7 13:13:59 EST 2015


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




More information about the Python-list mailing list