Régression non linéaire
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Régression non linéaire



  1. #1
    inviteedf4ed80

    Régression non linéaire


    ------

    Bonjour,

    Voilà, je travail sur un modèle épidémiologique simple (modèle SIR) dont voici les équations :





    J'ai à ma disposition des données pour I au cours du temps et je dois ajuster mon modèle (c'est-à-dire ajuster les paramètre beta et gamma) le mieux possible. Donc en gros, ajuster les paramètres pour que la fonction I(t) "colle" le mieux aux données que je dispose.

    J'utilise Matlab sous windows XP. Y a t'il une fonction matlab qui me faciliterait la tâche ? Toute aide est la bienvenue !

    Merci beaucoup !
    ++

    -----

  2. #2
    invite06622527

    Re : Régression non linéaire

    Bonjour,

    J'ai à ma disposition des données pour I au cours du temps et je dois ajuster mon modèle (c'est-à-dire ajuster les paramètre beta et gamma) le mieux possible. Donc en gros, ajuster les paramètres pour que la fonction I(t) "colle" le mieux aux données que je dispose.
    Si je comprends bien, tu disposes uniquement de points (t1,I1), (t2,I2), ..., (tn,In) et pas d'autres données expérimentales relatives soit à la fonction S(t), soit à R(t).
    Je pose la question car le choix de la méthode peut en dépendre.

  3. #3
    inviteedf4ed80

    Re : Régression non linéaire

    Si je comprends bien, tu disposes uniquement de points (t1,I1), (t2,I2), ..., (tn,In) et pas d'autres données expérimentales relatives soit à la fonction S(t), soit à R(t).
    Je pose la question car le choix de la méthode peut en dépendre.
    Oui c'est exactement cela. Je n'ai que ces données là.

    J'essaie de trouver une solution avec la fonction nlinfit de matlab mais je n'y arrive pour l'instant pas. Dans tous les exemples que j'ai vu où on utilisait cette fonction, cela partai d'une fonction connue. Ici, je n'ai pas la solution analytique pour I(t) ...

  4. #4
    invite06622527

    Re : Régression non linéaire

    Petite remarque préliminaire :
    Les fonctions S(t) et I(t) faisant partie d'un système de deux équations différentielles du premier ordre, cela implique que deux constantes apparaîtrons en plus des constantes beta et gamma. Soit quatre constantes à optimiser au minimum. C'est beaucoup et cela suppose que le nombre (n) de points expérimentaux (t1,I1),... , (tk,Ik),..., (tn,In) soit assez grand si on veut un résultat fiable.
    Si, en plus, il y a des paramètres à optimiser dans la définition de la fonction I(t), on va vers encore plus de difficultés en ce qui concerne la robustesse de la régression.
    Il me semble donc qu'une méthode qui permettrait, dans un premier temps, l'optimisation sur seulement les quatres premiers paramètres, sans faire intervenir explicitement la forme de la fonction inconnue I(t) , serait bien préférable. On pourrait croire que ce n'est pas possible et pourtant ça l'est.
    Je vous propose une méthode assez originale, sans toutefois prétendre que ce soit la meilleure : A vous de voir.
    Il s'agit de se ramener à une régression linéaire grâce à une équation intégrale appropriée. Et c'est justement un cas très favorable car on doit satisfaire des équations différentielles connues.
    Vous pouvez trouver une description du principe général de ce genre de procédé dans le papier suivant :
    "Régressions et équation intégrale", par le lien :
    http://www.scribd.com/people/documen...575-jjacquelin
    Bien sûr, il faudrait adapter les équations et notations à votre problème. La page jointe donne quelques indications plus spécifiques à votre cas.
    En général, la programmation est considérablement plus facile que pour d'autres méthodes de régression non linéaires par procédé récursif.
    Quant au résultat, il faut tester et constater les avantages et inconvénients, au cas par cas.
    Images attachées Images attachées  

  5. A voir en vidéo sur Futura
  6. #5
    invite06622527

    Re : Régression non linéaire

    Bonjour,

    Après avoir calculé des valeurs optimum pour les paramètres bêta et gamma du système d'équations différentielles (par la méthode que proposée dans mon message précédent, ou par une autre méthode) on peut se demander comment trouver une fonction I(t) passant au plus près des points donnés (t1,I1), (t2,I2), … , (tk,Ik), … , (tn,In).

    1/ Méthode empirique (bien connue des praticiens) :

    On ne s'occupe pas des équations différentielles, mais uniquement des données (t1,I1), (t2,I2), … , (tk,Ik), … , (tn,In). D'après l'allure générale du graphe des points, on choisi empiriquement une ou des fonctions f1(t), f2(t), etc. et on défini la fonction I(t) par :
    I(t) = a1*f1(t) +a2*f2(t) +…
    a1, a2, … sont des coefficients à ajuster pour que la courbe représentative de I(t) passe au plus près des points.
    La relation ainsi définie étant linéaire relativement aux inconnues a1, a2, … , la méthode de régression linéaire par les moindres carrés s'applique et donnera un résultat d'autant plus satisfaisant que les fonctions f1(t), f2(t) auront été bien choisies.
    Ceci est bien connu : On trouve une foule de références, si besoin est. Entre autres, voir par exemple l'article :
    "Régressions coniques, quadriques, circulaire, sphérique,…"
    http://www.scribd.com/people/documen...575-jjacquelin
    A partir du moment où on se donne des fonctions f1(t), f2(t), … , les logiciels de calcul statistiques disposent de moyens implémentés pour calculer les coefficients a1, a2, … sans qu'il soit besoin de programmer soi-même ce genre de calcul.
    Les avantages de cette méthode sont, d'une part, la simplicité de mise en œuvre, d'autre part le fait que l'on obtient une équation explicite relativement simple pour une fonction I(t) optimisée.
    L'inconvénient est que cette fonction ne donne pas la solution théorique du système d'équations différentielles, bien qu'elle le satisfasse approximativement (puisque les coefficients bêta et gamma optimisés ont été calculés sur la base du même ensemble de points donnés).

    2/ Méthode de résolution analytique :

    Puisque les coefficients bêta et gamma sont fixés (les valeurs optimum ayant été calculées préalablement), le système d'équations est totalement déterminé. On cherche à le résoudre analytiquement.
    L'élimination de la fonction S(t) permet de formuler une équation différentielle du second ordre ne contenant que la fonction inconnue I(t).
    La résolution analytique de cette équation est une tâche difficile car il ne s'agit pas d'une équation linéaire. Son étude montre qu'il faut renoncer à une solution explicite I(t) , sauf passer par des fonctions spéciales très compliquées à définir et quasiment inutilisables ultérieurement en pratique.
    Néanmoins, on arrive à résoudre l'équation par paramétrage, ce qui conduit à présenter la solution théorique sous la forme paramétrique :
    ( I = f(z), t=g(z) ) avec f(z) et g(z) deux fonctions bien déterminées d'un paramètre z.
    La page jointe donne des indications plus détaillées sur cette méthode.
    Il convient de noter que la présence d'une EDO du second ordre implique deux constantes d'intégration. Il faudra donc effectuer une régression pour ajuster ces constantes de telle sorte que la fonction ainsi définie paramétriquement passe au plus près des points donnés, ce qui ne sera pas simple.
    Les avantages seraient d'une part une adéquation théorique plus satisfaisante entre l'équation obtenue et le système différentiel, d'autre part le fait de ne pas avoir à choisir empiriquement des fonctions qui peuvent éventuellement convenir dans certains cas et moins bien convenir dans d'autres cas, selon les données.
    L'inconvénient est que le résultat se présente sous forme paramétrique et avec des formules pas très simples, ce qui peut en rendre difficile l'utilisation pratique ultérieure.
    Cette méthode peut certainement être intéressante à présenter du point de vue théorique, mais est probablement trop compliquée du point de vue de sa mise en œuvre concrète.
    Images attachées Images attachées  

  7. #6
    invite06622527

    Re : Régression non linéaire

    Le lien a changé pour atteindre l'article "Régressions coniques, quadriques, circulaire, sphérique,…". La nouvelle adresse est :
    http://www.scribd.com/JJacquelin/documents

  8. #7
    invite986312212
    Invité

    Re : Régression non linéaire

    sinon, pour estimer les paramètres d'un modèle à compartiments comme celui-là, on peut faire certaines hypothèses. Si la durée de l'épidémie est courte, disons moins d'un an, et si la maladie ne provoque pas de surmortalité, tu peux supposer la population constante, i.e. S+I+R=Cste. Sinon, il faut introduire des paramètres de naissance et de mort, mais tu peux peut-être trouver ces paramètres dans la littérature.
    Ensuite, tu peux peut-être trouver (selon la maladie en question) des valeurs publiées du paramètre R0, ou à défaut de la durée moyenne de l'infection (que tu vas prendre comme l'inverse de Gamma). Etc.

  9. #8
    invite06622527

    Re : Régression non linéaire

    Bonjour,

    "alfao" m'a signalé par message privé (et je l'en remercie) que le système d'équations dont j'ai donné la solution n'est pas exactement le même que celui donné par "kgoul". En effet, un signe moins avait disparu.
    Voici, en page jointe, la solution corrigée :
    Images attachées Images attachées  
    Dernière modification par JJacquelin ; 27/02/2012 à 13h45.

  10. #9
    invite06622527

    Re : Régression non linéaire

    Voici également la page corrigée correspondant à la méthode de calcul numérique.
    Images attachées Images attachées  

Discussions similaires

  1. régression non linéaire
    Par invitefaad1b29 dans le forum Mathématiques du supérieur
    Réponses: 13
    Dernier message: 20/10/2009, 13h57
  2. Régression linéaire
    Par invite10cc200f dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 23/07/2008, 08h36
  3. régression non linéaire
    Par invite5f2e931b dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 10/10/2007, 17h46
  4. Régression linéaire
    Par invite0fadfa80 dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 15/09/2007, 19h31
  5. régression non linéaire
    Par invite88d513bd dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 26/04/2007, 10h11