# Kevin Sui: multivariate PULSAR experiments Source snapshot: probability-blending experiment completed 16 October 2026. ## What is included - `budgeted_pulsar.py`: per-channel extraction and training-only selection of local lag relationships. Unchanged from the original candidate-one experiment. - `blended_pulsar.py`: training-validated probability blending of the channel-only control and relationship model. This does not include the separate selector-v2 change. - `tests/`: the original model and blend tests. - `summary.csv` and `individual_runs.csv`: the saved experiment results, copied unchanged. Accuracy columns use fractions, not percentages. `original` means the original relationship candidate, not upstream univariate PULSAR. `idea1` refers to the separate selector revision; `blend` is the latest experiment. - `vendor/pulsar_original/`: unchanged upstream PULSAR source, GPLv3 licence and SOURCE.json containing its repository, commit and file hashes. The original PULSAR algorithm is by its upstream authors. Kevin's project concerns the multivariate adaptation and experiments. Upstream source: https://github.com/stevcabello/PULSAR at ca06b4c1077ba261f94e0801433876894058bf9c. This package retains the supplied GPLv3 licence. New model files are unmodified copies of the saved experiment. SHA256SUMS records their hashes. ## Using the model Use Python 3.11 with the supplied requirements in a virtual environment. From this folder: python -m venv .venv source .venv/bin/activate python -m pip install -r requirements.txt python -m unittest discover -s tests With your own finite, equal-length data, shaped (cases, channels, time), with at least 16 time samples and at least two training examples per class: ```python from blended_pulsar import ValidationBlendedPULSAR model = ValidationBlendedPULSAR(random_state=42, verbose=True) model.fit(X_train, y_train) predictions = model.predict(X_test) ``` `X_train`, `y_train` and `X_test` are supplied by the caller. Dataset files, fitted models and the original local batch runner are not bundled. The runner depended on local saved models; the wrapper's `.fit()` instead fits from scratch. This download is the model source and saved result tables, not a complete archive of every benchmark checkpoint. Fitting includes nested supervised feature selection and can be expensive. ## Reading the results Four UEA datasets, original TRAIN/TEST splits, seeds 42 through 46. The weight grid was 0, 0.25, 0.5, 0.75, 1. Three outer folds within TRAIN refit the complete candidate pipeline. Pooled held-out training accuracy chose the weight; exact ties preferred the channel-only branch. Sixty fresh outer candidate fits were used. The saved experiment reused twenty unchanged full-training models after checksum checks. The blend improved the original relationship model on SelfRegulationSCP2 (+1.44 percentage points) and EthanolConcentration (+0.76), and decreased Handwriting (-0.14) and HandMovementDirection (-0.27). Channel-only still had the higher mean on three of four datasets. Repeated seeds on fixed splits are not independent resamples. Handwriting's blend validation covered 146/150 cases and 24/26 classes; the two rare classes stayed in training. The four test sets had already informed development. These results are exploratory and do not establish statistical superiority or novelty. Published HC2/MRHydra columns are frozen references, not methods rerun across these seeds.