def test_get_temporal_regimes_crash(): rng = np.random.RandomState(1) trcrpm = TRCRP_Mixture(chains=4, lag=3, variables=FRAME.columns, rng=rng) trcrpm.incorporate(FRAME) for variable in trcrpm.variables: regimes_all = trcrpm.get_temporal_regimes(variable) assert np.shape(regimes_all) == (trcrpm.chains, len(trcrpm.dataset)) regimes_some = trcrpm.get_temporal_regimes(variable, timepoints=[0, 1, 2]) assert np.shape(regimes_some) == (trcrpm.chains, 3)
def test_trcrp_mixture_all_dependent(): rng = np.random.RandomState(2) trcrpm = TRCRP_Mixture(chains=3, lag=3, variables=FRAME.columns, rng=rng) with pytest.raises(ValueError): # No data incorporated yet. trcrpm.resample_all(steps=10) trcrpm.incorporate(FRAME) trcrpm.resample_all(steps=10) for state in trcrpm.engine.states: assert len(state.views) == 1 trcrpm.resample_hyperparameters(steps=5) regimes_a = trcrpm.get_temporal_regimes('a') regimes_b = trcrpm.get_temporal_regimes('b') regimes_c = trcrpm.get_temporal_regimes('c') assert np.all(regimes_a == regimes_b) assert np.all(regimes_a == regimes_c)
data = pd.read_csv("./data/anomaly0245.csv", index_col=0) data = data.iloc[156600:240000].reset_index(drop=True) # Setup the placekeeping and initilizing variables chain = 0 x, eng_val, states, num_states = [], [], [], [] i = 0 step = 30 print(i) rng = np.random.RandomState(1) model = TRCRP_Mixture(chains=1, lag=10, variables=data.columns, rng=rng) model.incorporate(data[i:i + step]) model.resample_all(seconds=10) model.resample_hyperparameters(seconds=10) s = model.get_temporal_regimes('anomaly')[chain] num_states = step * [len(sorted(set(s)))] states = list(s[i:i + step]) eng_val = data.iloc[i:i + step, 0].tolist() x = list(range(i, i + step)) for i in range(step, len(data) - step, step): model.incorporate(data[i:i + step]) model.resample_all(seconds=10) model.resample_hyperparameters(seconds=10) s = model.get_temporal_regimes("anomaly")[chain] num_states = step * [len(sorted(set(s)))] states = list(s[i:i + step]) eng_val = data.iloc[i:i + step, 0].tolist() x = list(range(i, i + step)) print(i)