docstr: Compare HSGPPeriodic conditional to HSGPPeriodic prior. Draw samples
  from the prior and compare them using MMD two sample test. The conditional should match the
  prior when no data is observed.
docstr_tok: ["Compare","HSGPPeriodic","conditional","to","HSGPPeriodic","prior",".","Draw","samples","from","the","prior","and","compare","them","using","MMD","two","sample","test",".","The","conditional","should","match","the","prior","when","no","data","is","observed","."]
code: def test_conditional_periodic(self, model, cov_func, X1):
      """Compare HSGPPeriodic conditional to HSGPPeriodic prior. Draw samples
      from the prior and compare them using MMD two sample test. The conditional should match the
      prior when no data is observed.
      """
      with model:
          hsgp = pm.gp.HSGPPeriodic(m=100, cov_func=cov_func)
          f = hsgp.prior("f", X=X1)
          fc = hsgp.conditional("fc", Xnew=X1)
  
          idata = pm.sample_prior_predictive(samples=1000)
  
      samples1 = az.extract(idata.prior["f"])["f"].values.T
      samples2 = az.extract(idata.prior["fc"])["fc"].values.T
  
      h0, mmd, critical_value, reject = two_sample_test(
          samples1, samples2, n_sims=500, alpha=0.01
      )
      assert (
          not reject
      ), "H0 was rejected, even though HSGP prior and conditional should match."
  
imports: import arviz
  import numpy
  import pytensor
  import pytensor.tensor
  import pytest
  from scipy.spatial import distance
  import pymc
label_desc: Use image node_id 3 for calling the TestHSGPPeriodic obj's underlying member method code with example usage: obj.test_conditional_periodic(model, cov_func, X1) without return types