Prototype

Score de risque explicable et détection d'atypies non supervisée

Une grille de score auditable, des tests forensiques et un autoencodeur Keras comparé à l'AFDM, avec des critères de réussite fixés avant le calcul et des limites rapportées telles quelles.

Rôle
Concepteur et réalisateur du module analytique
Période
Octobre 2026
Statut
Prototype
Contexte
Extension analytique de la plateforme de la commande publique · en attente de validation métier

Chiffres d'ingénierie

  • 13signaux en trois familles dans la grille de score
  • 0,987corrélation de rang médiane sur 2 000 grilles de poids perturbées
  • 6,4×erreur de reconstruction plus faible, autoencodeur contre AFDM
  • p = 0,66test de DeLong : aucun gain de ciblage significatif sur l'AFDM
  • 11 / 11critères de réussite fixés à l'avance atteints par le modèle de référence
  • 35tests validant le moteur de secours NumPy contre scikit-learn et SciPy

Ces chiffres décrivent le système, pas ses résultats métier, qui restent confidentiels.

Flux analytique

Les deux méthodes partent du jeu certifié et écrivent dans l'entrepôt par une dimension d'audit ; Power BI ne lit que les modèles courants.

  1. 01 · Entrée certifiée

    • Silver certifiéEmpreinte et racine vérifiées
  2. 02 · Signaux experts

    • Grille de score13 signaux, plafond 100
    • Tests forensiquesSeuils, Benford, fractionnement
  3. 03 · Apprentissage non supervisé

    • AutoencodeurKeras 3 sur PyTorch
    • Référence AFDM6 axes
    • TypologieWard et k-means, 4 classes
  4. 04 · Évaluation

    • Critères CR-01 à CR-12ROC, DeLong, stabilité
  5. 05 · Déploiement

    • Dimension d'audit et faitsUn seul modèle courant
    • Pages priorités et atypiesTexte « pourquoi » par marché

01Synthèse

Les contrôleurs ne peuvent pas examiner tous les marchés. J'ai construit, sur le jeu certifié, deux façons complémentaires de les prioriser : un score expert explicable, et un modèle non supervisé qui repère les marchés inhabituels.

La grille de score combine 13 signaux en trois familles (régularité de la procédure, fiabilité financière, qualité de la saisie) et explique chaque score en clair. Le module non supervisé, calculé avec Keras, compare un autoencodeur à une référence linéaire (AFDM) selon des critères fixés avant tout calcul. Le résultat, tel quel : l'autoencodeur reconstruit les données 6,4 fois mieux, mais ne cible pas significativement mieux que l'AFDM les marchés prioritaires.

02Objectifs et contraintes

  • Classer les marchés à examiner avec un score lisible par tous : points par signal, enjeu financier et vérification à faire.
  • Ne jamais utiliser une personne ou une section administrative comme entrée du score.
  • Trouver des marchés inhabituels qu'aucune règle du catalogue ne signale.
  • Décider du déploiement avec des critères écrits avant le calcul, pas après.

03Pipeline et traitements

  • Tests forensiques : effet de seuil par loi binomiale exacte avec correction de Bonferroni sur 16 seuils (dont 11 témoins), procédure utilisée au-dessus de son plafond légal, fractionnement présumé, et tests de Benford sur le premier et les deux premiers chiffres avec l'écart absolu moyen de Nigrini.
  • Grille de score 2026.10-v1 : score plafonné à 100, quatre classes de score, quatre classes d'enjeu et une matrice de priorité P1 à P4.
  • Robustesse : 2 000 grilles aux poids tirés entre 0,75 et 1,25 fois leur valeur, et un test de résistance entre 0,5 et 1,5.
  • Graphiques en entonnoir avec limites binomiales exactes, pour comparer équitablement des unités de volumes très différents.
  • Module non supervisé structuré selon les six phases de CRISP-DM : préparation des variables à la manière de l'AFDM, autoencodeur, degré d'atypie, typologie par Ward et k-means, classifieur et règles d'arbre pour les nouveaux marchés, et surveillance de la dérive.

