Hello.
I am a beginner in Bayesian Inference and PYMC (Also Python).
I have studied multi-objective predictive control using machine learning and deep learning.
I wonder whether users can develop the regression (or GP model) with a selective input structure as ANN is available.
What I mean is shown in the below figure:
(All Beta and Alpha follow a normal distribution)
So, I am trying to implement that with this code:
But it really takes much duration (I think that this code cannot work. Hence I can’t see even errors)
# multiple linear regression
x = np.random.normal(10,np.sqrt(2),size=(6,10))
y = np.random.normal(30,np.sqrt(15),size=(6,10))
with pm.Model() as mod:
Temp_array = np.matrix([[1,1,0,1,0,1],
[0,1,1,0,1,1],
[1,1,1,1,0,0],
[0,0,1,1,1,1],
[1,0,1,0,1,0],
[0,1,1,1,1,0]])
Beta1 = pm.Normal('Beta1', mu=5,sd=1)
Beta2 = pm.Normal('Beta2', mu=10,sd=3)
Beta3 = pm.Normal('Beta3', mu=4,sd=1.5)
Beta4 = pm.Normal('Beta4', mu=7,sd=6)
Beta5 = pm.Normal('Beta5', mu=9,sd=2)
Beta6 = pm.Normal('Beta6', mu=11,sd=8)
Alpha1 = pm.Normal('Alpha1', mu=5,sd=1)
Alpha2 = pm.Normal('Alpha2', mu=10,sd=3)
Alpha3 = pm.Normal('Alpha3', mu=4,sd=1.5)
Alpha4 = pm.Normal('Alpha4', mu=7,sd=6)
Alpha5 = pm.Normal('Alpha5', mu=9,sd=2)
Alpha6 = pm.Normal('Alpha6', mu=11,sd=8)
Beta_Vec = np.matrix([[Beta1],[Beta2],[Beta3],[Beta4],[Beta5],[Beta6]])
Alpha_Vec = np.matrix([[Alpha1],[Alpha2],[Alpha3],[Alpha4],[Alpha5],[Alpha6]])
epsilon = pm.Normal('epsilon',mu=0,sd=np.sqrt(5), shape=(6,1))
Beta_Mat = Temp_array*Beta_Vec
Slope = Beta_Mat.transpose() * x + Alpha_Vec
Selective_Regressor = pm.Normal('Selective_Regressor',mu=Slope,observed=y)
tr = pm.sample(10)
Is there anyone who can help me… ?
I would very much appreciate it if you help me.