def setUp(self): np.random.seed(0) self.mean = np.array([[0., -2.], [0., 0.], [0., 2.]]) self.cov = np.array([[2., 0.], [0., .2]]) n_obs = 2000 data = np.vstack([np.array(rmvnorm(self.mean[k, :], self.cov, n_obs)) for k in range(self.mean.shape[0])]) self.model = FlowVB(data, 6, thresh=1e-6, init_method='random')
def setUp(self): np.random.seed(0) self.mean = np.array([[0., -2.], [0., 0.], [0., 2.]]) self.cov = np.array([[2., 0.], [0., .2]]) n_obs = 2000 data = np.vstack([np.array(rmvnorm(self.mean[k, :], self.cov, n_obs)) for k in range(self.mean.shape[0])]) initialiser = RandomInitialiser() init_params = initialiser.initialise_parameters(data, 6) options = Options(init_params) self.model = FlowVBAnalysis(data, options)
def varsim(coefs, intercept, sig_u, steps=100, initvalues=None): """ Simulate simple VAR(p) process with known coefficients, intercept, white noise covariance, etc. """ from numpy.random import multivariate_normal as rmvnorm p, k, k = coefs.shape ugen = rmvnorm(np.zeros(len(sig_u)), sig_u, steps) result = np.zeros((steps, k)) result[p:] = intercept + ugen[p:] # add in AR terms for t in xrange(p, steps): ygen = result[t] for j in xrange(p): ygen += np.dot(coefs[j], result[t - j - 1]) return result
def varsim(coefs, intercept, sig_u, steps=100, initvalues=None, seed=None): """ Simulate simple VAR(p) process with known coefficients, intercept, white noise covariance, etc. """ if seed is not None: np.random.seed(seed=seed) from numpy.random import multivariate_normal as rmvnorm p, k, k = coefs.shape ugen = rmvnorm(np.zeros(len(sig_u)), sig_u, steps) result = np.zeros((steps, k)) result[p:] = intercept + ugen[p:] # add in AR terms for t in xrange(p, steps): ygen = result[t] for j in xrange(p): ygen += np.dot(coefs[j], result[t-j-1]) return result
import numpy as np from numpy.random import multivariate_normal as rmvnorm from flowvb import FlowVBAnalysis from flowvb.core.flow_vb import Options from flowvb.initialize import D2Initialiser ''' Demo using synthetic data with three wide but short clusters ''' # np.random.seed(0) mean = np.array([[0., -2.], [0., 0.], [0., 2.]]) cov = np.array([[2., 0.], [0., .2]]) n_obs = 2000 data = np.vstack([np.array(rmvnorm(mean[k, :], cov, n_obs)) for k in range(mean.shape[0])]) num_comp_init = 6 init_params = D2Initialiser().initialise_parameters(data, num_comp_init) options = Options(init_params) options.plot_monitor = True model = FlowVBAnalysis(data, options)
import numpy as np from numpy.random import multivariate_normal as rmvnorm from flowvb import FlowVBAnalysis from flowvb.core.flow_vb import Options from flowvb.initialize import D2Initialiser ''' Demo using synthetic data with a large and a small cluster ''' np.random.seed(0) mean = np.array([[0., -2.], [3., 3.]]) cov = np.array([[[2., 0.], [0., .2]], [[.2, 0], [0, .2]]]) n_obs = [2000, 100] data = np.vstack([np.array(rmvnorm(mean[k, :], cov[k, :, :], n_obs[k])) for k in range(mean.shape[0])]) num_comp_init = 6 init_params = D2Initialiser().initialise_parameters(data, num_comp_init) options = Options(init_params) options.plot_monitor = True model = FlowVBAnalysis(data, options)