ynuozhang commited on
Commit
31d1d63
·
1 Parent(s): 5183c4a

Upload ScooBDoob code without binary caches

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitignore +14 -0
  2. INPUTS.tsv +11 -0
  3. README.md +97 -3
  4. aib9_kappa_sweep.py +214 -0
  5. analysis/mb_floor_sensitivity/all_results.csv +121 -0
  6. analysis/mb_floor_sensitivity/analyze.py +499 -0
  7. analysis/mb_floor_sensitivity/model_00.npz +0 -0
  8. analysis/mb_floor_sensitivity/model_01.npz +0 -0
  9. analysis/mb_floor_sensitivity/model_02.npz +0 -0
  10. analysis/mb_floor_sensitivity/model_03.npz +0 -0
  11. analysis/mb_floor_sensitivity/model_04.npz +0 -0
  12. analysis/mb_floor_sensitivity/model_05.npz +0 -0
  13. analysis/mb_floor_sensitivity/model_06.npz +0 -0
  14. analysis/mb_floor_sensitivity/model_07.npz +0 -0
  15. analysis/mb_floor_sensitivity/model_08.npz +0 -0
  16. analysis/mb_floor_sensitivity/model_09.npz +0 -0
  17. analysis/mb_floor_sensitivity/model_10.npz +0 -0
  18. analysis/mb_floor_sensitivity/model_11.npz +0 -0
  19. analysis/mb_floor_sensitivity/model_12.npz +0 -0
  20. analysis/mb_floor_sensitivity/model_13.npz +0 -0
  21. analysis/mb_floor_sensitivity/model_14.npz +0 -0
  22. analysis/mb_floor_sensitivity/model_15.npz +0 -0
  23. analysis/mb_floor_sensitivity/model_16.npz +0 -0
  24. analysis/mb_floor_sensitivity/model_17.npz +0 -0
  25. analysis/mb_floor_sensitivity/model_18.npz +0 -0
  26. analysis/mb_floor_sensitivity/model_19.npz +0 -0
  27. analysis/mb_floor_sensitivity/result_00.json +178 -0
  28. analysis/mb_floor_sensitivity/result_01.json +174 -0
  29. analysis/mb_floor_sensitivity/result_02.json +174 -0
  30. analysis/mb_floor_sensitivity/result_03.json +176 -0
  31. analysis/mb_floor_sensitivity/result_04.json +174 -0
  32. analysis/mb_floor_sensitivity/result_05.json +174 -0
  33. analysis/mb_floor_sensitivity/result_06.json +174 -0
  34. analysis/mb_floor_sensitivity/result_07.json +174 -0
  35. analysis/mb_floor_sensitivity/result_08.json +174 -0
  36. analysis/mb_floor_sensitivity/result_09.json +174 -0
  37. analysis/mb_floor_sensitivity/result_10.json +174 -0
  38. analysis/mb_floor_sensitivity/result_11.json +174 -0
  39. analysis/mb_floor_sensitivity/result_12.json +174 -0
  40. analysis/mb_floor_sensitivity/result_13.json +174 -0
  41. analysis/mb_floor_sensitivity/result_14.json +174 -0
  42. analysis/mb_floor_sensitivity/result_15.json +174 -0
  43. analysis/mb_floor_sensitivity/result_16.json +174 -0
  44. analysis/mb_floor_sensitivity/result_17.json +174 -0
  45. analysis/mb_floor_sensitivity/result_18.json +176 -0
  46. analysis/mb_floor_sensitivity/result_19.json +174 -0
  47. analysis/mb_floor_sensitivity/summary.json +174 -0
  48. data/aib9_fes/aib9_kappa_sweep.json +240 -0
  49. data/mb_mep.npz +0 -0
  50. data/mb_stats.json +78 -0
