Prediction

Predictions use Theano's shared variables to replace the training data with test data before running posterior predictive checks. To facilitate visualization, we create a variable with a single predictor hours, create the train and test datasets, and convert the former to a shared variable. Note that we need to use numPy arrays and provide a list of column labels (see the notebook for details):

X_shared = theano.shared(X_train.values
with pm.Model() as logistic_model_pred:
pm.glm.GLM(x=X_shared, labels=labels,
y=y_train, family=pm.glm.families.Binomial())

We then run the sampler as before, and apply the pm.sample_ppc function to the resulting trace after replacing the train with test data:

X_shared.set_value(X_test)
ppc = pm.sample_ppc(pred_trace, model=logistic_model_pred,
samples=100)

The AUC score for this model with a single feature is 0.65. The following plot shows the actual outcomes and uncertainty surrounding the predictions for each sampled predictor value:

We will now illustrate how to apply Bayesian analysis to trading-related use cases.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.142.195.24