Data preprocessing
Saturday, June 28, 2025 9:19 PM
Cleaning de la Base1: données externes:
1/Suppression des colonnes: Nom de site, Domaine de gestion , Statut de connexion de l'appareil et Irradiation quotidienne(MJ/㎡)( car
meme grandeur que la variable d'après).
2/Cleaning:
[Link] values: visualisation(heatmap); handling(pour les NA de 19h à 6h: 0, pour les NA à 10h ou 11h: moyenne des valeurs à 10h, meme chose
pour les NA à 13h ou 14h).
[Link]: visualisation(boxplot et IQR-method), handling(garder tout).
[Link]: Vérifier que l'irradiation quotidienne est nulle à minuit, Vérifier que l'irradiation est bien cumulée.
3/EDA: describe, scatterplot, pairplot, correlation matrix( valeurs <0.9 donc pas de forte correlation) .
4/Data transformation:- Transormer la variable heure de début en deux variables: date et heure.
- Log transformation de la variable Intensité d'exposition au soleil car sa distribution est fortement asymétrique à droite et
intervalle de valeurs très important.
- Créer une autre variable contenant la valeur cumulée de l'irradiation quotidienne pour chaque jour (celle à 23h).
Cleaning de la Base2: données internes:
1/Suppression des colonnes: Nom de site, Domaine de gestion, plusieurs colonnes redondantes, vides, ou non pertinentes pour l’analyse
(ex :Courant d'entrée PV8(A), MPPT 7/8/9/10 CC rendement électrique cumulé(kWh), Quantité d'électricité absorbée cumulée(kWh), "Rendement du
jour(kWh), Tension entre PV– et le sol(V), Rendement électrique de l'année/mois en cours(kWh)).
2/Cleaning:
[Link] values:- Visualisation : Heatmap des valeurs manquantes.
- Traitement :
- Tensions de phase : -Interpolation linéaire pour les états de fonctionnement (1, 2, 5).
- Remplacement par 0 pour les états de veille ou arrêt (0, -1).
- Heure de démarrage/arrêt de l’onduleur: Remplissage par la première/dernière valeur connue du groupe (par appareil et date).
[Link]: - Visualisation: Boxplot, z-score (méthode IQR).
- Traitement:
- Détection des outliers sur toutes les colonnes numériques (z-score > 3).
- Les lignes contenant des outliers sont identifiées mais **conservées** (pas de suppression automatique).
[Link]:
- Suppression ou correction des valeurs négatives pour les courants d’entrée PV.
- Suppression des colonnes PV avec plus de 90% de zéros (chaînes inactives).
- Remplacement des valeurs de courant/tension pendant la nuit (0h-6h et 20h-23h) par 0.
- Vérification de la cohérence temporelle et des états de l’onduleur.
3/EDA:- describe(): Statistiques descriptives de base.
- Visualisations:
- Courbes de tendance horaire pour chaque courant PV et tension de phase.
- Histogrammes et boxplots pour les courants, tensions, puissances, températures, etc.
- Pairplot, scatterplot, matrice de corrélation pour explorer les relations entre variables.
4/Data transformation:- Transformation temporelle: - Extraction de la date et de l’heure à partir de la colonne "Heure de début".
- Encodage :
- Encodage des états de l’onduleur (veille, démarrage, connexion, arrêt, etc.).
- Encodage du nom de l’appareil.
- Calculs complémentaires :
- Création de variables agrégées (ex : somme des courants par MPPT, indicateurs de constance, déséquilibre de tension).
- Calcul de la température interne moyenne, du rendement, etc.
-Transormation des variables courants d'entrées en courant par MPPT pour chaque onduleurs (en suivant les pages 26-30 dans le rapport).
New Section 2 Page 1
Création de la base anomalies:
a. Filtrage des périodes pertinentes:
- Conservation uniquement des lignes correspondant à la journée (6h-18h) et à une irradiation > 4 W/m² : c'est l'état de
fonctionnement normal déduit de la visualisation suivante:
b.Détection d’anomalies fines:
- Constance sur 1h: Détection des périodes où la puissance active, la puissance d’entrée ou la puissance réactive restent
constantes pendant au moins 1h (12 pas de 5 min).
- Calculs journaliers:
- Temps de fonctionnement (nombre de pas actifs × 5/60).
- Proportion de zéros (nombre de pas à zéro rapporté au nombre total de pas sur la journée).
- Détection des déséquilibres de tension (écarts > 5V entre phases).
- Création de la base df_anomalies : Cette base contient, pour chaque timestamp, les indicateurs d’anomalies
(constance, déséquilibre, proportion de zéros, temps de fonctionnement, etc.).
Fusion des deux bases:
- Fusion des données onduleurs et EMI sur le timestamp pour obtenir une base complète
contenant à la fois les mesures intérieures et extérieures , sans élimination des anomalies.
-Division des données de facon aléatoire: 80% (df_train) pour l'entrainement du modèle de
prédiction et 20% (df_test) pour le test.
Base_Prédiction:
A/Variables sélectionnées:
Variables Cibles (Outputs)
New Section 2 Page 2
Variables Cibles (Outputs)
Variable Rôle Pourquoi ?
Puissance active (kW) Production instantanée injectée au réseau. Cible principale pour suivre la performance réelle.
Puissance d'entrée Production injectée à l'onduleur. Permet la détection des causes d’anomalies (baisse entrée vs baisse
totale rendement)
Facteur de puissance Qualité de l’injection (ratio puissance Détecte les problèmes réseau (déséquilibre, compensation réactive).
active/apparente).
Variables d’Entrée (Inputs)
Variable Rôle Pourquoi ?
Données temporelles
Timestamp, Heure Contexte temporel. Capture les cycles jour/nuit et variations saisonnières.
Identification
Nom de l’onduleur Distinguer chaque onduleur. Permet des prédictions individualisées (modèle par onduleur si
nécessaire).
État de l’onduleur Statut opérationnel Exclut les périodes d’inactivité.
(Production/Veille/Erreur).
Données DC (Panneaux →
Onduleur)
Courants d’entrée PV1-PV28 Courants générés par chaque string de Impact direct sur la puissance
(A) panneaux.
Tensions d’entrée PV1-PV28 Tensions des strings. Permet de calculer la puissance d’entrée (P_DC = V × I).
(V)
Données AC (Onduleur →
Réseau)
Tension moyenne triphasée Tension réseau moyenne. Influence le point de fonctionnement de l’onduleur.
(V)
Informative sur l’état du réseau (déséquilibres, instabilités).
Tension AB, Tension BC, Tension
CA
Données environnementales
Intensité d’exposition (W/m²) Puissance solaire reçue. Driver principal de la production.
Température ambiante (°C) Conditions climatiques. Affecte le rendement des panneaux.
Température interne (°C) Chauffage de l’onduleur. Impacte la longévité et l’efficacité.
B/Variables enlevées:
• Rendement de l’onduleur (%)
→ Calculable directement :
Rendement=Puissance active/Puissance d’entree
→ Risque de fuite d’information.
• Facteur de charge
→ Dépend directement de la puissance active et de la durée de fonctionnement → redondant.
• Puissance apparente (kVA) et Puissance réactive (kvar)
→ Le facteur de puissance est déjà retenu comme cible. Ces deux grandeurs peuvent être dérivées, donc inutiles en entrée.
• Rendement total, Rendement cumulé, Rendement quotidien en électricité (kWh)
→ Variables cumulées ou synthétiques.
→ Peu utiles pour modéliser un comportement instantané, peuvent induire des biais temporels.
• Tension de phase A, B, C et Courants de phase A, B, C
→ Redondants avec la tension moyenne triphasée et les tensions réseau AB, BC, CA.
→ Le courant de sortie est déduit de la puissance active (P = U × I × √3 × cos φ) donc fuite d’info.
• Fréquence réseau (Hz)
→ Presque constante en temps normal (autour de 50 Hz), peu informative pour prédire la production.
→ Elle peut cependant être utilisée en post-analyse d’anomalies réseau.
• Irradiation quotidienne (kWh/m²)
→ Variable agrégée sur la journée → non adaptée à la prédiction instantanée.
→ Déjà implicitement intégrée via l’intensité d’exposition instantanée (W/m²).
• Anomalies ou flags dérivés (zéros en journée, anomalies de constance, etc.)
New Section 2 Page 3
• Anomalies ou flags dérivés (zéros en journée, anomalies de constance, etc.)
→ Utiles en phase de diagnostic ou d’évaluation, mais inexploitables pour un modèle de prédiction en production temps réel (risque d’auto-
référence).
C/Prétraitement spécifique:
Appliquer ces vérification pendant les jours ensoleillés uniquement pour s'assurer qu'on ne considère anomalie que lorsque la production est baisse pendant la
journée et avec une irradiation importante.
1. Nettoyage physique et filtrage des valeurs aberrantes:
a. Tensions d’entrée PV:
- But : Éliminer les situations où l’installation ne fonctionne pas dans sa plage normale.
- Logique :
- Pour chaque string PV, on vérifie que la tension d’entrée est comprise entre la plage tension MPPT 500V et 1500V (page 14,151 rapport).
- Les lignes hors plage sont considérées comme anormales et supprimées.
b. Courants d’entrée PV:
- But: Éliminer les valeurs physiquement impossibles.
- Logique:
- Tous les courants négatifs sont mis à zéro (erreur de capteur ou artefact).
- Vérifier que le courant d'entrée total par MPPT ne dépasse pas max current per MPPT 65 A (page 16,72 rapport)
c. Température interne:
- But : Éliminer les situations de surchauffe ou de mesure aberrante.
- Logique:
-Visualisation de la température de la cellule en fonction de l'irradiation et de la température ambiante:
- Suppression des lignes où la température interne dépasse 65°C pendant la journée ensoleillée (16 lignes).
d. Puissance active:
- But: Respecter les limites physiques de l’onduleur.
- Logique: Vérification qu'aucune ligne a la puissance active dépasse la puissance maximale autorisée (fonction de la température ambiante,
selon la courbe de "derating" du constructeur)
e. Fréquence réseau:
New Section 2 Page 4
e. Fréquence réseau:
- But : Éliminer les situations de réseau instable.
- Logique:
- Suppression des lignes où la fréquence réseau sort de la plage 50Hz ± 2.5%Hz ( page 58 COFICAB MED-CCTP) (aucune ligne).
3. Filtrage des situations anormales de fonctionnement:
Après avoir appliqué les filtres physiques de base, un filtrage supplémentaire est réalisé pour éliminer les situations où la production ne reflète pas un
fonctionnement normal, même si les conditions extérieures sont favorables. Ce filtrage s’appuie à la fois sur l’état de l’onduleur
et sur la relation attendue entre irradiation et puissance produite.
[Link] connecté mais pas de production:
-But:
-Lorsqu’un onduleur est connecté au réseau (état = 5) et que l’irradiation est élevée (supérieure à 4 W/m²), la puissance active injectée devrait
être significative.
-Un scatterplot "Puissance active vs Irradiation" montre la relation attendue: la puissance augmente avec l’irradiation.
Les points situés très bas sur l’axe de la puissance, alors que l’irradiation est forte, sont considérés comme anormaux.
-Logique : si l’irradiation > 5 W/m² et la puissance active < 20 kW, ou Si 4 < irradiation ≤ 5 W/m² et la puissance active < 10 kW,
alors la ligne est considérée comme anormale et supprimée.
b. États d’onduleur anormaux en journée ensoleillée:
- But: Un onduleur ne doit pas être en arrêt inattendu ou en défaut d’isolation pendant une période de production potentielle (journée,
irradiation > 3 W/m²).
- Logique:
- Suppression de toutes les lignes où l’état de l’onduleur est "Arrêt inattendu" (-1) ou "Défaut d’isolation" (3) pendant la journée ensoleillée.
- Vérifier que le courant d'entrée total par MPPT ne dépasse pas max current per MPPT 65 A (page 16,72 rapport).
c. Anomalies complexes (via df_anomalies):
-But: Éliminer les situations où plusieurs indicateurs d’anomalie sont présents simultanément.
-Logique: Suppression des lignes où au moins deux des anomalies suivantes sont détectées:
-Constance suspecte (puissance, courant, etc. constants sur 1h).
-Déséquilibre de tension (écart > 5V entre phases).
-Proportion de zéros anormale (> 50% sur la journée).
-Temps de fonctionnement anormal (< 6h sur la journée ensoleillée).
→ Justification: pourquoi ce filtrage?
• Ces situations correspondent à des défauts, des maintenances, ou des blocages de l’installation, qui ne reflètent pas le comportement normal que
l’on souhaite modéliser.
• Leur présence dans la base d’entraînement biaiserait le modèle, qui apprendrait à prédire des baisses de production non liées
aux conditions météorologiques.
• Impact sur la base : on s’assure que la base finale ne contient que des lignes où la production dépend réellement des conditions extérieures
et du fonctionnement normal de l’onduleur.
New Section 2 Page 5
New Section 2 Page 6