.gitignore ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __pycache__/
2
+ .pytest_cache/
3
+ .mplconfig/
4
+ .ruff_cache/
5
+ figures/
6
+ *.pdf
7
+ *.png
8
+ *.svg
9
+ data/mb_reactive/
10
+ data/aib9/
11
+ *.xtc
12
+ *.dcd
13
+ *.trr
14
+ *.npz
INPUTS.tsv ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ analysis relative_path purpose
2
+ muller_brown data/mb_reactive Saved trajectories for MSM refitting and rollout analyses
3
+ aib9 data/aib9/COLVAR_phi Continuous OpenMM backbone angles
4
+ aib9 data/aib9/COLVAR_psi Continuous OpenMM backbone angles
5
+ p53_heldout data/p53/pocket_sc_feats_s10.pkl Side-chain feature cache for trajectory-held-out refitting
6
+ p53_heldout data/p53/frame_drug/frames.json Per-frame structural observables
7
+ p53_discovery data/p53/rmsd_matrix.npy Crystal-to-MD structural comparisons
8
+ p53_discovery data/p53/pocket_msm_pi.json Reference Model S populations
9
+ p53_discovery data/p53/pocket_reps Representative PDB files and cached Fpocket outputs
10
+ p53_discovery data/p53/pocket_feats_s10_cb_ALL.pkl Feature-cache trajectory provenance
11
+ p53_discovery data/p53/coverage_all_y220c.json Crystallographic reference metadata
README.md CHANGED
@@ -1,3 +1,97 @@
1
- ---
2
- license: apache-2.0
3
- ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # ScooBDoob
2
+
3
+ ## Setup
4
+
5
+ Use Python 3.10 or newer. Run commands from this directory.
6
+
7
+ ```bash
8
+ python -m pip install -r requirements.txt
9
+ python -m pytest tests -q
10
+ ```
11
+
12
+ ## Contents
13
+
14
+ - `scoobdoob/`: conditioning, MSM construction, and analysis functions.
15
+ - `make_*.py`, `paper_figures/`: paper analyses and plots.
16
+ - `analysis/`, `data/`: sensitivity analyses and saved numerical results.
17
+ - `tests/`: numerical correctness checks.
18
+
19
+ ## Paper analyses
20
+
21
+ Generate the MB, Aib9 robustness, and p53 plots from the included results:
22
+
23
+ ```bash
24
+ python run_cached_figures.py
25
+ ```
26
+
27
+ Outputs are written to `figures/`. For a subset, use `--only mb`,
28
+ `--only aib9_robustness`, or `--only p53`.
29
+
30
+ | Analysis | Script |
31
+ | --- | --- |
32
+ | MB sampling comparisons | `make_mb_panels.py`, `make_mb_unconditional.py` |
33
+ | MB replicated statistics and parameter sweeps | `mb_stats.py`, `mb_alpha_seeds.py`, `mb_ticalag_seeds.py` |
34
+ | MB density-floor sensitivity | `analysis/mb_floor_sensitivity/analyze.py` |
35
+ | Aib9 sampling comparison | `make_aib9_method_figure.py` |
36
+ | Aib9 robustness and density sweep | `validate_aib9.py`, `aib9_kappa_sweep.py` |
37
+ | p53 discovery and preference | `paper_figures/data/`, `paper_figures/plot/` |
38
+ | p53 trajectory-held-out analysis | `trajectory_cv_tilt.py`, `summarize_trajectory_cv_tilt.py` |
39
+
40
+ After preparing the inputs below, rerun the main analyses with:
41
+
42
+ ```bash
43
+ python make_mb_panels.py --cache-only
44
+ python make_mb_unconditional.py --cache-only
45
+ python make_aib9_method_figure.py
46
+ python validate_aib9.py --robustness
47
+ python aib9_kappa_sweep.py
48
+ python paper_figures/data/p53_preference_data.py --splits 400
49
+ ```
50
+
51
+ For the MB floor sweep, run `analyze.py --seed N` for seeds 0–19, then
52
+ `analyze.py --summarize`. Use `--validate` for its exact finite-model check.
53
+
54
+ ## Data
55
+
56
+ MD trajectories are not distributed with this package. Small numerical results
57
+ and docking scores are included; additional analysis inputs are listed in
58
+ `INPUTS.tsv`.
59
+
60
+ ### Müller–Brown
61
+
62
+ Generate 12 overdamped Langevin trajectories with the paper settings
63
+ (250,000 steps each, timestep 0.0002, inverse temperature 0.06, saving every
64
+ five steps):
65
+
66
+ ```bash
67
+ python -m scoobdoob.validation.mb_data --out data/mb_reactive
68
+ ```
69
+
70
+ ### Aib9
71
+
72
+ Use the [published Aib9 OpenMM workflow](https://github.com/shams-mehdi/aib9_openmm)
73
+ from [Mehdi et al. (2022)](https://doi.org/10.1021/acs.jctc.2c00058) to prepare
74
+ and simulate the solvated peptide. The paper analyzes a continuous, approximately
75
+ 223 ns trajectory at 500 K with a 2 fs timestep. Record the nine backbone
76
+ phi and psi angles in radians every 0.2 ps using PLUMED.
77
+
78
+ Place `COLVAR_phi` and `COLVAR_psi` in `data/aib9/`, or set
79
+ `SCOOBDOOB_AIB9_DATA` to their directory. Each file should contain time followed
80
+ by nine angles. The loader takes every fifth sample, giving 1 ps spacing.
81
+
82
+ ### p53 Y220C
83
+
84
+ The supplied numerical results support plotting and docking-preference analysis.
85
+ MSM refits require the feature and pocket-observable files listed in `INPUTS.tsv`.
86
+ Use the simulation and feature definitions in the paper's Methods.
87
+
88
+ For held-out fits, use `--k` 75, 100, or 150 and `--seed` 0, 1, or 2.
89
+ The observable/threshold pairs are `site_drug`/0.5, `site_volume`/300.865,
90
+ and `site_apolar`/55.551. For example:
91
+
92
+ ```bash
93
+ python trajectory_cv_tilt.py --k 100 --seed 0 --observable site_volume \
94
+ --drug-thresh 300.865 --out data/p53/trajectory_cv_tilt_vol_k100_seed0.json
95
+ python summarize_trajectory_cv_tilt.py --pattern 'trajectory_cv_tilt_vol_k*_seed*.json' \
96
+ --out data/p53/trajectory_cv_tilt_vol_robustness.json
97
+ ```
aib9_kappa_sweep.py ADDED
@@ -0,0 +1,214 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python
2
+ from __future__ import annotations
3
+
4
+ import json
5
+ from pathlib import Path
6
+
7
+ import numpy as np
8
+
9
+ from scoobdoob.validation import aib9, msm_build as mb, tpt
10
+
11
+
12
+ ROOT = Path(__file__).resolve().parent
13
+ LAG, K, N_COMP, STRIDE, HORIZON = 5, 100, 4, 5, 320
14
+ N_PATHS = 600
15
+ PATH_SEEDS = (0, 1, 2)
16
+ KAPPAS = (0.0, 0.10, 0.20, 0.36, 0.50, 0.75, 1.00)
17
+ GATE_BETA, TIME_SIGMA, W_FLOOR = 0.5, 0.30, 1e-12
18
+
19
+
20
+ def conditioned_kernels(P, target, weights):
21
+ n_states = P.shape[0]
22
+ terminal = np.zeros(n_states)
23
+ terminal[target] = 1.0 / len(target)
24
+ backward = terminal.copy()
25
+ messages = [backward.copy()]
26
+ for t in range(HORIZON - 1, -1, -1):
27
+ raw = P @ (weights[t] * backward)
28
+ total = raw.sum()
29
+ backward = raw / total if total > 0 else np.full(n_states, 1.0 / n_states)
30
+ messages.append(backward.copy())
31
+ messages = messages[::-1]
32
+
33
+ kernels = []
34
+ for t in range(HORIZON):
35
+ numerator = P * (weights[t][None, :] * messages[t + 1][None, :])
36
+ denominator = (P @ (weights[t] * messages[t + 1]))[:, None]
37
+ kernel = np.maximum(
38
+ np.nan_to_num(np.divide(numerator, np.maximum(denominator, 1e-300))),
39
+ 0.0,
40
+ )
41
+ row_sum = kernel.sum(axis=1, keepdims=True)
42
+ bad = (row_sum <= 1e-300).ravel()
43
+ if bad.any():
44
+ kernel[bad] = P[bad]
45
+ row_sum = kernel.sum(axis=1, keepdims=True)
46
+ kernels.append(kernel / np.maximum(row_sum, 1e-300))
47
+ return kernels
48
+
49
+
50
+ def sample(kernels, starts, seed):
51
+ rng = np.random.default_rng(seed)
52
+ paths = []
53
+ for _ in range(N_PATHS):
54
+ state = int(rng.choice(starts))
55
+ path = [state]
56
+ for kernel in kernels:
57
+ probabilities = kernel[state]
58
+ state = int(
59
+ rng.choice(len(probabilities), p=probabilities / probabilities.sum())
60
+ )
61
+ path.append(state)
62
+ paths.append(np.asarray(path, dtype=int))
63
+ return paths
64
+
65
+
66
+ def main():
67
+ trajectories, _ = aib9.load_openmm_colvar(stride=STRIDE)
68
+ features = aib9.featurize_sincos(trajectories)
69
+ handedness = aib9.handedness_indicator(trajectories)
70
+ model = mb.build_full_msm(
71
+ features,
72
+ handedness,
73
+ lag=LAG,
74
+ k=K,
75
+ n_comp=N_COMP,
76
+ seed=0,
77
+ use_tica=True,
78
+ )
79
+
80
+ labels = aib9.classify_microstates(model.active_xy)
81
+ sets = {
82
+ name: np.where(labels == name)[0].tolist()
83
+ for name in ("R", "L", "I_N", "I_C", "other")
84
+ }
85
+ P = np.asarray(model.P)
86
+ pi = np.asarray(model.stationary)
87
+ projection = model.centers[model.active_symbols][:, :2]
88
+
89
+ intermediate = sorted(set(sets["I_N"]) | set(sets["I_C"]))
90
+ q_intermediate_to_left = tpt.committor_agreement(model, intermediate, sets["L"])[1]
91
+ net_flux_matrix = np.asarray(
92
+ tpt.reactive_flux(model, sets["R"], sets["L"]).net_flux
93
+ )
94
+ state_flux = (net_flux_matrix.sum(1) + net_flux_matrix.sum(0)) / 2
95
+
96
+ n_center = projection[sets["I_N"]].mean(0)
97
+ c_center = projection[sets["I_C"]].mean(0)
98
+ gateways = sorted(
99
+ [
100
+ i
101
+ for i in range(model.n_active)
102
+ if i not in set(intermediate)
103
+ and i not in set(sets["L"])
104
+ and abs(q_intermediate_to_left[i] - 0.5) < 0.2
105
+ ],
106
+ key=lambda i: -state_flux[i],
107
+ )[:4]
108
+ gateway_set = set(gateways)
109
+
110
+ state_handedness = model.active_xy
111
+ n_half = state_handedness[:, 1:4].mean(axis=1)
112
+ c_half = state_handedness[:, 5:8].mean(axis=1)
113
+ n_channel = set(sets["I_N"]) | {i for i in sets["other"] if n_half[i] > c_half[i]}
114
+ c_channel = set(sets["I_C"]) | {i for i in sets["other"] if n_half[i] <= c_half[i]}
115
+
116
+ counts = np.asarray(model.model.count_model.count_matrix, dtype=float)
117
+ rho = np.clip(counts.sum(1), 1.0, None) / counts.sum(1).mean()
118
+ z = np.log(state_flux / np.maximum(pi, 1e-15) + 1e-9)
119
+ z = (z - z.mean()) / z.std()
120
+ time_window = np.exp(
121
+ -0.5 * ((np.arange(HORIZON) - (HORIZON - 1) / 2) / (TIME_SIGMA * HORIZON)) ** 2
122
+ )
123
+
124
+ results = []
125
+ for kappa in KAPPAS:
126
+ density = np.maximum(np.exp(-kappa * rho), W_FLOOR)
127
+ weights = [
128
+ np.maximum(
129
+ density * np.exp(GATE_BETA * z * time_window[t]),
130
+ W_FLOOR,
131
+ )
132
+ for t in range(HORIZON)
133
+ ]
134
+ kernels = conditioned_kernels(P, sets["L"], weights)
135
+
136
+ seed_metrics = []
137
+ for seed in PATH_SEEDS:
138
+ paths = sample(kernels, sets["R"], seed)
139
+ reaches = []
140
+ gateway_hits = []
141
+ channels = []
142
+ visited = set()
143
+ for path in paths:
144
+ visited.update(map(int, path))
145
+ in_left = np.array([int(x) in set(sets["L"]) for x in path])
146
+ reaches.append(bool(in_left.any()))
147
+ if not in_left.any():
148
+ continue
149
+ first_left = int(np.argmax(in_left))
150
+ before = np.array([int(x) in set(sets["R"]) for x in path[:first_left]])
151
+ if not before.any():
152
+ continue
153
+ segment = path[int(np.where(before)[0][-1]) : first_left + 1]
154
+ gateway_hits.append(bool(set(map(int, segment)) & gateway_set))
155
+ n_count = sum(int(x) in n_channel for x in segment)
156
+ c_count = sum(int(x) in c_channel for x in segment)
157
+ channels.append(
158
+ "I_N"
159
+ if n_count > c_count
160
+ else "I_C"
161
+ if c_count > n_count
162
+ else "other"
163
+ )
164
+
165
+ n_paths = sum(channel == "I_N" for channel in channels)
166
+ c_paths = sum(channel == "I_C" for channel in channels)
167
+ seed_metrics.append(
168
+ {
169
+ "reach_pct": 100 * np.mean(reaches),
170
+ "gateway_pct": 100 * np.mean(gateway_hits),
171
+ "n_channel": n_paths,
172
+ "c_channel": c_paths,
173
+ "c_share_pct": 100 * c_paths / max(n_paths + c_paths, 1),
174
+ "distinct_states": len(visited),
175
+ }
176
+ )
177
+
178
+ record = {"kappa": kappa, "path_seeds": list(PATH_SEEDS)}
179
+ for key in seed_metrics[0]:
180
+ values = np.asarray([metric[key] for metric in seed_metrics], dtype=float)
181
+ record[key] = {
182
+ "mean": float(values.mean()),
183
+ "sd": float(values.std(ddof=1)),
184
+ }
185
+ results.append(record)
186
+ print(
187
+ f"kappa={kappa:4.2f} reach={record['reach_pct']['mean']:5.1f}% "
188
+ f"gateway={record['gateway_pct']['mean']:5.1f}% "
189
+ f"C-share={record['c_share_pct']['mean']:5.1f}% "
190
+ f"states={record['distinct_states']['mean']:4.0f}"
191
+ )
192
+
193
+ output = {
194
+ "model": {
195
+ "lag_frames": LAG,
196
+ "frame_interval_ps": 1.0,
197
+ "horizon": HORIZON,
198
+ "n_microstates": K,
199
+ "clustering_seed": 0,
200
+ },
201
+ "sampler": {
202
+ "gate_beta": GATE_BETA,
203
+ "time_sigma": TIME_SIGMA,
204
+ "n_paths_per_seed": N_PATHS,
205
+ },
206
+ "results": results,
207
+ }
208
+ out_path = ROOT / "data" / "aib9_fes" / "aib9_kappa_sweep.json"
209
+ out_path.write_text(json.dumps(output, indent=2))
210
+ print(f"wrote {out_path}")
211
+
212
+
213
+ if __name__ == "__main__":
214
+ main()
analysis/mb_floor_sensitivity/all_results.csv ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ s1_probability,expected_distinct_states,expected_self_transitions,self_transition_fraction,expected_s1_state_observations,terminal_probability,max_outside_corridor_probability,max_outside_arrival_mask_probability,condition,floor_percentile,density_floor,fraction_corridor_states_below_floor,independent_recursion_error,cluster_seed
2
+ 0.43691794546073415,15.013666141340575,0.6533119085168925,0.04083199428230578,0.5035914002980231,1.0,0.0,0.0,doob,,,,1.1102230246251565e-16,0
3
+ 0.9595572296791586,11.733030279406437,1.4831157288792642,0.09269473305495401,2.8990900899171863,0.9999999999999998,0.0,0.0,none,0,0.0,0.0,0.0,0
4
+ 0.8902087824180265,11.938725995059936,1.3434524895761015,0.08396578059850635,1.9223774857137172,1.0,0.0,0.0,p10,10,0.22521666666666668,0.05555555555555555,1.1102230246251565e-16,0
5
+ 0.7676334652497048,12.162471438442612,1.206251585062303,0.07539072406639394,1.2264193451367236,1.0000000000000002,0.0,0.0,p25,25,0.306125,0.1,1.1102230246251565e-16,0
6
+ 0.6878636642681657,12.536110821091299,1.1103615285855495,0.06939759553659684,0.9759709933847585,1.0000000000000002,0.0,0.0,p50,50,0.3833333333333333,0.2,0.0,0
7
+ 0.6242797495046818,13.211821050555066,1.019008773393519,0.06368804833709493,0.8256362469038774,0.9999999999999998,0.0,0.0,p75,75,0.5533333333333333,0.3333333333333333,1.1102230246251565e-16,0
8
+ 0.47431774413772165,14.962806670822289,0.6646379767601857,0.041539873547511603,0.5656135812877474,1.0000000000000002,0.0,0.0,doob,,,,0.0,1
9
+ 0.921186672272567,12.554198995233554,1.2723206679621673,0.07952004174763545,2.491381984616749,1.0,0.0,0.0,none,0,0.0,0.0,1.1102230246251565e-16,1
10
+ 0.8740443333450296,12.632418653953259,1.2115611948906388,0.07572257468066493,1.9787923417975324,0.9999999999999997,0.0,0.0,p10,10,0.17853333333333332,0.04395604395604396,1.1102230246251565e-16,1
11
+ 0.8045858652078739,12.83339276935726,1.0997845920403504,0.0687365370025219,1.5116968074655235,1.0000000000000002,0.0,0.0,p25,25,0.22158333333333335,0.08791208791208792,1.1102230246251565e-16,1
12
+ 0.7171638280522671,13.101709613591051,0.9696859373588358,0.06060537108492724,1.1197796664715896,1.0,0.0,0.0,p50,50,0.31133333333333335,0.17582417582417584,3.3306690738754696e-16,1
13
+ 0.6695714939378443,13.124068598363051,0.9589335944737107,0.05993334965460692,0.9806618033719668,0.9999999999999999,0.0,0.0,p75,75,0.3735,0.27472527472527475,3.3306690738754696e-16,1
14
+ 0.4770124753307715,15.022239303408549,0.641083807715894,0.040067737982243376,0.5722517563630657,1.0000000000000002,0.0,0.0,doob,,,,0.0,2
15
+ 0.9788540758905597,11.552706077458156,1.536411795616068,0.09602573722600426,3.766589674181204,1.0000000000000002,0.0,0.0,none,0,0.0,0.0,1.1102230246251565e-16,2
16
+ 0.9567884525122707,11.726665146315467,1.4632838020840366,0.09145523763025229,3.0495216306615904,1.0,0.0,0.0,p10,10,0.16490000000000002,0.05555555555555555,1.1102230246251565e-16,2
17
+ 0.7861058920937647,12.46863243700942,1.0849601814080623,0.06781001133800389,1.3789396874220046,0.9999999999999998,0.0,0.0,p25,25,0.30533333333333335,0.08888888888888889,0.0,2
18
+ 0.7070082795708856,12.601639392510245,1.0176181458639135,0.0636011341164946,1.0772612246813502,1.0000000000000004,0.0,0.0,p50,50,0.3641666666666667,0.17777777777777778,1.1102230246251565e-16,2
19
+ 0.6818964076424328,12.800445043295559,1.0065659793738178,0.06291037371086361,1.0045758468701496,1.0000000000000002,0.0,0.0,p75,75,0.4265,0.2777777777777778,0.0,2
20
+ 0.45650454079958447,14.80991960644764,0.7074257266949784,0.04421410791843615,0.5331538613794161,1.0,0.16666666666666666,0.0,doob,,,,1.1102230246251565e-16,3
21
+ 0.9580141712857912,11.722590642329202,1.3804948464763818,0.08628092790477386,2.6954344282610743,0.9999999999999998,0.16666666666666666,0.0,none,0,0.0,0.0,1.1102230246251565e-16,3
22
+ 0.9274037645156145,11.886116032329102,1.2966589793929524,0.08104118621205952,2.1717549681508266,1.0000000000000002,0.16666666666666666,0.0,p10,10,0.20299999999999999,0.044444444444444446,1.1102230246251565e-16,3
23
+ 0.8644404152551027,12.187795360059418,1.1580546182737619,0.07237841364211012,1.6004178669081626,1.0000000000000002,0.16666666666666666,0.0,p25,25,0.2625,0.07777777777777778,0.0,3
24
+ 0.7561161682190445,12.54985520188381,1.024436758333206,0.06402729739582537,1.114883703386301,1.0,0.16666666666666666,0.0,p50,50,0.347,0.15555555555555556,0.0,3
25
+ 0.7280076348197122,12.662176039866797,1.0083460210337105,0.06302162631460691,1.0420058079762458,1.0,0.16666666666666666,0.0,p75,75,0.3958333333333333,0.24444444444444444,2.220446049250313e-16,3
26
+ 0.5529362581820605,15.096978659761653,0.6165138189916382,0.038532113686977384,0.6938552475249293,1.0,0.0,0.0,doob,,,,0.0,4
27
+ 0.9962276948671395,11.34002279146719,1.518485787800281,0.09490536173751757,4.920757910254638,1.0000000000000002,0.0,0.0,none,0,0.0,0.0,0.0,4
28
+ 0.9921726986874595,11.455959087069008,1.4760596380344395,0.09225372737715247,4.283802798145508,1.0000000000000002,0.0,0.0,p10,10,0.1519,0.043010752688172046,0.0,4
29
+ 0.946675144782042,12.218260605057775,1.2002374039935013,0.07501483774959383,2.595595583070055,1.0,0.0,0.0,p25,25,0.254,0.08602150537634409,0.0,4
30
+ 0.8183163335930693,12.859082521969363,1.0121470034882263,0.06325918771801414,1.4608022924170065,1.0,0.0,0.0,p50,50,0.3795,0.17204301075268819,1.1102230246251565e-16,4
31
+ 0.7688763668259164,13.114078672127016,0.9792047667707706,0.061200297923173164,1.2307998669706566,1.0000000000000002,0.0,0.0,p75,75,0.4625,0.27956989247311825,1.1102230246251565e-16,4
32
+ 0.4475602830610881,15.094047987295635,0.6207786082633657,0.03879866301646036,0.5208747341411591,1.0000000000000002,0.0,0.0,doob,,,,1.1102230246251565e-16,5
33
+ 0.9530796173580153,11.884313166919643,1.411491487518026,0.08821821796987663,3.014314188472334,1.0000000000000002,0.0,0.0,none,0,0.0,0.0,0.0,5
34
+ 0.9127507912936526,12.049203567603252,1.3080615820306891,0.08175384887691807,2.3538333584987883,0.9999999999999999,0.0,0.0,p10,10,0.18513333333333334,0.05555555555555555,0.0,5
35
+ 0.7411179555254174,12.60407489377736,1.0541361022213542,0.06588350638883464,1.2146468265537802,0.9999999999999999,0.0,0.0,p25,25,0.30883333333333335,0.1111111111111111,1.1102230246251565e-16,5
36
+ 0.6804422405100263,12.681695688214198,1.0189917438498421,0.06368698399061513,1.008741924340221,0.9999999999999999,0.0,0.0,p50,50,0.36233333333333334,0.2111111111111111,0.0,5
37
+ 0.5838773589540722,13.628192477580198,0.8897060914934126,0.05560663071833829,0.7727162921515831,0.9999999999999999,0.0,0.0,p75,75,0.5523333333333333,0.3333333333333333,4.440892098500626e-16,5
38
+ 0.4330891968703052,14.812621566148653,0.7115744248981953,0.04447340155613721,0.5060695633503917,1.0,0.0,0.0,doob,,,,1.1102230246251565e-16,6
39
+ 0.9862046252727615,11.587086114432688,1.4214949908667145,0.08884343692916966,3.9865094885600447,0.9999999999999992,0.0,0.0,none,0,0.0,0.0,0.0,6
40
+ 0.9836480121489333,11.602393615840489,1.410855463597818,0.08817846647486363,3.8014144944916866,0.9999999999999999,0.0,0.0,p10,10,0.11635000000000001,0.03409090909090909,0.0,6
41
+ 0.9306993298623017,11.921810944168588,1.3139973024524192,0.0821248314032762,2.4684163841751254,1.0,0.0,0.0,p25,25,0.20033333333333334,0.07954545454545454,1.1102230246251565e-16,6
42
+ 0.7754659268098913,12.624829062467224,1.0498558002845293,0.06561598751778308,1.362450444544891,1.0,0.0,0.0,p50,50,0.32508333333333334,0.17045454545454544,0.0,6
43
+ 0.695208874139938,12.679419500226675,1.0121127701508243,0.06325704813442652,1.0637699981720814,1.0000000000000002,0.0,0.0,p75,75,0.411625,0.2727272727272727,0.0,6
44
+ 0.4884589808111566,14.994452299580114,0.6482842306768242,0.04051776441730151,0.5785314679769923,1.0,0.0,0.0,doob,,,,1.1102230246251565e-16,7
45
+ 0.9970695060214769,11.119728321434357,1.6311413077969785,0.10194633173731116,5.117273761682558,1.0000000000000007,0.0,0.0,none,0,0.0,0.0,0.0,7
46
+ 0.9905373110999428,11.282207434922423,1.546376692189688,0.0966485432618555,4.127171135559552,1.0000000000000004,0.0,0.0,p10,10,0.15273333333333336,0.056818181818181816,0.0,7
47
+ 0.9071215542274581,11.996151855457436,1.2650281951517115,0.07906426219698197,2.053269132739316,1.0000000000000002,0.0,0.0,p25,25,0.28370833333333334,0.09090909090909091,0.0,7
48
+ 0.78024190725,12.635238791275325,1.0605083364204373,0.06628177102627733,1.2401950270444022,1.0000000000000002,0.0,0.0,p50,50,0.3988333333333334,0.18181818181818182,0.0,7
49
+ 0.7291624828547295,13.128647027607355,0.9858064336192434,0.06161290210120271,1.044385291903564,0.9999999999999999,0.0,0.0,p75,75,0.4955,0.2840909090909091,2.220446049250313e-16,7
50
+ 0.5054293429258443,14.854209733539234,0.6975411031703469,0.04359631894814668,0.6073257775311078,0.9999999999999999,0.0,0.0,doob,,,,2.220446049250313e-16,8
51
+ 0.9940177316962647,11.509475480412506,1.5475124157900457,0.09671952598687786,5.095286662920895,1.0000000000000004,0.0,0.0,none,0,0.0,0.0,0.0,8
52
+ 0.9830252052368973,11.721096187851614,1.4345296572099877,0.08965810357562423,4.017327042556997,1.0000000000000004,0.0,0.0,p10,10,0.16044999999999998,0.056818181818181816,0.0,8
53
+ 0.8854252755682153,12.099530695987792,1.2263908921328786,0.07664943075830491,2.0259081797573457,0.9999999999999997,0.0,0.0,p25,25,0.26104166666666667,0.06818181818181818,0.0,8
54
+ 0.761042673816384,12.270895988869396,1.0851524193189312,0.0678220262074332,1.283189944065588,1.0000000000000004,0.0,0.0,p50,50,0.33991666666666664,0.17045454545454544,2.220446049250313e-16,8
55
+ 0.7115873574216767,12.66425418303297,1.0320268561339894,0.06450167850837434,1.1069094672502628,0.9999999999999999,0.0,0.0,p75,75,0.476875,0.2840909090909091,0.0,8
56
+ 0.4321947930753325,14.959125837669543,0.6528087882950669,0.040800549268441684,0.5043806778973854,1.0,0.0,0.0,doob,,,,0.0,9
57
+ 0.9922548889637395,11.158649449096961,1.7718351738964258,0.11073969836852661,4.681688268883696,0.9999999999999998,0.0,0.0,none,0,0.0,0.0,0.0,9
58
+ 0.9862652954199567,11.23542193589623,1.6771373550243227,0.10482108468902017,4.0906750835499555,0.9999999999999998,0.0,0.0,p10,10,0.14635,0.04597701149425287,0.0,9
59
+ 0.8542112181689199,11.811094967472858,1.3295836088353485,0.08309897555220928,1.7944217524464068,1.0,0.0,0.0,p25,25,0.2720416666666667,0.06896551724137931,1.1102230246251565e-16,9
60
+ 0.7002573561629514,12.247741214714685,1.1058247327645034,0.06911404579778146,1.0830644694916232,1.0000000000000002,0.0,0.0,p50,50,0.36916666666666664,0.16091954022988506,1.1102230246251565e-16,9
61
+ 0.6281463071310748,13.061567615927256,1.0008641881095364,0.06255401175684602,0.8914368368993364,1.0,0.0,0.0,p75,75,0.5270416666666667,0.27586206896551724,2.220446049250313e-16,9
62
+ 0.6051181115385142,14.898790156219114,0.6895663770362908,0.04309789856476817,0.7978389368820248,1.0,0.0,0.0,doob,,,,0.0,10
63
+ 0.9960723731249793,12.108313232484242,1.2484269792291747,0.07802668620182342,4.784325928801066,0.9999999999999999,0.0,0.0,none,0,0.0,0.0,0.0,10
64
+ 0.9886936975414197,12.345579862311531,1.2027634815656683,0.07517271759785427,3.8259931725796976,1.0000000000000002,0.0,0.0,p10,10,0.15466666666666667,0.0449438202247191,0.0,10
65
+ 0.9441917969436444,12.687284115336098,1.063120271254222,0.06644501695338888,2.2645034779545337,0.9999999999999998,0.0,0.0,p25,25,0.2615,0.0898876404494382,0.0,10
66
+ 0.9067334886564498,12.81703412684616,1.0081206556493085,0.06300754097808178,1.8045492433168,0.9999999999999999,0.0,0.0,p50,50,0.31466666666666665,0.16853932584269662,0.0,10
67
+ 0.8779686750518605,12.991303042068983,0.9682211305877053,0.06051382066173158,1.5892576833755752,0.9999999999999999,0.0,0.0,p75,75,0.37566666666666665,0.2696629213483146,0.0,10
68
+ 0.5227648276466925,14.952478476397784,0.6698842167729214,0.04186776354830759,0.6485438186452674,1.0,0.0,0.0,doob,,,,0.0,11
69
+ 0.9764343521424959,11.840554429710174,1.4049643499017979,0.08781027186886237,3.6834512261704884,1.0000000000000002,0.0,0.0,none,0,0.0,0.0,0.0,11
70
+ 0.9654393738446215,11.98816705508663,1.340488749764659,0.08378054686029118,3.3155282335956326,1.0000000000000002,0.0,0.0,p10,10,0.13820000000000002,0.05555555555555555,0.0,11
71
+ 0.9000840431726618,12.379209353329747,1.1727567904554896,0.0732972994034681,2.1995035743632476,0.9999999999999998,0.0,0.0,p25,25,0.22129166666666666,0.1111111111111111,1.1102230246251565e-16,11
72
+ 0.7637631333045501,12.741223593205294,1.0348147023423626,0.06467591889639766,1.3413614896784345,1.0000000000000002,0.0,0.0,p50,50,0.34441666666666665,0.2111111111111111,1.1102230246251565e-16,11
73
+ 0.6825699061407696,13.06836698527062,0.9818561100047247,0.061366006875295295,1.0506181378973352,0.9999999999999997,0.0,0.0,p75,75,0.49687499999999996,0.32222222222222224,2.220446049250313e-16,11
74
+ 0.43150466464742265,14.958334976066823,0.646413093784507,0.040400818361531685,0.49979048531686193,1.0000000000000002,0.0,0.0,doob,,,,0.0,12
75
+ 0.988923030398696,11.688235191755401,1.4661954290112311,0.09163721431320195,4.050480062642302,1.0000000000000002,0.0,0.0,none,0,0.0,0.0,0.0,12
76
+ 0.9855422938397457,11.713517855443706,1.4352571804827687,0.08970357378017305,3.79892881277627,1.0000000000000004,0.0,0.0,p10,10,0.12803333333333333,0.034482758620689655,0.0,12
77
+ 0.8476239480490195,12.426199837847292,1.0800756165620315,0.06750472603512697,1.6311665058150513,0.9999999999999998,0.0,0.0,p25,25,0.26275,0.09195402298850575,2.220446049250313e-16,12
78
+ 0.7544350487486045,12.511998253499439,1.0285811310685948,0.06428632069178718,1.207751153064137,0.9999999999999999,0.0,0.0,p50,50,0.3285,0.1839080459770115,2.220446049250313e-16,12
79
+ 0.6601035016617813,13.21859773674616,0.9393830882581088,0.0587114430161318,0.9361200763687552,1.0,0.0,0.0,p75,75,0.5500833333333333,0.3103448275862069,3.3306690738754696e-16,12
80
+ 0.5644169520367373,14.907966245921752,0.6821570141263407,0.04263481338289629,0.7030244957756517,0.9999999999999999,0.0,0.0,doob,,,,1.1102230246251565e-16,13
81
+ 0.9995822259964128,11.028821590700947,1.620670447864448,0.101291902991528,6.3844195580942165,1.0000000000000004,0.0,0.0,none,0,0.0,0.0,0.0,13
82
+ 0.9982600785956507,11.266864578810566,1.5829988979751701,0.09893743112344813,5.277765857814593,0.9999999999999999,0.0,0.0,p10,10,0.1595666666666667,0.05813953488372093,0.0,13
83
+ 0.9759464362308001,11.872651211875759,1.4015521068986858,0.08759700668116786,3.089001381621692,1.0,0.0,0.0,p25,25,0.26416666666666666,0.10465116279069768,0.0,13
84
+ 0.8314949774975573,12.749958528241645,1.0784138744273526,0.06740086715170954,1.4307226559464783,1.0,0.0,0.0,p50,50,0.41883333333333334,0.19767441860465115,2.220446049250313e-16,13
85
+ 0.7880574122487745,13.095931046640345,1.0176976594917684,0.06360610371823552,1.2267282859841262,0.9999999999999997,0.0,0.0,p75,75,0.49483333333333335,0.313953488372093,2.220446049250313e-16,13
86
+ 0.45817858397768185,15.013769341014864,0.6450019739490105,0.040312623371813155,0.5366109157711714,1.0,0.0,0.0,doob,,,,2.220446049250313e-16,14
87
+ 0.9696157237057008,11.698324699493291,1.4327847953261001,0.08954904970788126,3.2328725221772694,1.0000000000000002,0.0,0.0,none,0,0.0,0.0,0.0,14
88
+ 0.9504459941648574,11.730085388967026,1.3837907183634548,0.08648691989771592,2.7702876080665657,1.0,0.0,0.0,p10,10,0.17400000000000002,0.045454545454545456,0.0,14
89
+ 0.8550732563525272,11.849763126034592,1.2824634098773733,0.08015396311733583,1.7557732258712033,0.9999999999999997,0.0,0.0,p25,25,0.24566666666666667,0.07954545454545454,0.0,14
90
+ 0.6970726461583261,12.781191300620106,1.0273923036735624,0.06421201897959765,1.0613050980570757,1.0000000000000002,0.0,0.0,p50,50,0.38116666666666665,0.19318181818181818,2.220446049250313e-16,14
91
+ 0.6279562111989816,13.45153592577016,0.9476847582789945,0.05923029739243715,0.8730248746739183,1.0,0.0,0.0,p75,75,0.49783333333333335,0.32954545454545453,1.1102230246251565e-16,14
92
+ 0.5853865507163494,15.035766065692105,0.6366963051976371,0.03979351907485232,0.7644231778054192,1.0000000000000002,0.0,0.0,doob,,,,2.220446049250313e-16,15
93
+ 0.989443457761515,12.042604625242614,1.4167824752841478,0.08854890470525924,4.356122662242784,1.0,0.0,0.0,none,0,0.0,0.0,0.0,15
94
+ 0.9759379667573901,12.261838416733776,1.3125205161728628,0.08203253226080393,3.541394526083165,1.0000000000000002,0.0,0.0,p10,10,0.16111666666666669,0.05434782608695652,0.0,15
95
+ 0.8932853974358681,12.820922793413317,1.0515828741564877,0.06572392963478048,1.969194834993593,0.9999999999999997,0.0,0.0,p25,25,0.26491666666666663,0.10869565217391304,1.1102230246251565e-16,15
96
+ 0.832556953327635,12.83180481468052,0.9955184938708881,0.062219905866930506,1.5327626604734748,1.0000000000000002,0.0,0.0,p50,50,0.32399999999999995,0.20652173913043478,2.220446049250313e-16,15
97
+ 0.7885261940702322,13.008696207651493,0.965879401768791,0.060367462610549434,1.3145724952877371,0.9999999999999999,0.0,0.0,p75,75,0.43825000000000003,0.29347826086956524,2.220446049250313e-16,15
98
+ 0.4837880922813723,15.042876505280352,0.6341114606979306,0.03963196629362066,0.5775827916257097,1.0,0.0,0.0,doob,,,,2.220446049250313e-16,16
99
+ 0.9917865141498091,11.845921704214799,1.280111885500374,0.08000699284377337,4.454788340196466,1.0000000000000004,0.0,0.0,none,0,0.0,0.0,0.0,16
100
+ 0.9796062551512817,11.972994713920363,1.2552591091124683,0.07845369431952927,3.6295932982820784,0.9999999999999999,0.0,0.0,p10,10,0.14175,0.05555555555555555,0.0,16
101
+ 0.9089795841296135,12.338684626584055,1.115876816720724,0.06974230104504525,2.1914936962783855,1.0000000000000002,0.0,0.0,p25,25,0.230125,0.1,0.0,16
102
+ 0.750461636250534,12.998491601091787,0.9397360252722106,0.05873350157951316,1.2131966351385546,1.0000000000000002,0.0,0.0,p50,50,0.357,0.18888888888888888,1.1102230246251565e-16,16
103
+ 0.7251508494551543,13.036352824416662,0.9406048818053995,0.05878780511283747,1.1197531901503124,1.0,0.0,0.0,p75,75,0.39245833333333335,0.3,0.0,16
104
+ 0.506739254130001,14.803467535092778,0.7189674227192553,0.044935463919953456,0.6154647589491531,1.0,0.0,0.0,doob,,,,1.1102230246251565e-16,17
105
+ 0.9664202615157165,12.02215316179213,1.339269336429185,0.08370433352682406,3.11550809490882,1.0000000000000002,0.0,0.0,none,0,0.0,0.0,0.0,17
106
+ 0.9404164221867446,12.118348013862942,1.2742328206125921,0.07963955128828701,2.5356605932571266,0.9999999999999996,0.0,0.0,p10,10,0.18708333333333332,0.047058823529411764,1.1102230246251565e-16,17
107
+ 0.7988441067613953,12.345487304715524,1.0931751257950446,0.06832344536219029,1.380012686167018,1.0000000000000002,0.0,0.0,p25,25,0.29191666666666666,0.10588235294117647,2.220446049250313e-16,17
108
+ 0.7727105408685718,12.450340568775854,1.058037068630455,0.06612731678940344,1.2707168266977908,0.9999999999999998,0.0,0.0,p50,50,0.3154166666666667,0.18823529411764706,0.0,17
109
+ 0.726303143742091,12.727484622353309,1.0044951140423584,0.0627809446276474,1.1208166008893121,1.0000000000000002,0.0,0.0,p75,75,0.40325,0.2823529411764706,2.220446049250313e-16,17
110
+ 0.46599293713852674,14.81881748965592,0.7261562803021575,0.045384767518884844,0.5499415632673067,1.0000000000000002,0.16666666666666666,0.0,doob,,,,1.1102230246251565e-16,18
111
+ 0.9716797561020993,11.345619862067814,1.6230656449742473,0.10144160281089046,3.440952451261235,1.0000000000000002,0.16666666666666666,0.0,none,0,0.0,0.0,1.1102230246251565e-16,18
112
+ 0.9676600844143882,11.341798298267861,1.6109208351440203,0.10068255219650127,3.2959845573650792,1.0,0.16666666666666666,0.0,p10,10,0.16426666666666667,0.03409090909090909,1.1102230246251565e-16,18
113
+ 0.9167709099313877,11.431522120805528,1.5187491425301674,0.09492182140813546,2.3683237529140384,1.0000000000000002,0.16666666666666666,0.0,p25,25,0.21945833333333334,0.06818181818181818,1.1102230246251565e-16,18
114
+ 0.7979787092834122,12.0758916497212,1.2619461483905667,0.07887163427441042,1.5012528726304077,1.0,0.16666666666666666,0.0,p50,50,0.32025000000000003,0.13636363636363635,0.0,18
115
+ 0.6911013312412888,12.577765689529569,1.1156690158244678,0.06972931348902923,1.0913266157219796,0.9999999999999998,0.16666666666666666,0.0,p75,75,0.4329166666666666,0.2159090909090909,3.3306690738754696e-16,18
116
+ 0.5911223376745427,15.037682806054997,0.6173704673959552,0.0385856542122472,0.7563655871719949,1.0,0.0,0.0,doob,,,,0.0,19
117
+ 0.9940628269348554,11.92295814454286,1.2530964816499932,0.07831853010312458,4.4945914608736635,0.9999999999999997,0.0,0.0,none,0,0.0,0.0,0.0,19
118
+ 0.9851874451785548,12.117485369184298,1.1871902273862402,0.07419938921164002,3.7013947994795875,0.9999999999999999,0.0,0.0,p10,10,0.16283333333333333,0.056179775280898875,0.0,19
119
+ 0.924501258010828,12.43542465705962,1.052367675030286,0.06577297968939287,2.1850920352979477,0.9999999999999998,0.0,0.0,p25,25,0.25966666666666666,0.10112359550561797,1.1102230246251565e-16,19
120
+ 0.8591177847987432,12.744674789431965,0.955353538458335,0.05970959615364594,1.6170819071311933,0.9999999999999999,0.0,0.0,p50,50,0.33216666666666667,0.19101123595505617,1.1102230246251565e-16,19
121
+ 0.8012584473980241,13.374537050824975,0.8727450747307617,0.054546567170672605,1.3430220419973777,1.0,0.0,0.0,p75,75,0.46108333333333335,0.29213483146067415,1.1102230246251565e-16,19
analysis/mb_floor_sensitivity/analyze.py ADDED
@@ -0,0 +1,499 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pathlib import Path
2
+ import argparse
3
+ import csv
4
+ import hashlib
5
+ import importlib.metadata
6
+ import itertools
7
+ import json
8
+ import platform
9
+ import sys
10
+ import time
11
+
12
+ import numpy as np
13
+
14
+ OUT = Path(__file__).resolve().parent
15
+ ROOT = OUT.parents[1]
16
+ sys.path.insert(0, str(ROOT))
17
+ from scoobdoob import _conditioning
18
+
19
+ CONDITIONS = [
20
+ ("doob", None),
21
+ ("none", 0),
22
+ ("p10", 10),
23
+ ("p25", 25),
24
+ ("p50", 50),
25
+ ("p75", 75),
26
+ ]
27
+ SETTINGS = dict(
28
+ cluster_seeds=list(range(20)),
29
+ k=100,
30
+ tica_lag=20,
31
+ msm_lag=5,
32
+ horizon=16,
33
+ alpha_per_transition=7.5,
34
+ floor_percentiles=[10, 25, 50, 75],
35
+ no_floor_control=True,
36
+ start_law="uniform on the original source set; fixed-start mixture",
37
+ s1_radius=0.25,
38
+ )
39
+
40
+
41
+ def dump(path, obj):
42
+ path.write_text(json.dumps(obj, indent=2, allow_nan=False) + "\n")
43
+
44
+
45
+ def digest(path):
46
+ return hashlib.sha256(Path(path).read_bytes()).hexdigest()
47
+
48
+
49
+ def exact_metrics(kernels, mu, region, targets, corridor):
50
+ """Forward full law and killed laws, including the state at step zero."""
51
+ m, n = len(mu), len(kernels)
52
+ mass = mu.copy()
53
+ survival = mu.copy()
54
+ survival[region] = 0
55
+ avoiding = np.broadcast_to(mu, (m, m)).copy()
56
+ np.fill_diagonal(avoiding, 0)
57
+ s1_occupancy = float(mass[region].sum())
58
+ self_steps = 0.0
59
+ max_outside = float(mass[~corridor].sum())
60
+ max_outside_arrivals = 0.0
61
+ for K in kernels:
62
+ self_steps += float(mass @ np.diag(K))
63
+ mass = mass @ K
64
+ np.testing.assert_allclose(mass.sum(), 1, atol=2e-12, rtol=0)
65
+ max_outside = max(max_outside, float(mass[~corridor].sum()))
66
+ max_outside_arrivals = max(max_outside_arrivals, float(mass[~corridor].sum()))
67
+ s1_occupancy += float(mass[region].sum())
68
+ survival = survival @ K
69
+ survival[region] = 0
70
+ avoiding = avoiding @ K
71
+ np.fill_diagonal(avoiding, 0)
72
+ hit_each = np.clip(1 - avoiding.sum(axis=1), 0, 1)
73
+ return dict(
74
+ s1_probability=float(np.clip(1 - survival.sum(), 0, 1)),
75
+ expected_distinct_states=float(hit_each.sum()),
76
+ expected_self_transitions=self_steps,
77
+ self_transition_fraction=self_steps / n,
78
+ expected_s1_state_observations=s1_occupancy,
79
+ terminal_probability=float(mass[targets].sum()),
80
+ max_outside_corridor_probability=max_outside,
81
+ max_outside_arrival_mask_probability=max_outside_arrivals,
82
+ )
83
+
84
+
85
+ def reference_hit_probability(P, w, mu, region, targets, horizon):
86
+ """Independent ratio of weighted path sums, separately for each start."""
87
+ full = np.zeros(len(P))
88
+ full[targets] = 1
89
+ avoided = full.copy()
90
+ avoided[region] = 0
91
+ w_avoid = w.copy()
92
+ w_avoid[region] = 0
93
+ for _ in range(horizon):
94
+ full = P @ (w * full)
95
+ avoided = P @ (w_avoid * avoided)
96
+ scale = float(full.max())
97
+ if scale <= 0:
98
+ raise RuntimeError("No feasible weighted continuation")
99
+ full /= scale
100
+ avoided /= scale
101
+ initial = mu > 0
102
+ if np.any(full[initial] <= 0):
103
+ raise RuntimeError("Infeasible prescribed start")
104
+ avoided[region] = 0
105
+ return float(1 - mu[initial] @ (avoided[initial] / full[initial]))
106
+
107
+
108
+ def validate_toy():
109
+ """Brute-force the weighted reference law, not a second kernel simulation."""
110
+ P = np.array([[0.5, 0.4, 0.1], [0.1, 0.6, 0.3], [0.2, 0.3, 0.5]])
111
+ w = np.array([0.7, 0.3, 1.2])
112
+ mu = np.array([0.3, 0.7, 0.0])
113
+ region = np.array([False, True, False])
114
+ targets = np.array([2])
115
+ horizon = 4
116
+ kernels, _ = _conditioning.build(P, w, targets, horizon, starts=[0, 1])
117
+ got = exact_metrics(kernels, mu, region, targets, np.ones(3, dtype=bool))
118
+ expected = np.zeros(4)
119
+ for i in [0, 1]:
120
+ norm = 0.0
121
+ moments = np.zeros(4)
122
+ for rest in itertools.product(range(3), repeat=horizon):
123
+ if rest[-1] != 2:
124
+ continue
125
+ path = (i,) + rest
126
+ prob = float(np.prod([P[a, b] * w[b] for a, b in zip(path[:-1], path[1:])]))
127
+ norm += prob
128
+ moments += prob * np.array(
129
+ [
130
+ any(region[s] for s in path),
131
+ len(set(path)),
132
+ sum(a == b for a, b in zip(path[:-1], path[1:])),
133
+ sum(region[s] for s in path),
134
+ ],
135
+ dtype=float,
136
+ )
137
+ expected += mu[i] * moments / norm
138
+ actual = [
139
+ got[k]
140
+ for k in [
141
+ "s1_probability",
142
+ "expected_distinct_states",
143
+ "expected_self_transitions",
144
+ "expected_s1_state_observations",
145
+ ]
146
+ ]
147
+ np.testing.assert_allclose(actual, expected, atol=2e-12, rtol=0)
148
+ other = reference_hit_probability(P, w, mu, region, targets, horizon)
149
+ np.testing.assert_allclose(other, expected[0], atol=2e-12, rtol=0)
150
+
151
+ masked_w = np.array([0.0, 0.3, 1.2])
152
+ K, _ = _conditioning.build(P, masked_w, targets, 1, starts=[0])
153
+ edge = exact_metrics(K, np.array([1.0, 0.0, 0.0]), region, targets, masked_w > 0)
154
+ np.testing.assert_allclose(
155
+ [
156
+ edge["terminal_probability"],
157
+ edge["expected_distinct_states"],
158
+ edge["max_outside_corridor_probability"],
159
+ edge["max_outside_arrival_mask_probability"],
160
+ ],
161
+ [1.0, 2.0, 1.0, 0.0],
162
+ atol=2e-12,
163
+ rtol=0,
164
+ )
165
+ return dict(
166
+ exhaustive_reference_check=True,
167
+ outside_mask_start_check=True,
168
+ max_absolute_error=float(np.max(np.abs(np.array(actual) - expected))),
169
+ )
170
+
171
+
172
+ def run(seed):
173
+ start_time = time.time()
174
+ toy = validate_toy()
175
+ from scoobdoob.validation import msm_build as mb, tpt
176
+ from scoobdoob.validation import mb_ground_truth as gt
177
+ from scoobdoob.validation import mb_data as V
178
+
179
+ files = sorted((ROOT / "data/mb_reactive").glob("traj_*.npy"))
180
+ if len(files) != 12:
181
+ raise RuntimeError(
182
+ "Expected twelve trajectory files in data/mb_reactive; run python -m scoobdoob.validation.mb_data first"
183
+ )
184
+ trajs = [np.load(p).astype(np.float64) for p in files]
185
+ model = mb.build_full_msm(
186
+ trajs, trajs, lag=5, tica_lag=20, k=100, n_comp=2, seed=seed, use_tica=True
187
+ )
188
+
189
+ np.testing.assert_array_equal(model.active_symbols, np.arange(100))
190
+ A, B, _ = mb.q2_sign_endpoints(model)
191
+ starts, targets = V.orient_endpoints(model, A, B)
192
+ starts, targets = np.array(starts), np.array(targets)
193
+ xy = model.active_xy
194
+ agreement, q, _ = tpt.committor_agreement(model, starts.tolist(), targets.tolist())
195
+ flux = tpt.reactive_flux(model, starts.tolist(), targets.tolist())
196
+ through = np.asarray(flux.gross_flux).sum(axis=1)
197
+ corridor = through / through.sum() > 0.5 / model.n_active
198
+ corridor[starts] = True
199
+ corridor[targets] = True
200
+ saddles = gt.saddle_points()
201
+ S1 = saddles[np.argmin(saddles[:, 0])]
202
+ landmarks = np.vstack([xy[starts].mean(0), xy[targets].mean(0), saddles])
203
+ lo, hi = landmarks.min(0) - 0.35, landmarks.max(0) + 0.35
204
+ corridor &= np.all((xy >= lo) & (xy <= hi), axis=1)
205
+
206
+ counts = model.counts[model.active_symbols].astype(float)
207
+ rho = np.maximum(counts, 1) / counts.mean()
208
+ react = (q > 0.05) & (q < 0.95)
209
+ region = np.linalg.norm(xy - S1, axis=1) < 0.25
210
+ if not np.any(region) or not np.any(react):
211
+ raise RuntimeError("Missing S1 or reference committor region")
212
+ mu = np.zeros(model.n_active)
213
+ mu[starts] = 1 / len(starts)
214
+ saved_match = None
215
+ if seed == 0:
216
+ with np.load(
217
+ ROOT / "data/mb_panels_data/panels_cache.npz", allow_pickle=True
218
+ ) as z:
219
+ saved_match = dict(
220
+ max_state_coordinate_difference=float(np.max(np.abs(xy - z["xy"]))),
221
+ counts_equal=bool(np.array_equal(counts, z["counts"])),
222
+ corridor_equal=bool(np.array_equal(corridor, z["on"])),
223
+ )
224
+ np.savez_compressed(
225
+ OUT / f"model_{seed:02d}.npz",
226
+ P=model.P,
227
+ pi=model.stationary,
228
+ q=q,
229
+ xy=xy,
230
+ counts=counts,
231
+ rho=rho,
232
+ corridor=corridor,
233
+ source=starts,
234
+ target=targets,
235
+ S1_region=region,
236
+ mu=mu,
237
+ )
238
+ records = []
239
+ for name, pct in CONDITIONS:
240
+ floor = (
241
+ None
242
+ if pct is None
243
+ else (0.0 if pct == 0 else float(np.percentile(rho[react], pct)))
244
+ )
245
+ w = (
246
+ np.ones_like(rho)
247
+ if name == "doob"
248
+ else np.exp(-7.5 * np.maximum(rho, floor))
249
+ )
250
+ if np.any(w <= 0):
251
+ raise FloatingPointError("A positive density weight underflowed")
252
+ w[~corridor] = 0
253
+ kernels, h = _conditioning.build(model.P, w, targets, 16, starts=starts)
254
+ for K in kernels:
255
+ if np.any((K > 0) & (model.P == 0)):
256
+ raise RuntimeError("New edge introduced")
257
+ record = exact_metrics(kernels, mu, region, targets, corridor)
258
+ independent = reference_hit_probability(model.P, w, mu, region, targets, 16)
259
+ error = abs(independent - record["s1_probability"])
260
+ if error > 2e-10:
261
+ raise AssertionError(f"Two path-law calculations disagree by {error}")
262
+ record.update(
263
+ condition=name,
264
+ floor_percentile=pct,
265
+ density_floor=floor,
266
+ fraction_corridor_states_below_floor=(
267
+ None if floor is None else float(np.mean(rho[corridor] < floor))
268
+ ),
269
+ independent_recursion_error=error,
270
+ )
271
+ records.append(record)
272
+ print(
273
+ f"seed={seed} {name} S1={record['s1_probability']:.8f} "
274
+ f"distinct/path={record['expected_distinct_states']:.6f}",
275
+ flush=True,
276
+ )
277
+ source_names = [
278
+ "make_mb_panels.py",
279
+ "mb_stats.py",
280
+ "scoobdoob/validation/msm_build.py",
281
+ "scoobdoob/_conditioning.py",
282
+ "scoobdoob/validation/mb_data.py",
283
+ ]
284
+ sources = {str(p.relative_to(ROOT)): digest(p) for p in files}
285
+ sources.update({p: digest(ROOT / p) for p in source_names})
286
+ sources[str(Path(__file__).relative_to(ROOT))] = digest(__file__)
287
+ versions = {
288
+ p: importlib.metadata.version(p)
289
+ for p in ["numpy", "scipy", "scikit-learn", "deeptime"]
290
+ }
291
+ dump(
292
+ OUT / f"result_{seed:02d}.json",
293
+ dict(
294
+ seed=seed,
295
+ settings=SETTINGS,
296
+ records=records,
297
+ n_frames=sum(len(t) for t in trajs),
298
+ n_active=model.n_active,
299
+ corridor_states=int(corridor.sum()),
300
+ s1_states=int(region.sum()),
301
+ source_states_outside_arrival_mask=starts[~corridor[starts]].tolist(),
302
+ target_states_outside_arrival_mask=targets[~corridor[targets]].tolist(),
303
+ reference_committor_agreement=float(agreement),
304
+ seed0_saved_figure_check=saved_match,
305
+ validation=toy,
306
+ source_sha256=sources,
307
+ versions=versions,
308
+ python=platform.python_version(),
309
+ elapsed_seconds=time.time() - start_time,
310
+ ),
311
+ )
312
+
313
+
314
+ def summarize():
315
+ results = [
316
+ json.loads((OUT / f"result_{s:02d}.json").read_text()) for s in range(20)
317
+ ]
318
+ if any(r["settings"] != SETTINGS for r in results):
319
+ raise RuntimeError("Inconsistent settings")
320
+ if len({json.dumps(r["source_sha256"], sort_keys=True) for r in results}) != 1:
321
+ raise RuntimeError("Source/data hashes changed across jobs")
322
+ records = [
323
+ {**row, "cluster_seed": r["seed"]} for r in results for row in r["records"]
324
+ ]
325
+ with (OUT / "all_results.csv").open("w", newline="") as f:
326
+ writer = csv.DictWriter(f, fieldnames=list(records[0]))
327
+ writer.writeheader()
328
+ writer.writerows(records)
329
+ values = {
330
+ name: np.array(
331
+ [
332
+ next(x for x in r["records"] if x["condition"] == name)[
333
+ "s1_probability"
334
+ ]
335
+ for r in results
336
+ ]
337
+ )
338
+ * 100
339
+ for name, _ in CONDITIONS
340
+ }
341
+ stats = {}
342
+ for name, _ in CONDITIONS:
343
+ y = values[name]
344
+ delta = y - values["doob"]
345
+ delta25 = y - values["p25"]
346
+ by = [next(x for x in r["records"] if x["condition"] == name) for r in results]
347
+ stats[name] = dict(
348
+ s1_mean_pct=float(y.mean()),
349
+ s1_sd_pct=float(y.std(ddof=1)),
350
+ s1_min_pct=float(y.min()),
351
+ s1_max_pct=float(y.max()),
352
+ paired_gain_vs_doob_mean_pp=float(delta.mean()),
353
+ paired_gain_vs_doob_min_pp=float(delta.min()),
354
+ paired_gain_vs_doob_max_pp=float(delta.max()),
355
+ paired_vs_p25_mean_pp=float(delta25.mean()),
356
+ paired_vs_p25_min_pp=float(delta25.min()),
357
+ paired_vs_p25_max_pp=float(delta25.max()),
358
+ n_clusterings_better_than_doob=int(np.sum(delta > 1e-10)),
359
+ distinct_per_path_mean=float(
360
+ np.mean([x["expected_distinct_states"] for x in by])
361
+ ),
362
+ self_steps_mean=float(
363
+ np.mean([x["expected_self_transitions"] for x in by])
364
+ ),
365
+ )
366
+ archive = json.loads((ROOT / "data/mb_stats.json").read_text())
367
+ comparison = {
368
+ name: dict(
369
+ archived_mean_pct=float(np.mean(archive[key])),
370
+ mean_exact_minus_archived_pp=float(np.mean(values[name] - archive[key])),
371
+ max_absolute_difference_pp=float(
372
+ np.max(np.abs(values[name] - archive[key]))
373
+ ),
374
+ )
375
+ for name, key in [("doob", "raw"), ("p25", "fk")]
376
+ }
377
+ check = dict(
378
+ toy_exhaustive_passed=all(
379
+ r["validation"]["exhaustive_reference_check"] for r in results
380
+ ),
381
+ max_independent_recursion_error=max(
382
+ x["independent_recursion_error"] for x in records
383
+ ),
384
+ max_terminal_error=max(abs(x["terminal_probability"] - 1) for x in records),
385
+ max_outside_corridor_probability=max(
386
+ x["max_outside_corridor_probability"] for x in records
387
+ ),
388
+ max_outside_arrival_mask_probability=max(
389
+ x["max_outside_arrival_mask_probability"] for x in records
390
+ ),
391
+ endpoint_mask_exceptions=[
392
+ dict(
393
+ seed=r["seed"],
394
+ source=r["source_states_outside_arrival_mask"],
395
+ target=r["target_states_outside_arrival_mask"],
396
+ )
397
+ for r in results
398
+ if r["source_states_outside_arrival_mask"]
399
+ or r["target_states_outside_arrival_mask"]
400
+ ],
401
+ seed0_saved_figure_check=results[0]["seed0_saved_figure_check"],
402
+ )
403
+ summary = dict(
404
+ settings=SETTINGS,
405
+ conditions=stats,
406
+ checks=check,
407
+ archive_comparison=comparison,
408
+ scope="Exact probabilities on refitted MSMs from fixed MD data. SD is clustering sensitivity, not MD uncertainty.",
409
+ completed_clusterings=len(results),
410
+ )
411
+ dump(OUT / "summary.json", summary)
412
+ import matplotlib
413
+
414
+ matplotlib.use("Agg")
415
+ import matplotlib.pyplot as plt
416
+
417
+ labels = ["No floor", "10th", "25th (original)", "50th", "75th"]
418
+ names = ["none", "p10", "p25", "p50", "p75"]
419
+ fig, axes = plt.subplots(1, 2, figsize=(10, 4.3))
420
+ x = np.arange(5)
421
+ for s in range(20):
422
+ axes[0].plot(
423
+ x, [values[n][s] for n in names], color="#93b6cc", alpha=0.42, lw=0.8
424
+ )
425
+ axes[1].plot(
426
+ x,
427
+ [values[n][s] - values["doob"][s] for n in names],
428
+ color="#93b6cc",
429
+ alpha=0.42,
430
+ lw=0.8,
431
+ )
432
+ for ax, metric in zip(axes, ["s1_mean_pct", "paired_gain_vs_doob_mean_pp"]):
433
+ ax.plot(
434
+ x,
435
+ [stats[n][metric] for n in names],
436
+ "o-",
437
+ color="#164e70",
438
+ lw=2,
439
+ label="Mean of 20 clusterings",
440
+ )
441
+ ax.set_xticks(x, labels, rotation=18)
442
+ ax.set_xlabel("Density-floor percentile")
443
+ ax.spines[["top", "right"]].set_visible(False)
444
+ ax.grid(axis="y", alpha=0.2)
445
+ axes[0].axhline(
446
+ stats["doob"]["s1_mean_pct"], ls="--", color="#777777", label="Pure-Doob mean"
447
+ )
448
+ axes[1].axhline(0, ls="--", color="#777777")
449
+ axes[0].set_ylabel("Exact probability of S1 visitation (%)")
450
+ axes[1].set_ylabel("Paired gain over pure Doob (percentage points)")
451
+ axes[0].legend(frameon=False, fontsize=8)
452
+ fig.suptitle("MB floor sensitivity at fixed density strength and horizon")
453
+ fig.tight_layout()
454
+ (ROOT / "figures").mkdir(parents=True, exist_ok=True)
455
+ for ext in ["pdf", "png", "svg"]:
456
+ fig.savefig(
457
+ ROOT / "figures" / f"floor_sensitivity.{ext}", dpi=180, bbox_inches="tight"
458
+ )
459
+ lines = [
460
+ "MB FLOOR SENSITIVITY — completed",
461
+ "",
462
+ summary["scope"],
463
+ "",
464
+ "Condition S1 mean +/- SD (%) gain vs Doob (pp) better /20",
465
+ ]
466
+ for name, _ in CONDITIONS:
467
+ z = stats[name]
468
+ lines.append(
469
+ f"{name:12s} {z['s1_mean_pct']:7.3f} +/- {z['s1_sd_pct']:6.3f} "
470
+ f" {z['paired_gain_vs_doob_mean_pp']:+7.3f} "
471
+ f"{z['n_clusterings_better_than_doob']}"
472
+ )
473
+ lines += [
474
+ "",
475
+ "Checks:",
476
+ json.dumps(check, indent=2),
477
+ "",
478
+ "The original 25th-percentile setting is retained. No optimum was selected.",
479
+ "Use per-clustering paired differences in all_results.csv; original results were not overwritten.",
480
+ "Exact evaluation has no rollout Monte Carlo error. Refitting may differ from archived finite samples.",
481
+ "Aib9 and the p53 held-out density experiment used no density floor; this test concerns MB.",
482
+ ]
483
+ (OUT / "RESULTS.txt").write_text("\n".join(lines) + "\n")
484
+ print("\n".join(lines), flush=True)
485
+
486
+
487
+ if __name__ == "__main__":
488
+ p = argparse.ArgumentParser()
489
+ group = p.add_mutually_exclusive_group(required=True)
490
+ group.add_argument("--seed", type=int, choices=range(20))
491
+ group.add_argument("--summarize", action="store_true")
492
+ group.add_argument("--validate", action="store_true")
493
+ args = p.parse_args()
494
+ if args.validate:
495
+ print(json.dumps(validate_toy(), indent=2))
496
+ elif args.summarize:
497
+ summarize()
498
+ else:
499
+ run(args.seed)
analysis/mb_floor_sensitivity/model_00.npz ADDED
Binary file (58.9 kB). View file
 
analysis/mb_floor_sensitivity/model_01.npz ADDED
Binary file (57.6 kB). View file
 
analysis/mb_floor_sensitivity/model_02.npz ADDED
Binary file (58.8 kB). View file
 
analysis/mb_floor_sensitivity/model_03.npz ADDED
Binary file (59.9 kB). View file
 
analysis/mb_floor_sensitivity/model_04.npz ADDED
Binary file (59 kB). View file
 
analysis/mb_floor_sensitivity/model_05.npz ADDED
Binary file (57.7 kB). View file
 
analysis/mb_floor_sensitivity/model_06.npz ADDED
Binary file (59.4 kB). View file
 
analysis/mb_floor_sensitivity/model_07.npz ADDED
Binary file (59 kB). View file
 
analysis/mb_floor_sensitivity/model_08.npz ADDED
Binary file (60 kB). View file
 
analysis/mb_floor_sensitivity/model_09.npz ADDED
Binary file (59.6 kB). View file
 
analysis/mb_floor_sensitivity/model_10.npz ADDED
Binary file (59.1 kB). View file
 
analysis/mb_floor_sensitivity/model_11.npz ADDED
Binary file (59 kB). View file
 
analysis/mb_floor_sensitivity/model_12.npz ADDED
Binary file (59.1 kB). View file
 
analysis/mb_floor_sensitivity/model_13.npz ADDED
Binary file (59.2 kB). View file
 
analysis/mb_floor_sensitivity/model_14.npz ADDED
Binary file (58.5 kB). View file
 
analysis/mb_floor_sensitivity/model_15.npz ADDED
Binary file (58.4 kB). View file
 
analysis/mb_floor_sensitivity/model_16.npz ADDED
Binary file (58.7 kB). View file
 
analysis/mb_floor_sensitivity/model_17.npz ADDED
Binary file (59.3 kB). View file
 
analysis/mb_floor_sensitivity/model_18.npz ADDED
Binary file (59.1 kB). View file
 
analysis/mb_floor_sensitivity/model_19.npz ADDED
Binary file (58.8 kB). View file
 
analysis/mb_floor_sensitivity/result_00.json ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 0,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.43691794546073415,
44
+ "expected_distinct_states": 15.013666141340575,
45
+ "expected_self_transitions": 0.6533119085168925,
46
+ "self_transition_fraction": 0.04083199428230578,
47
+ "expected_s1_state_observations": 0.5035914002980231,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 1.1102230246251565e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9595572296791586,
59
+ "expected_distinct_states": 11.733030279406437,
60
+ "expected_self_transitions": 1.4831157288792642,
61
+ "self_transition_fraction": 0.09269473305495401,
62
+ "expected_s1_state_observations": 2.8990900899171863,
63
+ "terminal_probability": 0.9999999999999998,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.8902087824180265,
74
+ "expected_distinct_states": 11.938725995059936,
75
+ "expected_self_transitions": 1.3434524895761015,
76
+ "self_transition_fraction": 0.08396578059850635,
77
+ "expected_s1_state_observations": 1.9223774857137172,
78
+ "terminal_probability": 1.0,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.22521666666666668,
84
+ "fraction_corridor_states_below_floor": 0.05555555555555555,
85
+ "independent_recursion_error": 1.1102230246251565e-16
86
+ },
87
+ {
88
+ "s1_probability": 0.7676334652497048,
89
+ "expected_distinct_states": 12.162471438442612,
90
+ "expected_self_transitions": 1.206251585062303,
91
+ "self_transition_fraction": 0.07539072406639394,
92
+ "expected_s1_state_observations": 1.2264193451367236,
93
+ "terminal_probability": 1.0000000000000002,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.306125,
99
+ "fraction_corridor_states_below_floor": 0.1,
100
+ "independent_recursion_error": 1.1102230246251565e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.6878636642681657,
104
+ "expected_distinct_states": 12.536110821091299,
105
+ "expected_self_transitions": 1.1103615285855495,
106
+ "self_transition_fraction": 0.06939759553659684,
107
+ "expected_s1_state_observations": 0.9759709933847585,
108
+ "terminal_probability": 1.0000000000000002,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.3833333333333333,
114
+ "fraction_corridor_states_below_floor": 0.2,
115
+ "independent_recursion_error": 0.0
116
+ },
117
+ {
118
+ "s1_probability": 0.6242797495046818,
119
+ "expected_distinct_states": 13.211821050555066,
120
+ "expected_self_transitions": 1.019008773393519,
121
+ "self_transition_fraction": 0.06368804833709493,
122
+ "expected_s1_state_observations": 0.8256362469038774,
123
+ "terminal_probability": 0.9999999999999998,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.5533333333333333,
129
+ "fraction_corridor_states_below_floor": 0.3333333333333333,
130
+ "independent_recursion_error": 1.1102230246251565e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 90,
136
+ "s1_states": 4,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 4.440892098500626e-16,
140
+ "seed0_saved_figure_check": {
141
+ "max_state_coordinate_difference": 0.0,
142
+ "counts_equal": true,
143
+ "corridor_equal": true
144
+ },
145
+ "validation": {
146
+ "exhaustive_reference_check": true,
147
+ "outside_mask_start_check": true,
148
+ "max_absolute_error": 4.440892098500626e-16
149
+ },
150
+ "source_sha256": {
151
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
152
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
153
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
154
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
155
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
156
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
157
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
158
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
159
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
160
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
161
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
162
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
163
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
164
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
165
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
166
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
167
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
168
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
169
+ },
170
+ "versions": {
171
+ "numpy": "2.2.6",
172
+ "scipy": "1.14.1",
173
+ "scikit-learn": "1.7.1",
174
+ "deeptime": "0.4.5"
175
+ },
176
+ "python": "3.10.13",
177
+ "elapsed_seconds": 13.785944700241089
178
+ }
analysis/mb_floor_sensitivity/result_01.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 1,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.47431774413772165,
44
+ "expected_distinct_states": 14.962806670822289,
45
+ "expected_self_transitions": 0.6646379767601857,
46
+ "self_transition_fraction": 0.041539873547511603,
47
+ "expected_s1_state_observations": 0.5656135812877474,
48
+ "terminal_probability": 1.0000000000000002,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 0.0
56
+ },
57
+ {
58
+ "s1_probability": 0.921186672272567,
59
+ "expected_distinct_states": 12.554198995233554,
60
+ "expected_self_transitions": 1.2723206679621673,
61
+ "self_transition_fraction": 0.07952004174763545,
62
+ "expected_s1_state_observations": 2.491381984616749,
63
+ "terminal_probability": 1.0,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 1.1102230246251565e-16
71
+ },
72
+ {
73
+ "s1_probability": 0.8740443333450296,
74
+ "expected_distinct_states": 12.632418653953259,
75
+ "expected_self_transitions": 1.2115611948906388,
76
+ "self_transition_fraction": 0.07572257468066493,
77
+ "expected_s1_state_observations": 1.9787923417975324,
78
+ "terminal_probability": 0.9999999999999997,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.17853333333333332,
84
+ "fraction_corridor_states_below_floor": 0.04395604395604396,
85
+ "independent_recursion_error": 1.1102230246251565e-16
86
+ },
87
+ {
88
+ "s1_probability": 0.8045858652078739,
89
+ "expected_distinct_states": 12.83339276935726,
90
+ "expected_self_transitions": 1.0997845920403504,
91
+ "self_transition_fraction": 0.0687365370025219,
92
+ "expected_s1_state_observations": 1.5116968074655235,
93
+ "terminal_probability": 1.0000000000000002,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.22158333333333335,
99
+ "fraction_corridor_states_below_floor": 0.08791208791208792,
100
+ "independent_recursion_error": 1.1102230246251565e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.7171638280522671,
104
+ "expected_distinct_states": 13.101709613591051,
105
+ "expected_self_transitions": 0.9696859373588358,
106
+ "self_transition_fraction": 0.06060537108492724,
107
+ "expected_s1_state_observations": 1.1197796664715896,
108
+ "terminal_probability": 1.0,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.31133333333333335,
114
+ "fraction_corridor_states_below_floor": 0.17582417582417584,
115
+ "independent_recursion_error": 3.3306690738754696e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.6695714939378443,
119
+ "expected_distinct_states": 13.124068598363051,
120
+ "expected_self_transitions": 0.9589335944737107,
121
+ "self_transition_fraction": 0.05993334965460692,
122
+ "expected_s1_state_observations": 0.9806618033719668,
123
+ "terminal_probability": 0.9999999999999999,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.3735,
129
+ "fraction_corridor_states_below_floor": 0.27472527472527475,
130
+ "independent_recursion_error": 3.3306690738754696e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 91,
136
+ "s1_states": 5,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 4.440892098500626e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 13.56903338432312
174
+ }
analysis/mb_floor_sensitivity/result_02.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 2,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.4770124753307715,
44
+ "expected_distinct_states": 15.022239303408549,
45
+ "expected_self_transitions": 0.641083807715894,
46
+ "self_transition_fraction": 0.040067737982243376,
47
+ "expected_s1_state_observations": 0.5722517563630657,
48
+ "terminal_probability": 1.0000000000000002,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 0.0
56
+ },
57
+ {
58
+ "s1_probability": 0.9788540758905597,
59
+ "expected_distinct_states": 11.552706077458156,
60
+ "expected_self_transitions": 1.536411795616068,
61
+ "self_transition_fraction": 0.09602573722600426,
62
+ "expected_s1_state_observations": 3.766589674181204,
63
+ "terminal_probability": 1.0000000000000002,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 1.1102230246251565e-16
71
+ },
72
+ {
73
+ "s1_probability": 0.9567884525122707,
74
+ "expected_distinct_states": 11.726665146315467,
75
+ "expected_self_transitions": 1.4632838020840366,
76
+ "self_transition_fraction": 0.09145523763025229,
77
+ "expected_s1_state_observations": 3.0495216306615904,
78
+ "terminal_probability": 1.0,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.16490000000000002,
84
+ "fraction_corridor_states_below_floor": 0.05555555555555555,
85
+ "independent_recursion_error": 1.1102230246251565e-16
86
+ },
87
+ {
88
+ "s1_probability": 0.7861058920937647,
89
+ "expected_distinct_states": 12.46863243700942,
90
+ "expected_self_transitions": 1.0849601814080623,
91
+ "self_transition_fraction": 0.06781001133800389,
92
+ "expected_s1_state_observations": 1.3789396874220046,
93
+ "terminal_probability": 0.9999999999999998,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.30533333333333335,
99
+ "fraction_corridor_states_below_floor": 0.08888888888888889,
100
+ "independent_recursion_error": 0.0
101
+ },
102
+ {
103
+ "s1_probability": 0.7070082795708856,
104
+ "expected_distinct_states": 12.601639392510245,
105
+ "expected_self_transitions": 1.0176181458639135,
106
+ "self_transition_fraction": 0.0636011341164946,
107
+ "expected_s1_state_observations": 1.0772612246813502,
108
+ "terminal_probability": 1.0000000000000004,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.3641666666666667,
114
+ "fraction_corridor_states_below_floor": 0.17777777777777778,
115
+ "independent_recursion_error": 1.1102230246251565e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.6818964076424328,
119
+ "expected_distinct_states": 12.800445043295559,
120
+ "expected_self_transitions": 1.0065659793738178,
121
+ "self_transition_fraction": 0.06291037371086361,
122
+ "expected_s1_state_observations": 1.0045758468701496,
123
+ "terminal_probability": 1.0000000000000002,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.4265,
129
+ "fraction_corridor_states_below_floor": 0.2777777777777778,
130
+ "independent_recursion_error": 0.0
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 90,
136
+ "s1_states": 5,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 4.440892098500626e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 12.15404987335205
174
+ }
analysis/mb_floor_sensitivity/result_03.json ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 3,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.45650454079958447,
44
+ "expected_distinct_states": 14.80991960644764,
45
+ "expected_self_transitions": 0.7074257266949784,
46
+ "self_transition_fraction": 0.04421410791843615,
47
+ "expected_s1_state_observations": 0.5331538613794161,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.16666666666666666,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 1.1102230246251565e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9580141712857912,
59
+ "expected_distinct_states": 11.722590642329202,
60
+ "expected_self_transitions": 1.3804948464763818,
61
+ "self_transition_fraction": 0.08628092790477386,
62
+ "expected_s1_state_observations": 2.6954344282610743,
63
+ "terminal_probability": 0.9999999999999998,
64
+ "max_outside_corridor_probability": 0.16666666666666666,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 1.1102230246251565e-16
71
+ },
72
+ {
73
+ "s1_probability": 0.9274037645156145,
74
+ "expected_distinct_states": 11.886116032329102,
75
+ "expected_self_transitions": 1.2966589793929524,
76
+ "self_transition_fraction": 0.08104118621205952,
77
+ "expected_s1_state_observations": 2.1717549681508266,
78
+ "terminal_probability": 1.0000000000000002,
79
+ "max_outside_corridor_probability": 0.16666666666666666,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.20299999999999999,
84
+ "fraction_corridor_states_below_floor": 0.044444444444444446,
85
+ "independent_recursion_error": 1.1102230246251565e-16
86
+ },
87
+ {
88
+ "s1_probability": 0.8644404152551027,
89
+ "expected_distinct_states": 12.187795360059418,
90
+ "expected_self_transitions": 1.1580546182737619,
91
+ "self_transition_fraction": 0.07237841364211012,
92
+ "expected_s1_state_observations": 1.6004178669081626,
93
+ "terminal_probability": 1.0000000000000002,
94
+ "max_outside_corridor_probability": 0.16666666666666666,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.2625,
99
+ "fraction_corridor_states_below_floor": 0.07777777777777778,
100
+ "independent_recursion_error": 0.0
101
+ },
102
+ {
103
+ "s1_probability": 0.7561161682190445,
104
+ "expected_distinct_states": 12.54985520188381,
105
+ "expected_self_transitions": 1.024436758333206,
106
+ "self_transition_fraction": 0.06402729739582537,
107
+ "expected_s1_state_observations": 1.114883703386301,
108
+ "terminal_probability": 1.0,
109
+ "max_outside_corridor_probability": 0.16666666666666666,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.347,
114
+ "fraction_corridor_states_below_floor": 0.15555555555555556,
115
+ "independent_recursion_error": 0.0
116
+ },
117
+ {
118
+ "s1_probability": 0.7280076348197122,
119
+ "expected_distinct_states": 12.662176039866797,
120
+ "expected_self_transitions": 1.0083460210337105,
121
+ "self_transition_fraction": 0.06302162631460691,
122
+ "expected_s1_state_observations": 1.0420058079762458,
123
+ "terminal_probability": 1.0,
124
+ "max_outside_corridor_probability": 0.16666666666666666,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.3958333333333333,
129
+ "fraction_corridor_states_below_floor": 0.24444444444444444,
130
+ "independent_recursion_error": 2.220446049250313e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 90,
136
+ "s1_states": 4,
137
+ "source_states_outside_arrival_mask": [
138
+ 70
139
+ ],
140
+ "target_states_outside_arrival_mask": [],
141
+ "reference_committor_agreement": 5.551115123125783e-16,
142
+ "seed0_saved_figure_check": null,
143
+ "validation": {
144
+ "exhaustive_reference_check": true,
145
+ "outside_mask_start_check": true,
146
+ "max_absolute_error": 4.440892098500626e-16
147
+ },
148
+ "source_sha256": {
149
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
150
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
151
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
152
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
153
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
154
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
155
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
156
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
157
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
158
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
159
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
160
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
161
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
162
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
163
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
164
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
165
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
166
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
167
+ },
168
+ "versions": {
169
+ "numpy": "2.2.6",
170
+ "scipy": "1.14.1",
171
+ "scikit-learn": "1.7.1",
172
+ "deeptime": "0.4.5"
173
+ },
174
+ "python": "3.10.13",
175
+ "elapsed_seconds": 13.07038426399231
176
+ }
analysis/mb_floor_sensitivity/result_04.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 4,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.5529362581820605,
44
+ "expected_distinct_states": 15.096978659761653,
45
+ "expected_self_transitions": 0.6165138189916382,
46
+ "self_transition_fraction": 0.038532113686977384,
47
+ "expected_s1_state_observations": 0.6938552475249293,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 0.0
56
+ },
57
+ {
58
+ "s1_probability": 0.9962276948671395,
59
+ "expected_distinct_states": 11.34002279146719,
60
+ "expected_self_transitions": 1.518485787800281,
61
+ "self_transition_fraction": 0.09490536173751757,
62
+ "expected_s1_state_observations": 4.920757910254638,
63
+ "terminal_probability": 1.0000000000000002,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9921726986874595,
74
+ "expected_distinct_states": 11.455959087069008,
75
+ "expected_self_transitions": 1.4760596380344395,
76
+ "self_transition_fraction": 0.09225372737715247,
77
+ "expected_s1_state_observations": 4.283802798145508,
78
+ "terminal_probability": 1.0000000000000002,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.1519,
84
+ "fraction_corridor_states_below_floor": 0.043010752688172046,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.946675144782042,
89
+ "expected_distinct_states": 12.218260605057775,
90
+ "expected_self_transitions": 1.2002374039935013,
91
+ "self_transition_fraction": 0.07501483774959383,
92
+ "expected_s1_state_observations": 2.595595583070055,
93
+ "terminal_probability": 1.0,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.254,
99
+ "fraction_corridor_states_below_floor": 0.08602150537634409,
100
+ "independent_recursion_error": 0.0
101
+ },
102
+ {
103
+ "s1_probability": 0.8183163335930693,
104
+ "expected_distinct_states": 12.859082521969363,
105
+ "expected_self_transitions": 1.0121470034882263,
106
+ "self_transition_fraction": 0.06325918771801414,
107
+ "expected_s1_state_observations": 1.4608022924170065,
108
+ "terminal_probability": 1.0,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.3795,
114
+ "fraction_corridor_states_below_floor": 0.17204301075268819,
115
+ "independent_recursion_error": 1.1102230246251565e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.7688763668259164,
119
+ "expected_distinct_states": 13.114078672127016,
120
+ "expected_self_transitions": 0.9792047667707706,
121
+ "self_transition_fraction": 0.061200297923173164,
122
+ "expected_s1_state_observations": 1.2307998669706566,
123
+ "terminal_probability": 1.0000000000000002,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.4625,
129
+ "fraction_corridor_states_below_floor": 0.27956989247311825,
130
+ "independent_recursion_error": 1.1102230246251565e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 93,
136
+ "s1_states": 6,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 5.551115123125783e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 13.0308256149292
174
+ }
analysis/mb_floor_sensitivity/result_05.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 5,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.4475602830610881,
44
+ "expected_distinct_states": 15.094047987295635,
45
+ "expected_self_transitions": 0.6207786082633657,
46
+ "self_transition_fraction": 0.03879866301646036,
47
+ "expected_s1_state_observations": 0.5208747341411591,
48
+ "terminal_probability": 1.0000000000000002,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 1.1102230246251565e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9530796173580153,
59
+ "expected_distinct_states": 11.884313166919643,
60
+ "expected_self_transitions": 1.411491487518026,
61
+ "self_transition_fraction": 0.08821821796987663,
62
+ "expected_s1_state_observations": 3.014314188472334,
63
+ "terminal_probability": 1.0000000000000002,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9127507912936526,
74
+ "expected_distinct_states": 12.049203567603252,
75
+ "expected_self_transitions": 1.3080615820306891,
76
+ "self_transition_fraction": 0.08175384887691807,
77
+ "expected_s1_state_observations": 2.3538333584987883,
78
+ "terminal_probability": 0.9999999999999999,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.18513333333333334,
84
+ "fraction_corridor_states_below_floor": 0.05555555555555555,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.7411179555254174,
89
+ "expected_distinct_states": 12.60407489377736,
90
+ "expected_self_transitions": 1.0541361022213542,
91
+ "self_transition_fraction": 0.06588350638883464,
92
+ "expected_s1_state_observations": 1.2146468265537802,
93
+ "terminal_probability": 0.9999999999999999,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.30883333333333335,
99
+ "fraction_corridor_states_below_floor": 0.1111111111111111,
100
+ "independent_recursion_error": 1.1102230246251565e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.6804422405100263,
104
+ "expected_distinct_states": 12.681695688214198,
105
+ "expected_self_transitions": 1.0189917438498421,
106
+ "self_transition_fraction": 0.06368698399061513,
107
+ "expected_s1_state_observations": 1.008741924340221,
108
+ "terminal_probability": 0.9999999999999999,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.36233333333333334,
114
+ "fraction_corridor_states_below_floor": 0.2111111111111111,
115
+ "independent_recursion_error": 0.0
116
+ },
117
+ {
118
+ "s1_probability": 0.5838773589540722,
119
+ "expected_distinct_states": 13.628192477580198,
120
+ "expected_self_transitions": 0.8897060914934126,
121
+ "self_transition_fraction": 0.05560663071833829,
122
+ "expected_s1_state_observations": 0.7727162921515831,
123
+ "terminal_probability": 0.9999999999999999,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.5523333333333333,
129
+ "fraction_corridor_states_below_floor": 0.3333333333333333,
130
+ "independent_recursion_error": 4.440892098500626e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 90,
136
+ "s1_states": 4,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 4.440892098500626e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 13.582573652267456
174
+ }
analysis/mb_floor_sensitivity/result_06.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 6,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.4330891968703052,
44
+ "expected_distinct_states": 14.812621566148653,
45
+ "expected_self_transitions": 0.7115744248981953,
46
+ "self_transition_fraction": 0.04447340155613721,
47
+ "expected_s1_state_observations": 0.5060695633503917,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 1.1102230246251565e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9862046252727615,
59
+ "expected_distinct_states": 11.587086114432688,
60
+ "expected_self_transitions": 1.4214949908667145,
61
+ "self_transition_fraction": 0.08884343692916966,
62
+ "expected_s1_state_observations": 3.9865094885600447,
63
+ "terminal_probability": 0.9999999999999992,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9836480121489333,
74
+ "expected_distinct_states": 11.602393615840489,
75
+ "expected_self_transitions": 1.410855463597818,
76
+ "self_transition_fraction": 0.08817846647486363,
77
+ "expected_s1_state_observations": 3.8014144944916866,
78
+ "terminal_probability": 0.9999999999999999,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.11635000000000001,
84
+ "fraction_corridor_states_below_floor": 0.03409090909090909,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.9306993298623017,
89
+ "expected_distinct_states": 11.921810944168588,
90
+ "expected_self_transitions": 1.3139973024524192,
91
+ "self_transition_fraction": 0.0821248314032762,
92
+ "expected_s1_state_observations": 2.4684163841751254,
93
+ "terminal_probability": 1.0,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.20033333333333334,
99
+ "fraction_corridor_states_below_floor": 0.07954545454545454,
100
+ "independent_recursion_error": 1.1102230246251565e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.7754659268098913,
104
+ "expected_distinct_states": 12.624829062467224,
105
+ "expected_self_transitions": 1.0498558002845293,
106
+ "self_transition_fraction": 0.06561598751778308,
107
+ "expected_s1_state_observations": 1.362450444544891,
108
+ "terminal_probability": 1.0,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.32508333333333334,
114
+ "fraction_corridor_states_below_floor": 0.17045454545454544,
115
+ "independent_recursion_error": 0.0
116
+ },
117
+ {
118
+ "s1_probability": 0.695208874139938,
119
+ "expected_distinct_states": 12.679419500226675,
120
+ "expected_self_transitions": 1.0121127701508243,
121
+ "self_transition_fraction": 0.06325704813442652,
122
+ "expected_s1_state_observations": 1.0637699981720814,
123
+ "terminal_probability": 1.0000000000000002,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.411625,
129
+ "fraction_corridor_states_below_floor": 0.2727272727272727,
130
+ "independent_recursion_error": 0.0
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 88,
136
+ "s1_states": 6,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 3.3306690738754696e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 10.88566780090332
174
+ }
analysis/mb_floor_sensitivity/result_07.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 7,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.4884589808111566,
44
+ "expected_distinct_states": 14.994452299580114,
45
+ "expected_self_transitions": 0.6482842306768242,
46
+ "self_transition_fraction": 0.04051776441730151,
47
+ "expected_s1_state_observations": 0.5785314679769923,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 1.1102230246251565e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9970695060214769,
59
+ "expected_distinct_states": 11.119728321434357,
60
+ "expected_self_transitions": 1.6311413077969785,
61
+ "self_transition_fraction": 0.10194633173731116,
62
+ "expected_s1_state_observations": 5.117273761682558,
63
+ "terminal_probability": 1.0000000000000007,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9905373110999428,
74
+ "expected_distinct_states": 11.282207434922423,
75
+ "expected_self_transitions": 1.546376692189688,
76
+ "self_transition_fraction": 0.0966485432618555,
77
+ "expected_s1_state_observations": 4.127171135559552,
78
+ "terminal_probability": 1.0000000000000004,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.15273333333333336,
84
+ "fraction_corridor_states_below_floor": 0.056818181818181816,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.9071215542274581,
89
+ "expected_distinct_states": 11.996151855457436,
90
+ "expected_self_transitions": 1.2650281951517115,
91
+ "self_transition_fraction": 0.07906426219698197,
92
+ "expected_s1_state_observations": 2.053269132739316,
93
+ "terminal_probability": 1.0000000000000002,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.28370833333333334,
99
+ "fraction_corridor_states_below_floor": 0.09090909090909091,
100
+ "independent_recursion_error": 0.0
101
+ },
102
+ {
103
+ "s1_probability": 0.78024190725,
104
+ "expected_distinct_states": 12.635238791275325,
105
+ "expected_self_transitions": 1.0605083364204373,
106
+ "self_transition_fraction": 0.06628177102627733,
107
+ "expected_s1_state_observations": 1.2401950270444022,
108
+ "terminal_probability": 1.0000000000000002,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.3988333333333334,
114
+ "fraction_corridor_states_below_floor": 0.18181818181818182,
115
+ "independent_recursion_error": 0.0
116
+ },
117
+ {
118
+ "s1_probability": 0.7291624828547295,
119
+ "expected_distinct_states": 13.128647027607355,
120
+ "expected_self_transitions": 0.9858064336192434,
121
+ "self_transition_fraction": 0.06161290210120271,
122
+ "expected_s1_state_observations": 1.044385291903564,
123
+ "terminal_probability": 0.9999999999999999,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.4955,
129
+ "fraction_corridor_states_below_floor": 0.2840909090909091,
130
+ "independent_recursion_error": 2.220446049250313e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 88,
136
+ "s1_states": 5,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 4.440892098500626e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 12.590587377548218
174
+ }
analysis/mb_floor_sensitivity/result_08.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 8,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.5054293429258443,
44
+ "expected_distinct_states": 14.854209733539234,
45
+ "expected_self_transitions": 0.6975411031703469,
46
+ "self_transition_fraction": 0.04359631894814668,
47
+ "expected_s1_state_observations": 0.6073257775311078,
48
+ "terminal_probability": 0.9999999999999999,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 2.220446049250313e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9940177316962647,
59
+ "expected_distinct_states": 11.509475480412506,
60
+ "expected_self_transitions": 1.5475124157900457,
61
+ "self_transition_fraction": 0.09671952598687786,
62
+ "expected_s1_state_observations": 5.095286662920895,
63
+ "terminal_probability": 1.0000000000000004,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9830252052368973,
74
+ "expected_distinct_states": 11.721096187851614,
75
+ "expected_self_transitions": 1.4345296572099877,
76
+ "self_transition_fraction": 0.08965810357562423,
77
+ "expected_s1_state_observations": 4.017327042556997,
78
+ "terminal_probability": 1.0000000000000004,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.16044999999999998,
84
+ "fraction_corridor_states_below_floor": 0.056818181818181816,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.8854252755682153,
89
+ "expected_distinct_states": 12.099530695987792,
90
+ "expected_self_transitions": 1.2263908921328786,
91
+ "self_transition_fraction": 0.07664943075830491,
92
+ "expected_s1_state_observations": 2.0259081797573457,
93
+ "terminal_probability": 0.9999999999999997,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.26104166666666667,
99
+ "fraction_corridor_states_below_floor": 0.06818181818181818,
100
+ "independent_recursion_error": 0.0
101
+ },
102
+ {
103
+ "s1_probability": 0.761042673816384,
104
+ "expected_distinct_states": 12.270895988869396,
105
+ "expected_self_transitions": 1.0851524193189312,
106
+ "self_transition_fraction": 0.0678220262074332,
107
+ "expected_s1_state_observations": 1.283189944065588,
108
+ "terminal_probability": 1.0000000000000004,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.33991666666666664,
114
+ "fraction_corridor_states_below_floor": 0.17045454545454544,
115
+ "independent_recursion_error": 2.220446049250313e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.7115873574216767,
119
+ "expected_distinct_states": 12.66425418303297,
120
+ "expected_self_transitions": 1.0320268561339894,
121
+ "self_transition_fraction": 0.06450167850837434,
122
+ "expected_s1_state_observations": 1.1069094672502628,
123
+ "terminal_probability": 0.9999999999999999,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.476875,
129
+ "fraction_corridor_states_below_floor": 0.2840909090909091,
130
+ "independent_recursion_error": 0.0
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 88,
136
+ "s1_states": 5,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 3.3306690738754696e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 10.731775283813477
174
+ }
analysis/mb_floor_sensitivity/result_09.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 9,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.4321947930753325,
44
+ "expected_distinct_states": 14.959125837669543,
45
+ "expected_self_transitions": 0.6528087882950669,
46
+ "self_transition_fraction": 0.040800549268441684,
47
+ "expected_s1_state_observations": 0.5043806778973854,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 0.0
56
+ },
57
+ {
58
+ "s1_probability": 0.9922548889637395,
59
+ "expected_distinct_states": 11.158649449096961,
60
+ "expected_self_transitions": 1.7718351738964258,
61
+ "self_transition_fraction": 0.11073969836852661,
62
+ "expected_s1_state_observations": 4.681688268883696,
63
+ "terminal_probability": 0.9999999999999998,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9862652954199567,
74
+ "expected_distinct_states": 11.23542193589623,
75
+ "expected_self_transitions": 1.6771373550243227,
76
+ "self_transition_fraction": 0.10482108468902017,
77
+ "expected_s1_state_observations": 4.0906750835499555,
78
+ "terminal_probability": 0.9999999999999998,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.14635,
84
+ "fraction_corridor_states_below_floor": 0.04597701149425287,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.8542112181689199,
89
+ "expected_distinct_states": 11.811094967472858,
90
+ "expected_self_transitions": 1.3295836088353485,
91
+ "self_transition_fraction": 0.08309897555220928,
92
+ "expected_s1_state_observations": 1.7944217524464068,
93
+ "terminal_probability": 1.0,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.2720416666666667,
99
+ "fraction_corridor_states_below_floor": 0.06896551724137931,
100
+ "independent_recursion_error": 1.1102230246251565e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.7002573561629514,
104
+ "expected_distinct_states": 12.247741214714685,
105
+ "expected_self_transitions": 1.1058247327645034,
106
+ "self_transition_fraction": 0.06911404579778146,
107
+ "expected_s1_state_observations": 1.0830644694916232,
108
+ "terminal_probability": 1.0000000000000002,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.36916666666666664,
114
+ "fraction_corridor_states_below_floor": 0.16091954022988506,
115
+ "independent_recursion_error": 1.1102230246251565e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.6281463071310748,
119
+ "expected_distinct_states": 13.061567615927256,
120
+ "expected_self_transitions": 1.0008641881095364,
121
+ "self_transition_fraction": 0.06255401175684602,
122
+ "expected_s1_state_observations": 0.8914368368993364,
123
+ "terminal_probability": 1.0,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.5270416666666667,
129
+ "fraction_corridor_states_below_floor": 0.27586206896551724,
130
+ "independent_recursion_error": 2.220446049250313e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 87,
136
+ "s1_states": 5,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 4.440892098500626e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 12.145994663238525
174
+ }
analysis/mb_floor_sensitivity/result_10.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 10,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.6051181115385142,
44
+ "expected_distinct_states": 14.898790156219114,
45
+ "expected_self_transitions": 0.6895663770362908,
46
+ "self_transition_fraction": 0.04309789856476817,
47
+ "expected_s1_state_observations": 0.7978389368820248,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 0.0
56
+ },
57
+ {
58
+ "s1_probability": 0.9960723731249793,
59
+ "expected_distinct_states": 12.108313232484242,
60
+ "expected_self_transitions": 1.2484269792291747,
61
+ "self_transition_fraction": 0.07802668620182342,
62
+ "expected_s1_state_observations": 4.784325928801066,
63
+ "terminal_probability": 0.9999999999999999,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9886936975414197,
74
+ "expected_distinct_states": 12.345579862311531,
75
+ "expected_self_transitions": 1.2027634815656683,
76
+ "self_transition_fraction": 0.07517271759785427,
77
+ "expected_s1_state_observations": 3.8259931725796976,
78
+ "terminal_probability": 1.0000000000000002,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.15466666666666667,
84
+ "fraction_corridor_states_below_floor": 0.0449438202247191,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.9441917969436444,
89
+ "expected_distinct_states": 12.687284115336098,
90
+ "expected_self_transitions": 1.063120271254222,
91
+ "self_transition_fraction": 0.06644501695338888,
92
+ "expected_s1_state_observations": 2.2645034779545337,
93
+ "terminal_probability": 0.9999999999999998,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.2615,
99
+ "fraction_corridor_states_below_floor": 0.0898876404494382,
100
+ "independent_recursion_error": 0.0
101
+ },
102
+ {
103
+ "s1_probability": 0.9067334886564498,
104
+ "expected_distinct_states": 12.81703412684616,
105
+ "expected_self_transitions": 1.0081206556493085,
106
+ "self_transition_fraction": 0.06300754097808178,
107
+ "expected_s1_state_observations": 1.8045492433168,
108
+ "terminal_probability": 0.9999999999999999,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.31466666666666665,
114
+ "fraction_corridor_states_below_floor": 0.16853932584269662,
115
+ "independent_recursion_error": 0.0
116
+ },
117
+ {
118
+ "s1_probability": 0.8779686750518605,
119
+ "expected_distinct_states": 12.991303042068983,
120
+ "expected_self_transitions": 0.9682211305877053,
121
+ "self_transition_fraction": 0.06051382066173158,
122
+ "expected_s1_state_observations": 1.5892576833755752,
123
+ "terminal_probability": 0.9999999999999999,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.37566666666666665,
129
+ "fraction_corridor_states_below_floor": 0.2696629213483146,
130
+ "independent_recursion_error": 0.0
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 89,
136
+ "s1_states": 6,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 3.3306690738754696e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 10.604124784469604
174
+ }
analysis/mb_floor_sensitivity/result_11.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 11,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.5227648276466925,
44
+ "expected_distinct_states": 14.952478476397784,
45
+ "expected_self_transitions": 0.6698842167729214,
46
+ "self_transition_fraction": 0.04186776354830759,
47
+ "expected_s1_state_observations": 0.6485438186452674,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 0.0
56
+ },
57
+ {
58
+ "s1_probability": 0.9764343521424959,
59
+ "expected_distinct_states": 11.840554429710174,
60
+ "expected_self_transitions": 1.4049643499017979,
61
+ "self_transition_fraction": 0.08781027186886237,
62
+ "expected_s1_state_observations": 3.6834512261704884,
63
+ "terminal_probability": 1.0000000000000002,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9654393738446215,
74
+ "expected_distinct_states": 11.98816705508663,
75
+ "expected_self_transitions": 1.340488749764659,
76
+ "self_transition_fraction": 0.08378054686029118,
77
+ "expected_s1_state_observations": 3.3155282335956326,
78
+ "terminal_probability": 1.0000000000000002,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.13820000000000002,
84
+ "fraction_corridor_states_below_floor": 0.05555555555555555,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.9000840431726618,
89
+ "expected_distinct_states": 12.379209353329747,
90
+ "expected_self_transitions": 1.1727567904554896,
91
+ "self_transition_fraction": 0.0732972994034681,
92
+ "expected_s1_state_observations": 2.1995035743632476,
93
+ "terminal_probability": 0.9999999999999998,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.22129166666666666,
99
+ "fraction_corridor_states_below_floor": 0.1111111111111111,
100
+ "independent_recursion_error": 1.1102230246251565e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.7637631333045501,
104
+ "expected_distinct_states": 12.741223593205294,
105
+ "expected_self_transitions": 1.0348147023423626,
106
+ "self_transition_fraction": 0.06467591889639766,
107
+ "expected_s1_state_observations": 1.3413614896784345,
108
+ "terminal_probability": 1.0000000000000002,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.34441666666666665,
114
+ "fraction_corridor_states_below_floor": 0.2111111111111111,
115
+ "independent_recursion_error": 1.1102230246251565e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.6825699061407696,
119
+ "expected_distinct_states": 13.06836698527062,
120
+ "expected_self_transitions": 0.9818561100047247,
121
+ "self_transition_fraction": 0.061366006875295295,
122
+ "expected_s1_state_observations": 1.0506181378973352,
123
+ "terminal_probability": 0.9999999999999997,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.49687499999999996,
129
+ "fraction_corridor_states_below_floor": 0.32222222222222224,
130
+ "independent_recursion_error": 2.220446049250313e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 90,
136
+ "s1_states": 5,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 5.551115123125783e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 12.264551877975464
174
+ }
analysis/mb_floor_sensitivity/result_12.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 12,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.43150466464742265,
44
+ "expected_distinct_states": 14.958334976066823,
45
+ "expected_self_transitions": 0.646413093784507,
46
+ "self_transition_fraction": 0.040400818361531685,
47
+ "expected_s1_state_observations": 0.49979048531686193,
48
+ "terminal_probability": 1.0000000000000002,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 0.0
56
+ },
57
+ {
58
+ "s1_probability": 0.988923030398696,
59
+ "expected_distinct_states": 11.688235191755401,
60
+ "expected_self_transitions": 1.4661954290112311,
61
+ "self_transition_fraction": 0.09163721431320195,
62
+ "expected_s1_state_observations": 4.050480062642302,
63
+ "terminal_probability": 1.0000000000000002,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9855422938397457,
74
+ "expected_distinct_states": 11.713517855443706,
75
+ "expected_self_transitions": 1.4352571804827687,
76
+ "self_transition_fraction": 0.08970357378017305,
77
+ "expected_s1_state_observations": 3.79892881277627,
78
+ "terminal_probability": 1.0000000000000004,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.12803333333333333,
84
+ "fraction_corridor_states_below_floor": 0.034482758620689655,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.8476239480490195,
89
+ "expected_distinct_states": 12.426199837847292,
90
+ "expected_self_transitions": 1.0800756165620315,
91
+ "self_transition_fraction": 0.06750472603512697,
92
+ "expected_s1_state_observations": 1.6311665058150513,
93
+ "terminal_probability": 0.9999999999999998,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.26275,
99
+ "fraction_corridor_states_below_floor": 0.09195402298850575,
100
+ "independent_recursion_error": 2.220446049250313e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.7544350487486045,
104
+ "expected_distinct_states": 12.511998253499439,
105
+ "expected_self_transitions": 1.0285811310685948,
106
+ "self_transition_fraction": 0.06428632069178718,
107
+ "expected_s1_state_observations": 1.207751153064137,
108
+ "terminal_probability": 0.9999999999999999,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.3285,
114
+ "fraction_corridor_states_below_floor": 0.1839080459770115,
115
+ "independent_recursion_error": 2.220446049250313e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.6601035016617813,
119
+ "expected_distinct_states": 13.21859773674616,
120
+ "expected_self_transitions": 0.9393830882581088,
121
+ "self_transition_fraction": 0.0587114430161318,
122
+ "expected_s1_state_observations": 0.9361200763687552,
123
+ "terminal_probability": 1.0,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.5500833333333333,
129
+ "fraction_corridor_states_below_floor": 0.3103448275862069,
130
+ "independent_recursion_error": 3.3306690738754696e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 87,
136
+ "s1_states": 7,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 5.551115123125783e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 12.063010215759277
174
+ }
analysis/mb_floor_sensitivity/result_13.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 13,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.5644169520367373,
44
+ "expected_distinct_states": 14.907966245921752,
45
+ "expected_self_transitions": 0.6821570141263407,
46
+ "self_transition_fraction": 0.04263481338289629,
47
+ "expected_s1_state_observations": 0.7030244957756517,
48
+ "terminal_probability": 0.9999999999999999,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 1.1102230246251565e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9995822259964128,
59
+ "expected_distinct_states": 11.028821590700947,
60
+ "expected_self_transitions": 1.620670447864448,
61
+ "self_transition_fraction": 0.101291902991528,
62
+ "expected_s1_state_observations": 6.3844195580942165,
63
+ "terminal_probability": 1.0000000000000004,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9982600785956507,
74
+ "expected_distinct_states": 11.266864578810566,
75
+ "expected_self_transitions": 1.5829988979751701,
76
+ "self_transition_fraction": 0.09893743112344813,
77
+ "expected_s1_state_observations": 5.277765857814593,
78
+ "terminal_probability": 0.9999999999999999,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.1595666666666667,
84
+ "fraction_corridor_states_below_floor": 0.05813953488372093,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.9759464362308001,
89
+ "expected_distinct_states": 11.872651211875759,
90
+ "expected_self_transitions": 1.4015521068986858,
91
+ "self_transition_fraction": 0.08759700668116786,
92
+ "expected_s1_state_observations": 3.089001381621692,
93
+ "terminal_probability": 1.0,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.26416666666666666,
99
+ "fraction_corridor_states_below_floor": 0.10465116279069768,
100
+ "independent_recursion_error": 0.0
101
+ },
102
+ {
103
+ "s1_probability": 0.8314949774975573,
104
+ "expected_distinct_states": 12.749958528241645,
105
+ "expected_self_transitions": 1.0784138744273526,
106
+ "self_transition_fraction": 0.06740086715170954,
107
+ "expected_s1_state_observations": 1.4307226559464783,
108
+ "terminal_probability": 1.0,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.41883333333333334,
114
+ "fraction_corridor_states_below_floor": 0.19767441860465115,
115
+ "independent_recursion_error": 2.220446049250313e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.7880574122487745,
119
+ "expected_distinct_states": 13.095931046640345,
120
+ "expected_self_transitions": 1.0176976594917684,
121
+ "self_transition_fraction": 0.06360610371823552,
122
+ "expected_s1_state_observations": 1.2267282859841262,
123
+ "terminal_probability": 0.9999999999999997,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.49483333333333335,
129
+ "fraction_corridor_states_below_floor": 0.313953488372093,
130
+ "independent_recursion_error": 2.220446049250313e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 86,
136
+ "s1_states": 6,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 7.771561172376096e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 10.978748798370361
174
+ }
analysis/mb_floor_sensitivity/result_14.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 14,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.45817858397768185,
44
+ "expected_distinct_states": 15.013769341014864,
45
+ "expected_self_transitions": 0.6450019739490105,
46
+ "self_transition_fraction": 0.040312623371813155,
47
+ "expected_s1_state_observations": 0.5366109157711714,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 2.220446049250313e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9696157237057008,
59
+ "expected_distinct_states": 11.698324699493291,
60
+ "expected_self_transitions": 1.4327847953261001,
61
+ "self_transition_fraction": 0.08954904970788126,
62
+ "expected_s1_state_observations": 3.2328725221772694,
63
+ "terminal_probability": 1.0000000000000002,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9504459941648574,
74
+ "expected_distinct_states": 11.730085388967026,
75
+ "expected_self_transitions": 1.3837907183634548,
76
+ "self_transition_fraction": 0.08648691989771592,
77
+ "expected_s1_state_observations": 2.7702876080665657,
78
+ "terminal_probability": 1.0,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.17400000000000002,
84
+ "fraction_corridor_states_below_floor": 0.045454545454545456,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.8550732563525272,
89
+ "expected_distinct_states": 11.849763126034592,
90
+ "expected_self_transitions": 1.2824634098773733,
91
+ "self_transition_fraction": 0.08015396311733583,
92
+ "expected_s1_state_observations": 1.7557732258712033,
93
+ "terminal_probability": 0.9999999999999997,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.24566666666666667,
99
+ "fraction_corridor_states_below_floor": 0.07954545454545454,
100
+ "independent_recursion_error": 0.0
101
+ },
102
+ {
103
+ "s1_probability": 0.6970726461583261,
104
+ "expected_distinct_states": 12.781191300620106,
105
+ "expected_self_transitions": 1.0273923036735624,
106
+ "self_transition_fraction": 0.06421201897959765,
107
+ "expected_s1_state_observations": 1.0613050980570757,
108
+ "terminal_probability": 1.0000000000000002,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.38116666666666665,
114
+ "fraction_corridor_states_below_floor": 0.19318181818181818,
115
+ "independent_recursion_error": 2.220446049250313e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.6279562111989816,
119
+ "expected_distinct_states": 13.45153592577016,
120
+ "expected_self_transitions": 0.9476847582789945,
121
+ "self_transition_fraction": 0.05923029739243715,
122
+ "expected_s1_state_observations": 0.8730248746739183,
123
+ "terminal_probability": 1.0,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.49783333333333335,
129
+ "fraction_corridor_states_below_floor": 0.32954545454545453,
130
+ "independent_recursion_error": 1.1102230246251565e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 88,
136
+ "s1_states": 5,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 3.3306690738754696e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 11.968786478042603
174
+ }
analysis/mb_floor_sensitivity/result_15.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 15,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.5853865507163494,
44
+ "expected_distinct_states": 15.035766065692105,
45
+ "expected_self_transitions": 0.6366963051976371,
46
+ "self_transition_fraction": 0.03979351907485232,
47
+ "expected_s1_state_observations": 0.7644231778054192,
48
+ "terminal_probability": 1.0000000000000002,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 2.220446049250313e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.989443457761515,
59
+ "expected_distinct_states": 12.042604625242614,
60
+ "expected_self_transitions": 1.4167824752841478,
61
+ "self_transition_fraction": 0.08854890470525924,
62
+ "expected_s1_state_observations": 4.356122662242784,
63
+ "terminal_probability": 1.0,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9759379667573901,
74
+ "expected_distinct_states": 12.261838416733776,
75
+ "expected_self_transitions": 1.3125205161728628,
76
+ "self_transition_fraction": 0.08203253226080393,
77
+ "expected_s1_state_observations": 3.541394526083165,
78
+ "terminal_probability": 1.0000000000000002,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.16111666666666669,
84
+ "fraction_corridor_states_below_floor": 0.05434782608695652,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.8932853974358681,
89
+ "expected_distinct_states": 12.820922793413317,
90
+ "expected_self_transitions": 1.0515828741564877,
91
+ "self_transition_fraction": 0.06572392963478048,
92
+ "expected_s1_state_observations": 1.969194834993593,
93
+ "terminal_probability": 0.9999999999999997,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.26491666666666663,
99
+ "fraction_corridor_states_below_floor": 0.10869565217391304,
100
+ "independent_recursion_error": 1.1102230246251565e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.832556953327635,
104
+ "expected_distinct_states": 12.83180481468052,
105
+ "expected_self_transitions": 0.9955184938708881,
106
+ "self_transition_fraction": 0.062219905866930506,
107
+ "expected_s1_state_observations": 1.5327626604734748,
108
+ "terminal_probability": 1.0000000000000002,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.32399999999999995,
114
+ "fraction_corridor_states_below_floor": 0.20652173913043478,
115
+ "independent_recursion_error": 2.220446049250313e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.7885261940702322,
119
+ "expected_distinct_states": 13.008696207651493,
120
+ "expected_self_transitions": 0.965879401768791,
121
+ "self_transition_fraction": 0.060367462610549434,
122
+ "expected_s1_state_observations": 1.3145724952877371,
123
+ "terminal_probability": 0.9999999999999999,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.43825000000000003,
129
+ "fraction_corridor_states_below_floor": 0.29347826086956524,
130
+ "independent_recursion_error": 2.220446049250313e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 92,
136
+ "s1_states": 6,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 5.551115123125783e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 11.918363809585571
174
+ }
analysis/mb_floor_sensitivity/result_16.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 16,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.4837880922813723,
44
+ "expected_distinct_states": 15.042876505280352,
45
+ "expected_self_transitions": 0.6341114606979306,
46
+ "self_transition_fraction": 0.03963196629362066,
47
+ "expected_s1_state_observations": 0.5775827916257097,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 2.220446049250313e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9917865141498091,
59
+ "expected_distinct_states": 11.845921704214799,
60
+ "expected_self_transitions": 1.280111885500374,
61
+ "self_transition_fraction": 0.08000699284377337,
62
+ "expected_s1_state_observations": 4.454788340196466,
63
+ "terminal_probability": 1.0000000000000004,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9796062551512817,
74
+ "expected_distinct_states": 11.972994713920363,
75
+ "expected_self_transitions": 1.2552591091124683,
76
+ "self_transition_fraction": 0.07845369431952927,
77
+ "expected_s1_state_observations": 3.6295932982820784,
78
+ "terminal_probability": 0.9999999999999999,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.14175,
84
+ "fraction_corridor_states_below_floor": 0.05555555555555555,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.9089795841296135,
89
+ "expected_distinct_states": 12.338684626584055,
90
+ "expected_self_transitions": 1.115876816720724,
91
+ "self_transition_fraction": 0.06974230104504525,
92
+ "expected_s1_state_observations": 2.1914936962783855,
93
+ "terminal_probability": 1.0000000000000002,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.230125,
99
+ "fraction_corridor_states_below_floor": 0.1,
100
+ "independent_recursion_error": 0.0
101
+ },
102
+ {
103
+ "s1_probability": 0.750461636250534,
104
+ "expected_distinct_states": 12.998491601091787,
105
+ "expected_self_transitions": 0.9397360252722106,
106
+ "self_transition_fraction": 0.05873350157951316,
107
+ "expected_s1_state_observations": 1.2131966351385546,
108
+ "terminal_probability": 1.0000000000000002,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.357,
114
+ "fraction_corridor_states_below_floor": 0.18888888888888888,
115
+ "independent_recursion_error": 1.1102230246251565e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.7251508494551543,
119
+ "expected_distinct_states": 13.036352824416662,
120
+ "expected_self_transitions": 0.9406048818053995,
121
+ "self_transition_fraction": 0.05878780511283747,
122
+ "expected_s1_state_observations": 1.1197531901503124,
123
+ "terminal_probability": 1.0,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.39245833333333335,
129
+ "fraction_corridor_states_below_floor": 0.3,
130
+ "independent_recursion_error": 0.0
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 90,
136
+ "s1_states": 6,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 4.440892098500626e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 10.63613247871399
174
+ }
analysis/mb_floor_sensitivity/result_17.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 17,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.506739254130001,
44
+ "expected_distinct_states": 14.803467535092778,
45
+ "expected_self_transitions": 0.7189674227192553,
46
+ "self_transition_fraction": 0.044935463919953456,
47
+ "expected_s1_state_observations": 0.6154647589491531,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 1.1102230246251565e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9664202615157165,
59
+ "expected_distinct_states": 12.02215316179213,
60
+ "expected_self_transitions": 1.339269336429185,
61
+ "self_transition_fraction": 0.08370433352682406,
62
+ "expected_s1_state_observations": 3.11550809490882,
63
+ "terminal_probability": 1.0000000000000002,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9404164221867446,
74
+ "expected_distinct_states": 12.118348013862942,
75
+ "expected_self_transitions": 1.2742328206125921,
76
+ "self_transition_fraction": 0.07963955128828701,
77
+ "expected_s1_state_observations": 2.5356605932571266,
78
+ "terminal_probability": 0.9999999999999996,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.18708333333333332,
84
+ "fraction_corridor_states_below_floor": 0.047058823529411764,
85
+ "independent_recursion_error": 1.1102230246251565e-16
86
+ },
87
+ {
88
+ "s1_probability": 0.7988441067613953,
89
+ "expected_distinct_states": 12.345487304715524,
90
+ "expected_self_transitions": 1.0931751257950446,
91
+ "self_transition_fraction": 0.06832344536219029,
92
+ "expected_s1_state_observations": 1.380012686167018,
93
+ "terminal_probability": 1.0000000000000002,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.29191666666666666,
99
+ "fraction_corridor_states_below_floor": 0.10588235294117647,
100
+ "independent_recursion_error": 2.220446049250313e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.7727105408685718,
104
+ "expected_distinct_states": 12.450340568775854,
105
+ "expected_self_transitions": 1.058037068630455,
106
+ "self_transition_fraction": 0.06612731678940344,
107
+ "expected_s1_state_observations": 1.2707168266977908,
108
+ "terminal_probability": 0.9999999999999998,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.3154166666666667,
114
+ "fraction_corridor_states_below_floor": 0.18823529411764706,
115
+ "independent_recursion_error": 0.0
116
+ },
117
+ {
118
+ "s1_probability": 0.726303143742091,
119
+ "expected_distinct_states": 12.727484622353309,
120
+ "expected_self_transitions": 1.0044951140423584,
121
+ "self_transition_fraction": 0.0627809446276474,
122
+ "expected_s1_state_observations": 1.1208166008893121,
123
+ "terminal_probability": 1.0000000000000002,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.40325,
129
+ "fraction_corridor_states_below_floor": 0.2823529411764706,
130
+ "independent_recursion_error": 2.220446049250313e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 85,
136
+ "s1_states": 4,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 4.440892098500626e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 11.92125654220581
174
+ }
analysis/mb_floor_sensitivity/result_18.json ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 18,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.46599293713852674,
44
+ "expected_distinct_states": 14.81881748965592,
45
+ "expected_self_transitions": 0.7261562803021575,
46
+ "self_transition_fraction": 0.045384767518884844,
47
+ "expected_s1_state_observations": 0.5499415632673067,
48
+ "terminal_probability": 1.0000000000000002,
49
+ "max_outside_corridor_probability": 0.16666666666666666,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 1.1102230246251565e-16
56
+ },
57
+ {
58
+ "s1_probability": 0.9716797561020993,
59
+ "expected_distinct_states": 11.345619862067814,
60
+ "expected_self_transitions": 1.6230656449742473,
61
+ "self_transition_fraction": 0.10144160281089046,
62
+ "expected_s1_state_observations": 3.440952451261235,
63
+ "terminal_probability": 1.0000000000000002,
64
+ "max_outside_corridor_probability": 0.16666666666666666,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 1.1102230246251565e-16
71
+ },
72
+ {
73
+ "s1_probability": 0.9676600844143882,
74
+ "expected_distinct_states": 11.341798298267861,
75
+ "expected_self_transitions": 1.6109208351440203,
76
+ "self_transition_fraction": 0.10068255219650127,
77
+ "expected_s1_state_observations": 3.2959845573650792,
78
+ "terminal_probability": 1.0,
79
+ "max_outside_corridor_probability": 0.16666666666666666,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.16426666666666667,
84
+ "fraction_corridor_states_below_floor": 0.03409090909090909,
85
+ "independent_recursion_error": 1.1102230246251565e-16
86
+ },
87
+ {
88
+ "s1_probability": 0.9167709099313877,
89
+ "expected_distinct_states": 11.431522120805528,
90
+ "expected_self_transitions": 1.5187491425301674,
91
+ "self_transition_fraction": 0.09492182140813546,
92
+ "expected_s1_state_observations": 2.3683237529140384,
93
+ "terminal_probability": 1.0000000000000002,
94
+ "max_outside_corridor_probability": 0.16666666666666666,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.21945833333333334,
99
+ "fraction_corridor_states_below_floor": 0.06818181818181818,
100
+ "independent_recursion_error": 1.1102230246251565e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.7979787092834122,
104
+ "expected_distinct_states": 12.0758916497212,
105
+ "expected_self_transitions": 1.2619461483905667,
106
+ "self_transition_fraction": 0.07887163427441042,
107
+ "expected_s1_state_observations": 1.5012528726304077,
108
+ "terminal_probability": 1.0,
109
+ "max_outside_corridor_probability": 0.16666666666666666,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.32025000000000003,
114
+ "fraction_corridor_states_below_floor": 0.13636363636363635,
115
+ "independent_recursion_error": 0.0
116
+ },
117
+ {
118
+ "s1_probability": 0.6911013312412888,
119
+ "expected_distinct_states": 12.577765689529569,
120
+ "expected_self_transitions": 1.1156690158244678,
121
+ "self_transition_fraction": 0.06972931348902923,
122
+ "expected_s1_state_observations": 1.0913266157219796,
123
+ "terminal_probability": 0.9999999999999998,
124
+ "max_outside_corridor_probability": 0.16666666666666666,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.4329166666666666,
129
+ "fraction_corridor_states_below_floor": 0.2159090909090909,
130
+ "independent_recursion_error": 3.3306690738754696e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 88,
136
+ "s1_states": 4,
137
+ "source_states_outside_arrival_mask": [
138
+ 42
139
+ ],
140
+ "target_states_outside_arrival_mask": [],
141
+ "reference_committor_agreement": 3.3306690738754696e-16,
142
+ "seed0_saved_figure_check": null,
143
+ "validation": {
144
+ "exhaustive_reference_check": true,
145
+ "outside_mask_start_check": true,
146
+ "max_absolute_error": 4.440892098500626e-16
147
+ },
148
+ "source_sha256": {
149
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
150
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
151
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
152
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
153
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
154
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
155
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
156
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
157
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
158
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
159
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
160
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
161
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
162
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
163
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
164
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
165
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
166
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
167
+ },
168
+ "versions": {
169
+ "numpy": "2.2.6",
170
+ "scipy": "1.14.1",
171
+ "scikit-learn": "1.7.1",
172
+ "deeptime": "0.4.5"
173
+ },
174
+ "python": "3.10.13",
175
+ "elapsed_seconds": 11.052842855453491
176
+ }
analysis/mb_floor_sensitivity/result_19.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "seed": 19,
3
+ "settings": {
4
+ "cluster_seeds": [
5
+ 0,
6
+ 1,
7
+ 2,
8
+ 3,
9
+ 4,
10
+ 5,
11
+ 6,
12
+ 7,
13
+ 8,
14
+ 9,
15
+ 10,
16
+ 11,
17
+ 12,
18
+ 13,
19
+ 14,
20
+ 15,
21
+ 16,
22
+ 17,
23
+ 18,
24
+ 19
25
+ ],
26
+ "k": 100,
27
+ "tica_lag": 20,
28
+ "msm_lag": 5,
29
+ "horizon": 16,
30
+ "alpha_per_transition": 7.5,
31
+ "floor_percentiles": [
32
+ 10,
33
+ 25,
34
+ 50,
35
+ 75
36
+ ],
37
+ "no_floor_control": true,
38
+ "start_law": "uniform on the original source set; fixed-start mixture",
39
+ "s1_radius": 0.25
40
+ },
41
+ "records": [
42
+ {
43
+ "s1_probability": 0.5911223376745427,
44
+ "expected_distinct_states": 15.037682806054997,
45
+ "expected_self_transitions": 0.6173704673959552,
46
+ "self_transition_fraction": 0.0385856542122472,
47
+ "expected_s1_state_observations": 0.7563655871719949,
48
+ "terminal_probability": 1.0,
49
+ "max_outside_corridor_probability": 0.0,
50
+ "max_outside_arrival_mask_probability": 0.0,
51
+ "condition": "doob",
52
+ "floor_percentile": null,
53
+ "density_floor": null,
54
+ "fraction_corridor_states_below_floor": null,
55
+ "independent_recursion_error": 0.0
56
+ },
57
+ {
58
+ "s1_probability": 0.9940628269348554,
59
+ "expected_distinct_states": 11.92295814454286,
60
+ "expected_self_transitions": 1.2530964816499932,
61
+ "self_transition_fraction": 0.07831853010312458,
62
+ "expected_s1_state_observations": 4.4945914608736635,
63
+ "terminal_probability": 0.9999999999999997,
64
+ "max_outside_corridor_probability": 0.0,
65
+ "max_outside_arrival_mask_probability": 0.0,
66
+ "condition": "none",
67
+ "floor_percentile": 0,
68
+ "density_floor": 0.0,
69
+ "fraction_corridor_states_below_floor": 0.0,
70
+ "independent_recursion_error": 0.0
71
+ },
72
+ {
73
+ "s1_probability": 0.9851874451785548,
74
+ "expected_distinct_states": 12.117485369184298,
75
+ "expected_self_transitions": 1.1871902273862402,
76
+ "self_transition_fraction": 0.07419938921164002,
77
+ "expected_s1_state_observations": 3.7013947994795875,
78
+ "terminal_probability": 0.9999999999999999,
79
+ "max_outside_corridor_probability": 0.0,
80
+ "max_outside_arrival_mask_probability": 0.0,
81
+ "condition": "p10",
82
+ "floor_percentile": 10,
83
+ "density_floor": 0.16283333333333333,
84
+ "fraction_corridor_states_below_floor": 0.056179775280898875,
85
+ "independent_recursion_error": 0.0
86
+ },
87
+ {
88
+ "s1_probability": 0.924501258010828,
89
+ "expected_distinct_states": 12.43542465705962,
90
+ "expected_self_transitions": 1.052367675030286,
91
+ "self_transition_fraction": 0.06577297968939287,
92
+ "expected_s1_state_observations": 2.1850920352979477,
93
+ "terminal_probability": 0.9999999999999998,
94
+ "max_outside_corridor_probability": 0.0,
95
+ "max_outside_arrival_mask_probability": 0.0,
96
+ "condition": "p25",
97
+ "floor_percentile": 25,
98
+ "density_floor": 0.25966666666666666,
99
+ "fraction_corridor_states_below_floor": 0.10112359550561797,
100
+ "independent_recursion_error": 1.1102230246251565e-16
101
+ },
102
+ {
103
+ "s1_probability": 0.8591177847987432,
104
+ "expected_distinct_states": 12.744674789431965,
105
+ "expected_self_transitions": 0.955353538458335,
106
+ "self_transition_fraction": 0.05970959615364594,
107
+ "expected_s1_state_observations": 1.6170819071311933,
108
+ "terminal_probability": 0.9999999999999999,
109
+ "max_outside_corridor_probability": 0.0,
110
+ "max_outside_arrival_mask_probability": 0.0,
111
+ "condition": "p50",
112
+ "floor_percentile": 50,
113
+ "density_floor": 0.33216666666666667,
114
+ "fraction_corridor_states_below_floor": 0.19101123595505617,
115
+ "independent_recursion_error": 1.1102230246251565e-16
116
+ },
117
+ {
118
+ "s1_probability": 0.8012584473980241,
119
+ "expected_distinct_states": 13.374537050824975,
120
+ "expected_self_transitions": 0.8727450747307617,
121
+ "self_transition_fraction": 0.054546567170672605,
122
+ "expected_s1_state_observations": 1.3430220419973777,
123
+ "terminal_probability": 1.0,
124
+ "max_outside_corridor_probability": 0.0,
125
+ "max_outside_arrival_mask_probability": 0.0,
126
+ "condition": "p75",
127
+ "floor_percentile": 75,
128
+ "density_floor": 0.46108333333333335,
129
+ "fraction_corridor_states_below_floor": 0.29213483146067415,
130
+ "independent_recursion_error": 1.1102230246251565e-16
131
+ }
132
+ ],
133
+ "n_frames": 600000,
134
+ "n_active": 100,
135
+ "corridor_states": 89,
136
+ "s1_states": 5,
137
+ "source_states_outside_arrival_mask": [],
138
+ "target_states_outside_arrival_mask": [],
139
+ "reference_committor_agreement": 4.440892098500626e-16,
140
+ "seed0_saved_figure_check": null,
141
+ "validation": {
142
+ "exhaustive_reference_check": true,
143
+ "outside_mask_start_check": true,
144
+ "max_absolute_error": 4.440892098500626e-16
145
+ },
146
+ "source_sha256": {
147
+ "scoobdoob/data/mb_reactive/traj_0000.npy": "ee49c4657f8376a0f9e698ccc96b927b9064673b78b0dc5c19da3bda076352ef",
148
+ "scoobdoob/data/mb_reactive/traj_0001.npy": "8b6a8c0dc7fde5112bac0a1a0c434f5f9a4f76a8c8720479ea7be7ccc32bfa96",
149
+ "scoobdoob/data/mb_reactive/traj_0002.npy": "d9f3910f90c26aa2f6d270c380fdcc283d40158dc8404790331fe44d4f2c1ecd",
150
+ "scoobdoob/data/mb_reactive/traj_0003.npy": "cedc2002714c3c1ddf065bf0ffe4656a1c050a782bc15ba947e4f6a26f56db75",
151
+ "scoobdoob/data/mb_reactive/traj_0004.npy": "65ba296704f373945bc419c2d3ce95301ab80f8ce10557091002d08498427db0",
152
+ "scoobdoob/data/mb_reactive/traj_0005.npy": "8cc509bf5cc7adc6939944746d348fae33f7e0e9d1b1262ebdfcc9843617dae0",
153
+ "scoobdoob/data/mb_reactive/traj_0006.npy": "a29b36328cea4d000de430c8850508a39d1173803d6b8675f891a8b836b75f26",
154
+ "scoobdoob/data/mb_reactive/traj_0007.npy": "e9c622ab1d3a063427b61de9fe1f2fa357b7cd8385c7f5f86a8ba05b0da558e0",
155
+ "scoobdoob/data/mb_reactive/traj_0008.npy": "b99413fe7e82bd8669157f481581e252e00cf153e413c9b57f01f29407c36f00",
156
+ "scoobdoob/data/mb_reactive/traj_0009.npy": "16cef629e75952c3373ab36f373b9fb2ca4ea8a4b2f6a9be8ef247fdd5d38ab6",
157
+ "scoobdoob/data/mb_reactive/traj_0010.npy": "fed8575c02336dd57329c03d4cb0468f0093264bacd02fb0f5d17f469571379e",
158
+ "scoobdoob/data/mb_reactive/traj_0011.npy": "14f715121e55f495f37737d9ed9fbe5cf50a392d74638fd427620f181eb758aa",
159
+ "make_mb_panels.py": "0b8783b39d8272e6f119efb6c52efc212c936243bd3289ada6f08038832ed5c5",
160
+ "mb_stats.py": "80bdb3ce8b9a197c6a7fa1e1339e934fd7e4e98163cf91e5a519099a7ae624cb",
161
+ "scoobdoob/validation/msm_build.py": "0e1c90780e3e75eabf31b055e3c028e207d71573be9db1bc8f0c6a7f26086a9a",
162
+ "scoobdoob/_conditioning.py": "e37a49f9c22c83a3addf90bdfd0d21a4c22336fad43abbf33d18e9f5a87c7447",
163
+ "validate_mb.py": "4d12ae76a860d84ed4897f1fd25441226062deea1756be48065ecfc827735b5d",
164
+ "analysis/mb_floor_sensitivity_20261012/analyze.py": "85187c709e5d07f0ca3f18c58eac18987b1e3e13955f33e71740427a3ce6757b"
165
+ },
166
+ "versions": {
167
+ "numpy": "2.2.6",
168
+ "scipy": "1.14.1",
169
+ "scikit-learn": "1.7.1",
170
+ "deeptime": "0.4.5"
171
+ },
172
+ "python": "3.10.13",
173
+ "elapsed_seconds": 27.396819591522217
174
+ }
analysis/mb_floor_sensitivity/summary.json ADDED
@@ -0,0 +1,174 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "settings": {
3
+ "cluster_seeds": [
4
+ 0,
5
+ 1,
6
+ 2,
7
+ 3,
8
+ 4,
9
+ 5,
10
+ 6,
11
+ 7,
12
+ 8,
13
+ 9,
14
+ 10,
15
+ 11,
16
+ 12,
17
+ 13,
18
+ 14,
19
+ 15,
20
+ 16,
21
+ 17,
22
+ 18,
23
+ 19
24
+ ],
25
+ "k": 100,
26
+ "tica_lag": 20,
27
+ "msm_lag": 5,
28
+ "horizon": 16,
29
+ "alpha_per_transition": 7.5,
30
+ "floor_percentiles": [
31
+ 10,
32
+ 25,
33
+ 50,
34
+ 75
35
+ ],
36
+ "no_floor_control": true,
37
+ "start_law": "uniform on the original source set; fixed-start mixture",
38
+ "s1_radius": 0.25
39
+ },
40
+ "conditions": {
41
+ "doob": {
42
+ "s1_mean_pct": 49.5971693622122,
43
+ "s1_sd_pct": 5.654118830936145,
44
+ "s1_min_pct": 43.150466464742266,
45
+ "s1_max_pct": 60.511811153851426,
46
+ "paired_gain_vs_doob_mean_pp": 0.0,
47
+ "paired_gain_vs_doob_min_pp": 0.0,
48
+ "paired_gain_vs_doob_max_pp": 0.0,
49
+ "paired_vs_p25_mean_pp": -37.66941490258053,
50
+ "paired_vs_p25_min_pp": -49.76101329919965,
51
+ "paired_vs_p25_max_pp": -29.210485263139425,
52
+ "n_clusterings_better_than_doob": 0,
53
+ "distinct_per_path_mean": 14.95450087017052,
54
+ "self_steps_mean": 0.6640142502982698
55
+ },
56
+ "none": {
57
+ "s1_mean_pct": 97.90243367569876,
58
+ "s1_sd_pct": 1.9905840635575514,
59
+ "s1_min_pct": 92.11866722725671,
60
+ "s1_max_pct": 99.95822259964127,
61
+ "paired_gain_vs_doob_mean_pp": 48.305264313486575,
62
+ "paired_gain_vs_doob_min_pp": 39.095426158646504,
63
+ "paired_gain_vs_doob_max_pp": 56.0060095888407,
64
+ "paired_vs_p25_mean_pp": 10.635849410906038,
65
+ "paired_vs_p25_min_pp": 2.363578976561257,
66
+ "paired_vs_p25_max_pp": 21.19616618325979,
67
+ "n_clusterings_better_than_doob": 20,
68
+ "distinct_per_path_mean": 11.685265398009747,
69
+ "self_steps_mean": 1.4529836013886528
70
+ },
71
+ "p10": {
72
+ "s1_mean_pct": 96.1701712917622,
73
+ "s1_sd_pct": 3.5562336668562864,
74
+ "s1_min_pct": 87.40443333450297,
75
+ "s1_max_pct": 99.82600785956507,
76
+ "paired_gain_vs_doob_mean_pp": 46.573001929549996,
77
+ "paired_gain_vs_doob_min_pp": 38.357558600290545,
78
+ "paired_gain_vs_doob_max_pp": 55.40705023446242,
79
+ "paired_vs_p25_mean_pp": 8.90358702696946,
80
+ "paired_vs_p25_min_pp": 2.2313642364850494,
81
+ "paired_vs_p25_max_pp": 17.163283576823517,
82
+ "n_clusterings_better_than_doob": 20,
83
+ "distinct_per_path_mean": 11.819344360471474,
84
+ "self_steps_mean": 1.387669969530529
85
+ },
86
+ "p25": {
87
+ "s1_mean_pct": 87.26658426479273,
88
+ "s1_sd_pct": 6.5036230375719155,
89
+ "s1_min_pct": 74.11179555254174,
90
+ "s1_max_pct": 97.59464362308002,
91
+ "paired_gain_vs_doob_mean_pp": 37.66941490258053,
92
+ "paired_gain_vs_doob_min_pp": 29.210485263139425,
93
+ "paired_gain_vs_doob_max_pp": 49.76101329919965,
94
+ "paired_vs_p25_mean_pp": 0.0,
95
+ "paired_vs_p25_min_pp": 0.0,
96
+ "paired_vs_p25_max_pp": 0.0,
97
+ "n_clusterings_better_than_doob": 20,
98
+ "distinct_per_path_mean": 12.244518255689602,
99
+ "self_steps_mean": 1.1885072155426104
100
+ },
101
+ "p50": {
102
+ "s1_mean_pct": 76.75121648573534,
103
+ "s1_sd_pct": 6.074691783181966,
104
+ "s1_min_pct": 68.04422405100263,
105
+ "s1_max_pct": 90.67334886564498,
106
+ "paired_gain_vs_doob_mean_pp": 27.154047123523146,
107
+ "paired_gain_vs_doob_min_pp": 22.999580424011413,
108
+ "paired_gain_vs_doob_max_pp": 34.23767299395861,
109
+ "paired_vs_p25_mean_pp": -10.515367779057382,
110
+ "paired_vs_p25_min_pp": -15.851794787907963,
111
+ "paired_vs_p25_max_pp": -2.613356589282347,
112
+ "n_clusterings_better_than_doob": 20,
113
+ "distinct_per_path_mean": 12.640570376135027,
114
+ "self_steps_mean": 1.0421248174025806
115
+ },
116
+ "p75": {
117
+ "s1_mean_pct": 70.94804852720517,
118
+ "s1_sd_pct": 7.122227751513362,
119
+ "s1_min_pct": 58.387735895407225,
120
+ "s1_max_pct": 87.79686750518604,
121
+ "paired_gain_vs_doob_mean_pp": 21.350879164992982,
122
+ "paired_gain_vs_doob_min_pp": 13.631707589298415,
123
+ "paired_gain_vs_doob_max_pp": 27.285056351334617,
124
+ "paired_vs_p25_mean_pp": -16.318535737587553,
125
+ "paired_vs_p25_min_pp": -23.549045572236366,
126
+ "paired_vs_p25_max_pp": -6.622312189178402,
127
+ "n_clusterings_better_than_doob": 20,
128
+ "distinct_per_path_mean": 13.03126206699271,
129
+ "self_steps_mean": 0.9823405854672809
130
+ }
131
+ },
132
+ "checks": {
133
+ "toy_exhaustive_passed": true,
134
+ "max_independent_recursion_error": 4.440892098500626e-16,
135
+ "max_terminal_error": 7.771561172376096e-16,
136
+ "max_outside_corridor_probability": 0.16666666666666666,
137
+ "max_outside_arrival_mask_probability": 0.0,
138
+ "endpoint_mask_exceptions": [
139
+ {
140
+ "seed": 3,
141
+ "source": [
142
+ 70
143
+ ],
144
+ "target": []
145
+ },
146
+ {
147
+ "seed": 18,
148
+ "source": [
149
+ 42
150
+ ],
151
+ "target": []
152
+ }
153
+ ],
154
+ "seed0_saved_figure_check": {
155
+ "max_state_coordinate_difference": 0.0,
156
+ "counts_equal": true,
157
+ "corridor_equal": true
158
+ }
159
+ },
160
+ "archive_comparison": {
161
+ "doob": {
162
+ "archived_mean_pct": 49.652499999999996,
163
+ "mean_exact_minus_archived_pp": -0.05533063778779912,
164
+ "max_absolute_difference_pp": 1.4495335352577357
165
+ },
166
+ "p25": {
167
+ "archived_mean_pct": 87.27916666666667,
168
+ "mean_exact_minus_archived_pp": -0.012582401873935112,
169
+ "max_absolute_difference_pp": 0.8121554227458176
170
+ }
171
+ },
172
+ "scope": "Exact probabilities on refitted MSMs from fixed MD data. SD is clustering sensitivity, not MD uncertainty.",
173
+ "completed_clusterings": 20
174
+ }
data/aib9_fes/aib9_kappa_sweep.json ADDED
@@ -0,0 +1,240 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "model": {
3
+ "lag_frames": 5,
4
+ "frame_interval_ps": 1.0,
5
+ "horizon": 320,
6
+ "n_microstates": 100,
7
+ "clustering_seed": 0
8
+ },
9
+ "sampler": {
10
+ "gate_beta": 0.5,
11
+ "time_sigma": 0.3,
12
+ "n_paths_per_seed": 600
13
+ },
14
+ "results": [
15
+ {
16
+ "kappa": 0.0,
17
+ "path_seeds": [
18
+ 0,
19
+ 1,
20
+ 2
21
+ ],
22
+ "reach_pct": {
23
+ "mean": 100.0,
24
+ "sd": 0.0
25
+ },
26
+ "gateway_pct": {
27
+ "mean": 62.5,
28
+ "sd": 2.0480342879074143
29
+ },
30
+ "n_channel": {
31
+ "mean": 555.6666666666666,
32
+ "sd": 6.027713773341707
33
+ },
34
+ "c_channel": {
35
+ "mean": 44.0,
36
+ "sd": 6.0
37
+ },
38
+ "c_share_pct": {
39
+ "mean": 7.33741420886663,
40
+ "sd": 1.0000249800056775
41
+ },
42
+ "distinct_states": {
43
+ "mean": 98.66666666666667,
44
+ "sd": 0.5773502691896257
45
+ }
46
+ },
47
+ {
48
+ "kappa": 0.1,
49
+ "path_seeds": [
50
+ 0,
51
+ 1,
52
+ 2
53
+ ],
54
+ "reach_pct": {
55
+ "mean": 100.0,
56
+ "sd": 0.0
57
+ },
58
+ "gateway_pct": {
59
+ "mean": 72.72222222222221,
60
+ "sd": 1.5122952876462374
61
+ },
62
+ "n_channel": {
63
+ "mean": 561.0,
64
+ "sd": 2.6457513110645907
65
+ },
66
+ "c_channel": {
67
+ "mean": 38.666666666666664,
68
+ "sd": 3.2145502536643185
69
+ },
70
+ "c_share_pct": {
71
+ "mean": 6.447690595436839,
72
+ "sd": 0.5302050289335655
73
+ },
74
+ "distinct_states": {
75
+ "mean": 96.33333333333333,
76
+ "sd": 1.1547005383792517
77
+ }
78
+ },
79
+ {
80
+ "kappa": 0.2,
81
+ "path_seeds": [
82
+ 0,
83
+ 1,
84
+ 2
85
+ ],
86
+ "reach_pct": {
87
+ "mean": 100.0,
88
+ "sd": 0.0
89
+ },
90
+ "gateway_pct": {
91
+ "mean": 75.6111111111111,
92
+ "sd": 2.341256389522826
93
+ },
94
+ "n_channel": {
95
+ "mean": 565.0,
96
+ "sd": 9.539392014169456
97
+ },
98
+ "c_channel": {
99
+ "mean": 33.333333333333336,
100
+ "sd": 10.598742063723098
101
+ },
102
+ "c_share_pct": {
103
+ "mean": 5.568931655122206,
104
+ "sd": 1.7628295898376896
105
+ },
106
+ "distinct_states": {
107
+ "mean": 91.33333333333333,
108
+ "sd": 2.3094010767585034
109
+ }
110
+ },
111
+ {
112
+ "kappa": 0.36,
113
+ "path_seeds": [
114
+ 0,
115
+ 1,
116
+ 2
117
+ ],
118
+ "reach_pct": {
119
+ "mean": 100.0,
120
+ "sd": 0.0
121
+ },
122
+ "gateway_pct": {
123
+ "mean": 80.05555555555556,
124
+ "sd": 1.6777409856157277
125
+ },
126
+ "n_channel": {
127
+ "mean": 581.3333333333334,
128
+ "sd": 6.110100926607787
129
+ },
130
+ "c_channel": {
131
+ "mean": 18.666666666666668,
132
+ "sd": 6.110100926607786
133
+ },
134
+ "c_share_pct": {
135
+ "mean": 3.111111111111111,
136
+ "sd": 1.0183501544346312
137
+ },
138
+ "distinct_states": {
139
+ "mean": 79.66666666666667,
140
+ "sd": 4.163331998932265
141
+ }
142
+ },
143
+ {
144
+ "kappa": 0.5,
145
+ "path_seeds": [
146
+ 0,
147
+ 1,
148
+ 2
149
+ ],
150
+ "reach_pct": {
151
+ "mean": 100.0,
152
+ "sd": 0.0
153
+ },
154
+ "gateway_pct": {
155
+ "mean": 81.5,
156
+ "sd": 0.763762615825981
157
+ },
158
+ "n_channel": {
159
+ "mean": 581.3333333333334,
160
+ "sd": 4.932882862316247
161
+ },
162
+ "c_channel": {
163
+ "mean": 18.0,
164
+ "sd": 4.58257569495584
165
+ },
166
+ "c_share_pct": {
167
+ "mean": 3.003530286138982,
168
+ "sd": 0.764941739718453
169
+ },
170
+ "distinct_states": {
171
+ "mean": 72.66666666666667,
172
+ "sd": 3.511884584284246
173
+ }
174
+ },
175
+ {
176
+ "kappa": 0.75,
177
+ "path_seeds": [
178
+ 0,
179
+ 1,
180
+ 2
181
+ ],
182
+ "reach_pct": {
183
+ "mean": 100.0,
184
+ "sd": 0.0
185
+ },
186
+ "gateway_pct": {
187
+ "mean": 80.72222222222223,
188
+ "sd": 3.0971910810592
189
+ },
190
+ "n_channel": {
191
+ "mean": 581.0,
192
+ "sd": 6.244997998398398
193
+ },
194
+ "c_channel": {
195
+ "mean": 16.0,
196
+ "sd": 6.557438524302
197
+ },
198
+ "c_share_pct": {
199
+ "mean": 2.6796054825390296,
200
+ "sd": 1.0959544374089136
201
+ },
202
+ "distinct_states": {
203
+ "mean": 73.0,
204
+ "sd": 3.605551275463989
205
+ }
206
+ },
207
+ {
208
+ "kappa": 1.0,
209
+ "path_seeds": [
210
+ 0,
211
+ 1,
212
+ 2
213
+ ],
214
+ "reach_pct": {
215
+ "mean": 100.0,
216
+ "sd": 0.0
217
+ },
218
+ "gateway_pct": {
219
+ "mean": 80.27777777777779,
220
+ "sd": 2.0161385901804545
221
+ },
222
+ "n_channel": {
223
+ "mean": 582.3333333333334,
224
+ "sd": 0.5773502691896257
225
+ },
226
+ "c_channel": {
227
+ "mean": 15.0,
228
+ "sd": 1.0
229
+ },
230
+ "c_share_pct": {
231
+ "mean": 2.5108915445152546,
232
+ "sd": 0.16106912425173006
233
+ },
234
+ "distinct_states": {
235
+ "mean": 69.66666666666667,
236
+ "sd": 3.055050463303893
237
+ }
238
+ }
239
+ ]
240
+ }
data/mb_mep.npz ADDED
Binary file (7.28 kB). View file
 
