====== Prétraitements ====== Bilan de la réunion de lundi 15/04/2024 Il faut intégrer le code de Nour dans ce notebook Lien notedbook : https://colab.research.google.com/drive/13p8E_YmWwedeF0qktLFrJMufNOK9hdsj?usp=sharing {{ :documentation:data:pasted:20240418-165830.png?700 }} ===== Règle 1 : x1 ===== * Si échantillon de données négatif alors multiplier par (-1) L'idée est d'avoir des données positives sans perdre l'information s'il y a des valeurs négatives qui seront traitées après ===== Règle 2 Capteur HS ===== * Si les valeurs sont en dehors des bornes pendant 15 min alors le capteur est HS ===== Règle 3 : OutOfRange (mauvaises données) ===== * Si les données ne sont pas dans l'interval [0, 800] on prend la dernière données valide Ex : 254;268;235;**842**;254;269 -> 254;268;235;**235**;254;269 ===== Règle 4 : Trous ===== * S'il y a des tous dans les données alors on comble la valeur par la dernière valeur valide * Python : def missed_data_process(data:pd.core.frame.DataFrame, freq='10S'): time_index = pd.date_range(start=data.index.min(), end=data.index.max(), freq=freq) data = data.resample(freq).interpolate(method='nearest') return data data = missed_data_process(data) ===== Règle 5 : Valeurs incohérentes ===== * techniquement la valeur est bonne [0, 800] mais physiologiquement impossible * (règles à déterminer) * ajouter un champ pour indiquer si les valeurs sont d'origines ou modifiées par un algo ===== Règle 6 : Transformation Gauss / Distance ===== * appliquer la règle et ajouter une colonne "distance" dans la table * d = racine(1/gauss) ===== Règle 7 : normalisation ===== * Projeter les données dans un espace [0,1] ===== Règle 8 ... X ===== * Ajouter des métriques complémentaires * Etat : filtration / évitement * Activité : ouverture / fermeture * Compléter avec d'autres règles / indicateurs