STaRS Multimodal – Phase 1

Read full text
Authors: Kevin FRADIER
Cited by: 0

Abstract

STaRS Multimodal – Phase 1 Auteur : Kevin Fradier — Chercheur indépendantLicence : © 2026 Kevin Fradier — CC BY-NC-ND 4.0Version : 1.0Date : Janvier 2026 🌌 Description STaRS Multimodal est un pipeline unifié et accessible combinant : STaRS-TIME : analyse de l’incertitude temporelle et robustesse locale STaRS-EXT : détection d’extinctions ou disparitions locales STaRS-MAP : cartographie des structures globales et spectres de distances Il peut être appliqué à : Colonnes fossiles Réseaux trophiques ou sociaux Séquences textuelles Séries temporelles Champs d’observables Images ou signaux Objectif : détecter et comparer des signatures émergentes par rapport à un bruit de référence, sans hypothèses globales. ⚡ Fonctionnalités Analyse locale (TIME) Mesure d’entropie de Shannon Robustesse à des perturbations contrôlées Extinction / disparition (EXT) Calcul du ratio d’éléments disparus par niveau Identification de zones critiques Cartographie globale (MAP) Réseaux géométriques simulés Corrélations inter-niveaux / nœuds Spectre de distances et figures automatiques Score et traçabilité Hash SHA256 pour chaque pipeline Résultats reproduits sur mini-datasets fournis ou vos propres données Visualisation automatique Réseau interactif / graphique statique Histogramme des niveaux Spectre des distances 🛠️ Installation & Utilisation Télécharger le dépôt depuis Zenodo Installer les dépendances : pip install numpy matplotlib networkx scipy Lancer le pipeline d’exemple : python stars_cross.py Les figures seront générées automatiquement dans le dossier figures. 📊 Exemple de résultats { 'mean_entropy': 2.31, 'robustness_corr': 0.88, 'robustness_std': 0.04, 'extinction_ratio': 0.1, 'signature': 'Kevin Fradier | STaRS Multimodal | 2026', 'hash': 'a1b2c3d4e5f6...' } 🖼️ Figures générées network_map.png – réseau simulé distance_spectrum.png – spectre des distances histogram.png – histogramme des niveaux 🧩 Méthodologie Bottom-up : aucune hypothèse globale imposée Testable et falsifiable : comparaison avec bruit de référence Multi-domaines : fossiles, réseaux, texte, images, signaux Signal vs bruit : le bruit sert de référence pour valider que les structures ne sont pas aléatoires Message scientifique : STaRS indique jusqu’où les données peuvent parler, mais ne raconte pas ce qui s’est passé. 🔗 Lien avec le corpus STaRS Ce pipeline multimodal fusionne les modules précédemment publiés sur Zenodo : STaRS-TIME STaRS-EXT STaRS-MAP Tous les modules sont fusionnés et testables, conservant leur fonctionnalité et leur reproductibilité. 📂 Structure du dépôt STaRS-multimodal/ │ ├── stars_cross.py # Pipeline complet multimodal ├── README.md # Documentation ├── figures/ # Figures générées automatiquement └── mini-datasets/ # Exemples de données test 📌 Licence © 2026 Kevin Fradier — CC BY-NC-ND 4.0 Attribution : citer Kevin Fradier et le dépôt original Non commercial : usage uniquement non commercial Pas de modification : redistribution sans modification interdite 1️⃣ CODE COMPLET — stars_multimodal_phase1.py import numpy as np import matplotlib.pyplot as plt import networkx as nx import hashlib from scipy.fft import fft2, fftshift # ========================================================= # METADATA # ========================================================= AUTHOR = "Kevin Fradier" PROJECT = "STaRS Multimodal Phase 1" YEAR = "2026" SIGNATURE = f"{AUTHOR} | {PROJECT} | {YEAR}" np.random.seed(42) # ========================================================= # OUTILS DE BASE # ========================================================= def entropy_shannon(x): x = np.array(x, dtype=float) if x.sum() == 0: return 0.0 p = x / x.sum() p = p[p > 0] return -np.sum(p * np.log2(p)) def simulate_noise(data, loss_rate=0.3): noisy = [] for level in data: mask = np.random.rand(len(level)) > loss_rate noisy.append(level * mask) return noisy def robustness_score(data, n_iter=100): base = np.array([np.sum(l) for l in data]) scores = [] for _ in range(n_iter): pert = simulate_noise(data) pert_sum = np.array([np.sum(l) for l in pert]) if np.std(pert_sum) == 0 or np.std(base) == 0: continue scores.append(np.corrcoef(base, pert_sum)[0, 1]) return float(np.nanmean(scores)), float(np.nanstd(scores)) # ========================================================= # STaRS-TIME # ========================================================= def stars_time(data): entropies = [entropy_shannon(l) for l in data] r_mean, r_std = robustness_score(data) return { "mean_entropy": float(np.mean(entropies)), "robustness_corr": r_mean, "robustness_std": r_std } # ========================================================= # STaRS-EXT # ========================================================= def stars_extinction(data, threshold=0): total = sum(len(l) for l in data) extinct = sum(np.sum(l 0 else 0.0 } # ========================================================= # STaRS-MAP # ========================================================= def stars_map(data): N = len(data) G = nx.random_geometric_graph(N, radius=0.6) weights = [np.sum(l) for l in data] for i, w in enumerate(weights): G.nodes[i]["weight"] = w pos = nx.spring_layout(G, seed=42) plt.figure(figsize=(6, 6)) nx.draw( G, pos, node_size=[50 + 10 * abs(w) for w in weights], with_labels=False ) plt.title("STaRS-MAP — Réseau émergent") plt.tight_layout() plt.savefig("stars_map_network.png") plt.close() mat = np.outer(weights, weights) spectrum = np.abs(fftshift(fft2(mat))) plt.figure(figsize=(6, 5)) plt.imshow(np.log1p(spectrum)) plt.colorbar() plt.title("Spectre des distances émergentes") plt.tight_layout() plt.savefig("stars_map_spectrum.png") plt.close() return { "nodes": N, "edges": G.number_of_edges() } # ========================================================= # PIPELINE GLOBAL # ========================================================= def stars_pipeline(data): time_res = stars_time(data) ext_res = stars_extinction(data) map_res = stars_map(data) result = { "project": PROJECT, "author": AUTHOR, "year": YEAR, "TIME": time_res, "EXT": ext_res, "MAP": map_res, "signature": SIGNATURE } h = hashlib.sha256(str(result).encode()).hexdigest() result["hash"] = h return result # ========================================================= # EXEMPLE D'EXECUTION # ========================================================= if __name__ == "__main__": # Mini-univers générique (fossiles, texte, signal, réseau…) data_example = [np.random.poisson(5, 20) for _ in range(10)] result = stars_pipeline(data_example) print("\n===== RÉSULTATS STaRS MULTIMODAL =====") for k, v in result.items(): print(k, ":", v) 👉 Ce fichier SEUL suffit.Tu le lances, tu obtiens : des scores un hash 2 figures un résultat traçable 2️⃣ README ZENODO — # STaRS Multimodal – Phase 1 Auteur : Kevin Fradier Licence : © 2026 Kevin Fradier — CC BY‑NC‑ND 4.0 Statut : Méthodologie scientifique testable et reproductible Plateforme : Zenodo --- ## Description STaRS Multimodal est un pipeline universel permettant de tester la présence de structures émergentes dans tout système produisant de l’information. Il s’applique indifféremment à : - Colonnes fossiles - Réseaux (sociaux, biologiques, symboliques) - Texte - Séries temporelles - Signaux ou champs L’outil ne raconte pas d’histoire causale. Il teste si une structure observée résiste au bruit. --- ## Modules inclus ### STaRS-TIME - Entropie de Shannon - Robustesse sous perturbations contrôlées ### STaRS-EXT - Détection de disparitions / extinctions locales - Ratio d’effondrement structurel ### STaRS-MAP - Cartographie réseau émergente - Spectre des distances induites - Visualisations automatiques --- ## Utilisation Installer les dépendances : pip install numpy matplotlib networkx scipy Lancer : python stars_multimodal_phase1.py --- ## Résultats générés - Scores numériques (entropie, robustesse, extinction) - Hash SHA256 traçable - Figures : - stars_map_network.png - stars_map_spectrum.png --- ## Méthodologie - Bottom‑up - Sans hypothèse globale - Comparaison systématique au bruit - Falsifiable - Multi‑domaines STaRS indique jusqu’où les données peuvent parler. Il ne dit pas ce qui s’est passé. --- ## Licence © 2026 Kevin Fradier — CC BY‑NC‑ND 4.0 Attribution obligatoire — Pas d’usage commercial — Pas de modification

Fields of Study & Subjects

Topological and Geometric Data Analysis Complex Systems and Dynamics Ecosystem dynamics and resilience

Publication details

Journal / source
Zenodo (CERN European Organization for Nuclear Research)
Publication date
11 January 2026