data/mb_stats.json ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "raw": [
3
+ 43.36666666666667,
4
+ 47.03333333333333,
5
+ 48.31666666666666,
6
+ 45.18333333333334,
7
+ 55.199999999999996,
8
+ 45.31666666666667,
9
+ 43.54999999999999,
10
+ 47.81666666666666,
11
+ 50.36666666666667,
12
+ 43.949999999999996,
13
+ 59.650000000000006,
14
+ 53.48333333333333,
15
+ 44.6,
16
+ 55.86666666666665,
17
+ 46.85,
18
+ 58.650000000000006,
19
+ 48.29999999999999,
20
+ 51.06666666666666,
21
+ 45.633333333333326,
22
+ 58.849999999999994
23
+ ],
24
+ "fk": [
25
+ 76.85,
26
+ 80.43333333333334,
27
+ 79.26666666666667,
28
+ 85.88333333333334,
29
+ 94.53333333333332,
30
+ 74.76666666666667,
31
+ 93.13333333333334,
32
+ 89.89999999999999,
33
+ 87.98333333333333,
34
+ 85.31666666666666,
35
+ 94.14999999999999,
36
+ 89.89999999999999,
37
+ 84.85000000000001,
38
+ 97.83333333333333,
39
+ 85.48333333333333,
40
+ 89.88333333333333,
41
+ 90.98333333333335,
42
+ 80.43333333333334,
43
+ 91.56666666666666,
44
+ 92.43333333333334
45
+ ],
46
+ "clust_seeds": [
47
+ 0,
48
+ 1,
49
+ 2,
50
+ 3,
51
+ 4,
52
+ 5,
53
+ 6,
54
+ 7,
55
+ 8,
56
+ 9,
57
+ 10,
58
+ 11,
59
+ 12,
60
+ 13,
61
+ 14,
62
+ 15,
63
+ 16,
64
+ 17,
65
+ 18,
66
+ 19
67
+ ],
68
+ "path_seeds": [
69
+ 0,
70
+ 1,
71
+ 2
72
+ ],
73
+ "n_paths": 2000,
74
+ "tica_lag": 20,
75
+ "lag": 5,
76
+ "N": 16,
77
+ "alpha": 1.5
78
+ }