04Qualité et validation des données

  • Douze critères de réussite (CR-01 à CR-12) fixés avant le calcul, dont cinq bloquants : ciblage meilleur que le hasard, reconstruction au moins égale à l'AFDM, stabilité de la partition, exactitude du classifieur et rechargement identique.
  • Tests de DeLong appariés pour comparer les aires ROC sur les mêmes marchés, au lieu de lire de simples écarts d'AUC comme des victoires.
  • Deux moteurs comparés : Keras et un moteur NumPy indépendant ; le cœur de la typologie résiste au changement de moteur, pas les petites classes.
  • Reproductibilité : deux exécutions donnent des sorties identiques à l'octet sur la même machine.

05Technologies

  • Python
  • pandas
  • NumPy
  • scikit-learn
  • SciPy
  • Keras 3
  • PyTorch
  • SQL Server
  • Power BI
  • CRISP-DM

06Décisions d'ingénierie

  1. Critères de réussite fixés à l'avance

    Choix
    Douze critères écrits dans le notebook avant tout apprentissage.
    Pourquoi
    Empêche de choisir, après coup, l'indicateur qui flatte le modèle.
  2. Toujours une référence linéaire

    Choix
    AFDM calculée sur les mêmes variables et comparée par des tests de DeLong appariés.
    Pourquoi
    Sans référence, la complexité d'un réseau de neurones ne se justifie pas ; ici, elle ne se justifiait pas pour le ciblage.
  3. Aucune personne dans le modèle

    Choix
    Agents et contrôleurs exclus des variables ; rattachés seulement dans le rapport, pour le filtrage.
    Pourquoi
    Le modèle décrit des marchés, pas des personnes : cela limite les usages abusifs et rend l'analyse défendable.

07Difficultés techniques

  • Le contrôle des applications de Windows bloquait les bibliothèques de PyTorch sur le poste. Plutôt que d'attendre, j'ai écrit un moteur NumPy de 823 lignes qui expose les mêmes interfaces (réseaux denses avec Adam, ACP, k-means, Ward, CART, silhouette, khi-deux) et je l'ai validé par 35 tests contre scikit-learn et SciPy.
  • Un booléen NumPy faussait sans bruit un décompte de critères (« 10 sur 11 » au lieu de « 11 sur 11 ») : repéré en revue, corrigé, et la description dans l'entrepôt rectifiée sur place.
  • Les explications devaient rester lisibles par des non-spécialistes : montants de moins d'un million écrits en francs, accords au singulier et au pluriel, une phrase « pourquoi atypique » par marché.

08Résultats et livrables

  • Une liste d'examen priorisée, avec une explication en clair et une vérification suggérée par marché.
  • Une page Power BI et un rapport imprimable de deux pages sur les classes et les marchés atypiques, rédigés pour des lecteurs qui ne pratiquent pas la science des données, avec un glossaire de 13 termes.
  • Un classifieur de la typologie à 99,6 % d'exactitude et 0,978 de F1 macro, et un arbre de décision de cinq règles fidèle à 96,3 %.
  • Un constat à rapporter tel quel : la typologie reflète surtout le type de marché ; elle vaut contrôle de cohérence plus que découverte, et l'apport propre de la méthode non supervisée est l'atypie.

09Limites

  • Aucune décision examinée pour l'instant : la grille repose sur des poids d'expert, non calibrés sur des résultats.
  • La liste des atypiques dépend de l'apprentissage autant que de la graine aléatoire : elle se lit comme un classement, et les marchés signalés par les deux moteurs sont les pistes les plus sûres.
  • Un marché atypique est inhabituel, pas irrégulier : chaque sortie le dit explicitement.

10Évolutions envisagées

  • Recalibrer la grille par rétrécissement vers les points d'expert dès que 20 décisions confirmées ou justifiées seront disponibles.
  • Entraîner un modèle supervisé sur les décisions examinées et le comparer au score actuel.
  • Évaluer Isolation Forest comme troisième référence de détection d'atypies.