import json, math, random import numpy as np import torch SEED=2543 np.random.seed(SEED); random.seed(SEED); torch.manual_seed(SEED) torch.set_num_threads(4) DT=0.1; K=30; N=3000 def features(x): # Smooth characteristic features plus moments; sufficient to expose law mismatch. fs=[x, x*x, x**3] for w in [0.35,0.7,1.2,2.0,3.0]: fs += [torch.cos(w*x), torch.sin(w*x)] return torch.stack(fs,-1) def np_features(x): x=torch.as_tensor(x,dtype=torch.float32) return features(x) def mixture_stats(paths, hazards): # States x_0,...,x_K: stop at k