STaRS-CORE-PROTOCOL (SCP) :
Abstract
🌌 STaRS-CORE-PROTOCOL (SCP) : publication scientifique Auteur : Kevin Fradier — Chercheur indépendantDate : Janvier 2026Licence : © 2026 Kevin Fradier — CC BY‑NC‑ND 4.0Statut : Publication méthodologique, testable et reproductible 1️⃣ Résumé STaRS-CORE-PROTOCOL (SCP) est un pipeline scientifique minimal permettant : La détection de structures robustes dans tout dataset numérique. La localisation adaptative des zones où un signal robuste apparaît. L’évaluation de la robustesse locale et de la cohérence globale. Le protocole est bottom-up, neutre, testable, reproductible et applicable à tout type de données (réseaux, séries temporelles, images, signaux). 2️⃣ Principe méthodologique Normalisation et clipping : toutes les valeurs ≥ 0, standardisation possible. Perturbations contrôlées : générer des versions bruitées du dataset. Robustesse locale : calcul de corrélation entre données originales et perturbées. Entropie locale : quantification de la structure informationnelle. Détection de breakpoints : identification des zones robustes selon un seuil donné. Sorties : indices robustes, entropie locale, robustesse globale, hash unique. Règles scientifiques : Pas d’hypothèse causale Testable sur données simulées ou réelles Reproductible par tout utilisateur 3️⃣ Code Python complet import numpy as np import matplotlib.pyplot as plt import hashlib # --- Auteur & signature --- AUTHOR_SIGNATURE = "Kevin Fradier | STaRS-CORE-PROTOCOL | 2026" # --- Jeu de données exemple --- np.random.seed(42) n_features = 8 n_samples = 25 part1 = np.random.normal(2, 0.5, (n_features, 8)) part2 = np.random.normal(8, 0.3, (n_features, 9)) part3 = np.random.normal(2, 1.0, (n_features, 8)) data_example = np.hstack([part1, part2, part3]) # --- Fonctions SCP --- def clip_normalize(col): col = np.clip(col, 0, None) if col.sum() > 0: col = col / col.sum() return col def entropy(col): col = clip_normalize(col) p = col[col>0] return -np.sum(p * np.log2(p)) if len(p) > 0 else 0 def simulate_noise(col, loss_rate=0.3): mask = np.random.rand(len(col)) > loss_rate return col * mask def robustness(data, n_iter=50): original = np.array([np.sum(col) for col in data.T]) scores = [] for _ in range(n_iter): perturbed = np.array([np.sum(simulate_noise(col)) for col in data.T]) corr = np.corrcoef(original, perturbed)[0,1] scores.append(corr) return np.nanmean(scores), np.nanstd(scores) def breakpoint_detection(data, threshold=0.7, n_iter=50): robust_sections = [] for i, col in enumerate(data.T): score, _ = robustness(np.array([col]), n_iter=n_iter) if score >= threshold: robust_sections.append(i) if robust_sections: return robust_sections[0], robust_sections[-1] else: return None, None # --- Exécution --- entropies = np.array([entropy(col) for col in data_example.T]) mean_corr, std_corr = robustness(data_example) bp_start, bp_end = breakpoint_detection(data_example, threshold=0.7) # --- Hash unique --- result_dict = { "entropies": entropies.tolist(), "robustness_mean": float(mean_corr), "robustness_std": float(std_corr), "breakpoint_start": bp_start, "breakpoint_end": bp_end, "signature": AUTHOR_SIGNATURE } result_dict["hash"] = hashlib.sha256(str(result_dict).encode()).hexdigest() # --- Visualisation --- plt.figure(figsize=(12,5)) plt.imshow(data_example, aspect="auto", cmap="YlOrBr") plt.colorbar(label="Valeur brute") plt.xlabel("Échantillons") plt.ylabel("Caractéristiques") ax2 = plt.gca().twinx() ax2.plot(entropies, color="blue", marker="o", label="Entropie locale") ax2.set_ylabel("Entropie locale", color="blue") ax2.tick_params(axis='y', labelcolor='blue') if bp_start is not None and bp_end is not None: plt.axvspan(bp_start, bp_end, color='green', alpha=0.3, label="Signal robuste") plt.title("STaRS-CORE-PROTOCOL (SCP) — Démo complète") plt.legend(loc="upper left") plt.tight_layout() plt.show() # --- Affichage résultats --- print(result_dict) 4️⃣ README pour reproductibilité Instructions : Installer Python ≥3.8 avec numpy, matplotlib. Copier le code SCP dans un fichier scp_demo.py. Exécuter python scp_demo.py. Observer la figure : heatmap + entropie + zone robuste. Résultats et hash sont imprimés pour vérification. Objectif : Tout utilisateur peut reproduire le protocole et vérifier la robustesse des structures détectées. 5️⃣ Licence © 2026 Kevin Fradier — Creative Commons Attribution - Pas d’Utilisation Commerciale - Pas de Modification 4.0 International (CC BY-NC-ND 4.0) Attribution : mentionner l’auteur original Kevin Fradier Pas d’usage commercial Pas de modification 6️⃣ Points méthodologiques Testable et falsifiable sur jeux de données simulés ou réels. Reproductible : hash unique pour chaque exécution. Neutralité scientifique : aucune interprétation causale. Point d’entrée minimal universel pour adoption par tous les utilisateurs. Licence : © 2026 Kevin Fradier — CC BY‑NC‑ND 4.0
Fields of Study & Subjects
Topological and Geometric Data Analysis
Anomaly Detection Techniques and Applications
Machine Learning and Data Classification
Publication details
- Journal / source
- Zenodo (CERN European Organization for Nuclear Research)
- Publication date
- 18 January 2026