STaRS-FUSION

Read full text
Authors: Kevin FRADIER
Cited by: 0

Abstract

STaRS-FUSION Auteur : Kevin Fradier Licence : © 2026 Kevin Fradier — CC BY-NC-ND 4.0 README.md STaRS-FUSION STaRS-FUSION est un pipeline multi-modules tout-en-un qui permet de : Appliquer toutes les extensions STaRS simultanément (TIME, EXT, MAP) Testeur de robustesse et d'entropie de vos données Produire des hashes traçables pour chaque analyse Comparer plusieurs jeux de données ou plusieurs domaines Installation git clone [Lien zenedo] cd STaRS-FUSION pip install -r requirements.txt Exemple rapide from fusion import fusion_analyze import numpy as np # Mini-dataset simulé example_data = [np.random.poisson(5, 10) for _ in range(5)] result = fusion_analyze(example_data) print(result) Visualisation des modules import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(10,6)) modules = ["TIME","EXT","MAP","ENT","ROBUST"] values = [np.mean([np.std(l) for l in example_data]), np.mean([np.min(l) for l in example_data]), np.mean(np.abs(np.subtract.outer([np.sum(l) for l in example_data],[np.sum(l) for l in example_data]))), result["mean_entropy"], result["robustness_corr"]] ax.bar(modules, values, color="#f59e0b") ax.set_title("Résumé des scores modules STaRS-FUSION") ax.set_ylabel("Valeur moyenne") plt.show() Licence © 2026 Kevin Fradier — CC BY-NC-ND 4.0 Testable et reproductible pour tout type de données, fusion.py import numpy as np import hashlib AUTHOR_SIGNATURE = "Kevin Fradier | STaRS-FUSION | 2026" # --- Modules --- 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 entropy(level): p = level / np.sum(level) if np.sum(level)>0 else level p = p[p>0] return -np.sum(p*np.log2(p)) def robustness(data, n_iter=100): original = np.array([np.sum(l) for l in data]) scores = [] for _ in range(n_iter): perturbed = simulate_noise(data) pert = np.array([np.sum(l) for l in perturbed]) corr = np.corrcoef(original, pert)[0,1] scores.append(corr) return np.nanmean(scores), np.nanstd(scores) # Module MAP def map_structure(data): N = len(data) dist = np.zeros((N,N)) for i in range(N): for j in range(N): dist[i,j] = np.abs(np.sum(data[i]) - np.sum(data[j])) return dist # Module TIME def time_uncertainty(data): return [np.std(level) for level in data] # Module EXT def extinction_metric(data): return [np.min(level) for level in data] # Module croisé FUSION def fusion_analyze(data): ent = [entropy(l) for l in data] mean_corr, std_corr = robustness(data) time_u = time_uncertainty(data) ext_m = extinction_metric(data) map_d = map_structure(data) result = { "mean_entropy": float(np.mean(ent)), "robustness_corr": mean_corr, "robustness_std": std_corr, "time_uncertainty": time_u, "extinction_metric": ext_m, "map_distances": map_d.tolist(), "signature": AUTHOR_SIGNATURE } result["hash"] = hashlib.sha256(str(result).encode()).hexdigest() return result # --- Exemple d'utilisation --- data_example = [np.random.poisson(5, 10) for _ in range(5)] result = fusion_analyze(data_example) print(result) exemple_dataset.npy Un mini-dataset simulé pour tester le pipeline, par exemple : import numpy as np example_data = [np.random.poisson(5, 10) for _ in range(5)] np.save('example_dataset.npy', example_data) _________ STaRS Multimodal – Phase 1 Auteur : Kevin Fradier Date : Janvier 2026 Licence : © 2026 Kevin Fradier — Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International (CC BY-NC-ND 4.0) 🌌 Description STaRS (Spatio-Temporal Robustness & Signature) est un pipeline multimodal universel pour détecter, analyser et visualiser des signatures émergentes dans tout type de données : Séries temporelles (STARS-TIME) Extinction ou disparition d'éléments (STaRS-EXT) Cartographie et structures (STARS-MAP) Réseaux, textes, images, flux, champs, données hétérogènes L'objectif : fournir un outil accessible et testable , permettant d'explorer les invariants émergents dans vos données sans hypothèses globales. ⚡ Fonctionnalités Analyse locale et multi-sites / multi-domaines Robustesse via perturbations contrôlées et « bruit témoin » Entropie, corrélation et scores de structure émergente Visualisation automatique : réseaux, heatmaps, histogrammes Hash/signature des résultats pour traçabilité 📦 Structure du dépôt STaRS-multimodal/ │ ├─ README.md # Documentation principale ├─ stars_time.py # Module incertitude temporelle ├─ stars_ext.py # Module extinction / disparition ├─ stars_map.py # Module cartographie / structures ├─ stars_cross.py # Pipeline croisé multimodal ├─ examples/ │ ├─ mini_dataset_1.csv │ ├─ mini_dataset_2.csv │ └─ ... └─ figures/ # Figures générées automatiquement 🛠 Installation Requis : Python ≥ 3.9, packages suivants : pip install numpy matplotlib networkx scipy Clonez le dépôt : git clone cd STaRS-multimodal 🚀 Exemple d'utilisation from stars_cross import run_full_pipeline # Charger un mini-dataset data_path = "examples/mini_dataset_1.csv" # Lancer le pipeline complet results = run_full_pipeline(data_path, n_iter=50) # Afficher résultats print(results) Le pipeline génère automatiquement : Figures : réseau, heatmap, histogramme Scores de robustesse et d'entropie Hash/signature pour traçabilité 📊 Méthodologie STaRS-TIME : analyse de l'incertitude temporelle STaRS-EXT : détection des extinctions / disparitions STaRS-MAP : cartographie et mesure des structures émergentes Pipeline croisé : combinaison multi-modale pour analyse globale Comparaison avec bruit témoin pour confirmer la robustesse Production de figures et de rapports automatiquement Tous les modules sont testables et combinés. Les résultats ne révèlent pas de « mécanisme secret », mais montrent des invariants reproductibles dans vos données. 🔗 Liens vers d'autres publications STaRS Phase 1 : signature émergente dans 77 jeux de données hétéroclites STaRS-TIME : incertitude temporelle STaRS-EXT : extinction / disparition STaRS-MAP : cartographie des structures Ce dépôt peut être utilisé pour reproduire et explorer les mêmes invariants , tout en restant lié au corpus complet STaRS. ⚠️ Remarque Pipeline testable et reproductible sur mini-datasets fournis. Tous les résultats sont accompagnés de hashes/signatures pour assurer la traçabilité et la transparence. . """ STaRS Cross-Pipeline Multimodal Auteur : Kevin Fradier — Chercheur indépendant Licence : © 2026 Kevin Fradier — CC BY-NC-ND 4.0 Description : Pipeline combiné STaRS-TIME, STaRS-EXT, STaRS-MAP """ import numpy as np import matplotlib.pyplot as plt import networkx as nx from scipy.fft import fft2, fftshift import hashlib import os AUTHOR_SIGNATURE = "Kevin Fradier | STaRS Multimodal | 2026" # ------------------------------ # MODULE STaRS-TIME : incertitude temporelle # ------------------------------ def stars_time(data, n_iter=50): """Analyse temporelle et robustesse.""" def entropy(level): p = level / np.sum(level) if np.sum(level) > 0 else level p = p[p > 0] return -np.sum(p * np.log2(p)) def perturb(level, rate=0.3): mask = np.random.rand(len(level)) > rate return level * mask entropies = [entropy(d) for d in data] orig_sums = np.array([np.sum(d) for d in data]) corrs = [] for _ in range(n_iter): perturbed = np.array([np.sum(perturb(d)) for d in data]) corrs.append(np.corrcoef(orig_sums, perturbed)[0,1]) return np.mean(entropies), np.mean(corrs), np.std(corrs) # ------------------------------ # MODULE STaRS-EXT : extinction / disparition # ------------------------------ def stars_ext(data): """Détecte les disparitions / extinctions locales.""" counts = np.array([np.sum(d) for d in data]) extinction_ratio = np.sum(counts == 0) / len(counts) return extinction_ratio # ------------------------------ # MODULE STaRS-MAP : cartographie # ------------------------------ def stars_map(data): """Cartographie et structure globale.""" N = len(data) G = nx.random_geometric_graph(N, radius=0.3) states = np.array([np.sum(d) for d in data]) corr_matrix = np.outer(states, states) distances = 1 - corr_matrix spectrum = np.abs(fftshift(fft2(distances))) return G, distances, spectrum # ------------------------------ # PIPELINE CROISÉ COMPLET # ------------------------------ def run_full_pipeline(data, n_iter=50, output_dir="figures"): if not os.path.exists(output_dir): os.makedirs(output_dir) # 1️⃣ Analyse STaRS-TIME mean_entropy, mean_corr, std_corr = stars_time(data, n_iter=n_iter) # 2️⃣ Analyse STaRS-EXT extinction_ratio = stars_ext(data) # 3️⃣ Analyse STaRS-MAP G, distances, spectrum = stars_map(data) # 4️⃣ Création d'un hash unique des résultats result_dict = { "mean_entropy": float(mean_entropy), "robustness_corr": float(mean_corr), "robustness_std": float(std_corr), "extinction_ratio": float(extinction_ratio), "signature": AUTHOR_SIGNATURE } result_dict["hash"] = hashlib.sha256(str(result_dict).encode()).hexdigest() # 5️⃣ Visualisation plt.figure(figsize=(12,10)) nx.draw(G, with_labels=True, node_color='skyblue', edge_color='gray', node_size=500) plt.title("STaRS-MAP : réseau géométrique simulé") plt.savefig(os.path.join(output_dir, "network_map.png")) plt.close() plt.figure(figsize=(8,6)) plt.imshow(np.log1p(spectrum), cmap='viridis') plt.colorbar() plt.title("STaRS-MAP : spectre des distances") plt.savefig

Fields of Study & Subjects

Statistical Methods and Applications Topological and Geometric Data Analysis Time Series Analysis and Forecasting

Publication details

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