Why this page. ZEOZO-Core turns raw telemetry into a single, zero-centric drift dial Z_t (calm near 0; higher when conditions are variable or stressed). The construction is bounded, monotone in a variability measure, and observation-only.
Lane fusion (bounded inputs, ASCII)
Normalize each lane to [0,1], then fuse with non-negative weights that sum to 1.
# lanes (examples): F_t, W_t, V_t, E_t, Sspace_t in [0,1]
# meanings per domain (e.g., energy, solvation/flow, mixing/momentum, structure, coherence)
wF, wW, wV, wE, wS >= 0
wF + wW + wV + wE + wS = 1
S_t = wF*F_t + wW*W_t + wV*V_t + wE*E_t + wS*Sspace_t
Lane normalization (copy-ready helpers, ASCII)
Use any sane, published recipe; keep it fixed within a study.
clip(x, lo, hi): return min(max(x, lo), hi)
lin01(x, lo, hi, eps): return (clip(x, lo, hi) - lo) / max(hi - lo, eps)
# robust logistic squashing (optional)
logi01(x, k, x0): return 1 / (1 + exp(-k*(x - x0))) # k > 0, center x0
# example normalization
F_t = lin01(F_raw_t, F_lo, F_hi, eps)
W_t = logi01(W_raw_t, kW, x0W)
# repeat as declared for all lanes...
Drift extractor (windowed variability, ASCII)
Use a bounded, monotone function of recent variability over a short window [t-L, t].
# default: windowed variance of S_t with soft log compression
Var_t = variance(S_tau over tau in [t-L, t])
Z_raw = log(1 + Var_t) # non-negative, grows sublinearly
Z_t = Z_raw / (1 + Z_raw) # maps [0, +inf) -> [0,1)
# simple slow track (default)
A_t = 1 / (1 + Z_t)
Robust alternatives (choose one, publish it)
All are zero-centric and monotone after the same [0,1] compression:
# clipped MAD
m_mid = median(S_tau over [t-L, t])
MAD_t = median(|S_tau - m_mid| over [t-L, t])
Z_raw = MAD_t
# EWMA of squared residuals
r_t = S_t - EMA(S over [t-L, t])
EWMS_t = lambda*EWMS_{t-1} + (1 - lambda)*r_t^2 # lambda in (0,1)
Z_raw = EWMS_t
# spectral bump (band power) if frequency structure matters
P_band = bandpower(S over [t-L, t], f_low, f_high)
Z_raw = log(1 + P_band)
# final compression to [0,1] for any Z_raw >= 0
Z_t = Z_raw / (1 + Z_raw)
Calibration (lightweight, ASCII)
Pick a target Z_target for a “typical” variable period and set the compression accordingly.
# general saturating map
Z_t = 1 - exp(-beta * Z_raw) # beta > 0
# choose beta by
beta = -log(1 - Z_target) / Z_raw_ref
# where Z_raw_ref is a chosen percentile (e.g., 0.75) of observed Z_raw over a calibration set
If you use the default Z_t = Z_raw / (1 + Z_raw), no extra parameter is needed; publish the window L and any EMA/MAD settings.
Minimal pseudocode (reference, ASCII)
input:
lanes_raw_t = {F_raw_t, W_raw_t, V_raw_t, E_raw_t, S_raw_t}
norm_recipes, weights wF..wS (non-negative, sum to 1)
window L > 0, eps > 0
method in {"var-log", "mad", "ewma2", "bandpower"} # pick one
# 1) normalize lanes to [0,1]
F_t = normalize(F_raw_t, norm_recipes.F, eps)
W_t = normalize(W_raw_t, norm_recipes.W, eps)
V_t = normalize(V_raw_t, norm_recipes.V, eps)
E_t = normalize(E_raw_t, norm_recipes.E, eps)
Sspace_t = normalize(S_raw_t, norm_recipes.S, eps)
# 2) fuse
S_t = wF*F_t + wW*W_t + wV*V_t + wE*E_t + wS*Sspace_t
# 3) drift extractor over [t-L, t]
if method == "var-log":
Var_t = variance(S_tau over tau in [t-L, t])
Z_raw = log(1 + Var_t)
elif method == "mad":
m_mid = median(S_tau over [t-L, t])
Z_raw = median(|S_tau - m_mid| over [t-L, t])
elif method == "ewma2":
r_t = S_t - EMA(S over [t-L, t])
Z_raw = EMA(r_t^2 over [t-L, t])
elif method == "bandpower":
Z_raw = log(1 + bandpower(S over [t-L, t], f_low, f_high))
# 4) compress to [0,1]
Z_t = Z_raw / (1 + Z_raw) # or: 1 - exp(-beta * Z_raw)
# 5) slow track (default)
A_t = 1 / (1 + Z_t)
return Z_t, A_t
Policy (publish in manifest)
- Lane meanings, normalization recipes (with parameters), weight vector, and window
L. - Chosen drift extractor (
var-log,mad,ewma2, orbandpower) and any compressor parameters (e.g.,beta). - Confirmation that
Z_tandA_tlie in[0,1], and that the same recipe is used across the study. - Any data-quality guards (missing values, clipping ranges, outlier rules).
Navigation
Previous — Unified Time-Aware Alignment (g_t) (5, 5.1)
Next — How to compute A_t (slow track) and Q_t (calm accumulator) (5.3, 5.4)
Disclaimer (observation-only). All formulas and results are observation-only—not predictive or operational—and require peer validation and governance before any deployment.