Bonjour à tous,
Peut-être que ma question pourra sembler simpliste, ou du moins plutôt orientée vers un niveau "lycée" vu la difficulté des exercices que j'ai pu voir à droite à gauche sur cette section ^^ Mais bon je tente par ici, je n'ai pas trouvé de solution si évidente, voici mon problème.
Je dispose de série de mesure de température au cours du temps issues d'un datalogger. Pour contextualiser il s'agit de système d'incubation pour microscope que nous mesurons, ceux-ci partent de la température de la pièce (souvent autour de 20°C) jusqu'à atteindre une consigne de 37°C, ces systèmes sont utilisés en sciences du vivant pour imager par microscope des organismes vivants (cellules, embryons etc). Enfin bref je ne rentre pas dans le détail biologique des choses
En l'occurrence donc, je dispose de fichier .txt, avec une mesure de température toutes les 30sec, sur une période de temps de mesure variant entre 60min à 180min la plupart du temps.
Voici le type de courbe que l'on obtient régulièrement:
Capture.PNG
L'idée derrière est déterminer de façon mathématique le temps nécessaire à la stabilisation, c'est à dire à partir de quand la température ne varie plus significativement. Conceptuellement et à vue d'œil c'est quelque chose assez simple à trouver, sur l'exemple du dessus par exemple on peut se dire qu'à partir de 3000sec la température est stable. Mais j'aurai aimé trouver une méthode mathématique fiable et reproductible pour tomber sur cette valeur.
J'ai essayé différentes solution, que je vais vous exposer ici, mais aucune n'est "facile et directe" dans l'interprétation des résultats:
1- Méthode de dérivée 1ère:
Intuitivement je me suis dis que la dérivée première de cette courbe de mesure pourrait solutionner les choses, en effet dans ma tête une dérivée qui passe par zéro signifie une absence de variation (et/ou changement de signe d'une fonction), ainsi plus la dérivée s'approche et reste colée à zéro, cela signifie qu'il n'y a plus de variations.
en faisant tout betement ce type de calcul sur ma feuille Excel:
Capture2.PNG
Et en traçant le graphique correspondant je trouve ceci (la courbe bleue)
Capture3.PNG
La mesure de dérivée est un peu "bruitée" (je ne sais pas si c'est le bon terme?), du coup j'ai fait un petit coup de moyenne mobile 4 période, les pointillés en orange. Et ainsi j'ai déterminé que si il n'y a plus de dépassement de la dérivée première au dessus de 0.2°C/min durant au moins 1000sec consécutive (>15min), alors le système est dit "stabilisé en température". Mais.... malheureusement ce critère ne fonctionne pas avec toutes les courbes de températures, certaines sont un peu moins "faciles" et ce critère ne tient pas la route, voici l'exemple de courbe de température qui m'a causé problème:
Capture4.jpg
Du coup problème... mais j'avais une seconde idée en tête:
2- Fit polynomial sous Excel
Les courbes que je vous présentent me font penser à des fonctions polynomiales, je me suis donc dit qu'avec Excel j'arriverait sans problème à les fitter, générer l'équation de la courbe et la dériver derrière pour trouver les racines du polynomes... oui sauf que ... très souvent les courbes ne fittent pas avec un polynome d'ordre 2 ou 3, il faut augmenter la complexité du polynome à un degré 5 ou 6 (le maximum possible sous Excel), et cela devient bien plus complexe à dériver, trouver les racines du polynomes etc... j'ai essayé avec différents sites en lignes (Desmos en particulier), mais ça reste du bricolage et on est loin d'une solution efficace.
Voici par exemple un fit sous Excel efficace... mais polynome 6!! (donc dérivée polynome 5=> un enfer pour trouver simplement les racines du polynome).
Capture5.PNG
En somme je pense que cette méthode de fit polynomial est extremement puissante, MAIS je n'ai pas les outils analytiques derrières sous Excel...
Peut-être qu'avec R cela se fait facilement? Ou Matlab? Un truc open-source serait l'idéal, je travaille en labo de recherche dans le domaine de la Biologie. J'espère d'ailleurs ne pas avoir fait trop de raccourcis et erreurs dans mes explications, que les puristes en maths m'excusent
Merci pour vos lumières!!
Cordialement,
-----