diff --git a/pybasicbayes/distributions/comparison_results b/pybasicbayes/distributions/comparison_results new file mode 100644 index 0000000000000000000000000000000000000000..663065d49a540f3c5be1123fe4a20a1caf0a82bf Binary files /dev/null and b/pybasicbayes/distributions/comparison_results differ diff --git a/pybasicbayes/distributions/dynglm_optimisation_test.py b/pybasicbayes/distributions/dynglm_optimisation_test.py new file mode 100644 index 0000000000000000000000000000000000000000..fc8b34d30c303d0f81001769dde5c0cd3a298ee2 --- /dev/null +++ b/pybasicbayes/distributions/dynglm_optimisation_test.py @@ -0,0 +1,49 @@ +""" +Need to find out whether loglikelihood is computed correctly. + +Or whether a bug here allows states to invade each other more easily. +We'll test this by comparing to pymc results. +""" +import numpy as np +from dynamic_glm import Dynamic_GLM +import pickle +import matplotlib.pyplot as plt + +# Testing of Dynamic_GLM implementation +np.set_printoptions(suppress=True) + +seed = np.random.randint(10000) # 215 +print(seed) +seed = 5489 +np.random.seed(seed) + + +T = 16 +n_regressors = 3 +step_size = 0.2 +Q = np.tile(np.eye(n_regressors), (T, 1, 1)) +test = Dynamic_GLM(n_regressors=n_regressors, T=T, P_0=4 * np.eye(n_regressors), Q=Q * step_size, prior_mean=np.zeros(n_regressors)) +w = np.zeros(n_regressors) + +test_points = [0] +predictors = [] +a, b = np.zeros(1000), np.zeros(1000) +a[250:500] = 1 +a[750:1000] = 1 +b[500:] = 1 +for _ in range(T): + if _ in [0, 1, 8, 9, 10, 11, 12, 14, 15]: + predictors.append(np.empty((0, n_regressors))) + continue + t = 1000 + pred = np.empty((t, n_regressors)) + pred[:, 0] = a + pred[:, 1] = b + pred[:, 2] = 1 + predictors.append(pred) +sample = test.rvs(predictors, list(range(T))) +pickle.dump(sample, open('test_data', 'wb')) +pickle.dump(test, open('truth', 'wb')) + +plt.plot(test.weights) +plt.show() diff --git a/pybasicbayes/distributions/test_data b/pybasicbayes/distributions/test_data new file mode 100644 index 0000000000000000000000000000000000000000..3ffa3844572210fce09895de3a0eedd42be167a1 Binary files /dev/null and b/pybasicbayes/distributions/test_data differ diff --git a/pybasicbayes/distributions/timepoint test.png b/pybasicbayes/distributions/timepoint test.png new file mode 100644 index 0000000000000000000000000000000000000000..672bb89d287ebe9a4d176b146d4826f61a9bbbff Binary files /dev/null and b/pybasicbayes/distributions/timepoint test.png differ diff --git a/pybasicbayes/distributions/truth b/pybasicbayes/distributions/truth new file mode 100644 index 0000000000000000000000000000000000000000..0a1695bc9fce809de1ff7c36ff90189b086a3d93 Binary files /dev/null and b/pybasicbayes/distributions/truth differ