Modèles non linéaires - comparaison

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Olivier Beauchard
Messages : 2
Enregistré le : 09 Fév 2007, 08:58

Modèles non linéaires - comparaison

Messagepar Olivier Beauchard » 09 Fév 2007, 13:20

Bonjour,

Je dispose de deux séries de valeurs (concentrations dans deux contextes différents). Les valeurs sont mesurées à chaque fois à la même heure. Pour chacune des deux tendances, le modèle maximisant l'ajustement est de la forme:

y=b*(1-exp(-a*x))

J'ai utilisé la commande "nls" pour trouver les coefficients a et b.

Je veux savoir s'il y a moyen de comparer ces modèles, notemment s'il est possible de tester la différence entre les coefficients. Je n'ai pas d'expérience dans ce domaine, mais concernant "a", j'ai linéarisé les tendances de façon à mettre en oeuvre une analyse de covariance. Une fois linéarisée, la tendance devient:

log(1-(y/b))=-a*x

et on peut ainsi tester les pentes "a".

Malheureusement, le terme log(1-(y/b)) n'est plus défini quand y/b >= 1.

Connaissez-vous une méthode pour comparer des modèles non linéaire de la même forme (test sur les coefficients)?

Merci d'avance pour votre aide

Olivier

Pierre Bady
Messages : 405
Enregistré le : 02 Mai 2006, 07:46

Messagepar Pierre Bady » 13 Fév 2007, 14:01

Bonjour



Je dispose de deux séries de valeurs (concentrations dans deux contextes différents). Les valeurs sont mesurées à chaque fois à la même heure. Pour chacune des deux tendances, le modèle maximisant l'ajustement est de la forme:

y=b*(1-exp(-a*x))
J'ai utilisé la commande "nls" pour trouver les coefficients a et b.

Je veux savoir s'il y a moyen de comparer ces modèles, notemment s'il est possible de tester la différence entre les coefficients. Je n'ai pas d'expérience dans ce domaine, mais concernant "a", j'ai linéarisé les tendances de façon à mettre en oeuvre une analyse de covariance. Une fois linéarisée, la tendance devient:
log(1-(y/b))=-a*x
et on peut ainsi tester les pentes "a".
Malheureusement, le terme log(1-(y/b)) n'est plus défini quand y/b >= 1.
Connaissez-vous une méthode pour comparer des modèles non linéaire de la même forme (test sur les coefficients)?


A ma connaissance (mais je reste un novice dans le domaine du non-linéaire), il existe deux méthodes pour tester tes paramètres a et b entre tes deux conditions. La première utilise les rapports de vraisemblance. Cette méthode est exposée dans un document disponible à l’adresse suivante : http://pbil.univ-lyon1.fr/R/fichestd/tdr35.pdf

La seconde méthode ressemble un peu à la méthode précédente.

on peut faire plusieurs modèles différents :

Modèle 1 : un même modèle
Modèle 2 : un modèle différent par conditions
Modèle 3 : seul le paramètre a est différent
Modèle 4 : seul le paramètre b est différent.

En suite « …. La comparaison des sommes des carrés résiduelles des modèles emboités va permettre de faire un test sur l’intérêt de prendre ou non certains coefficients différents » (Tomassone & Dervin, 1993).

Sinon, tu peux éventuellement jeter un coup d’œil du coté des modèles non-linéaires mixtes :D

En espérant avoir aidé un peu :)


Pierre


Références :
* Tomassone, R. & Dervin, C. (1993) Comment interpréter les résulats d'une régression non-linéaire ? ITCF, Paris.
* Cf aussi http://zoonek2.free.fr/UNIX/48_R_2004/10.html#8
* Enseignements de Statistique en Biologie, Lyon1 : http://pbil.univ-lyon1.fr/R/fichestd/tdr35.pdf
* et http://www.unilim.fr/pages_perso/jean.d ... egnlin.pdf
=@===--------¬-------¬------¬-----¬
liens utiles :
http://www.gnurou.org/Writing/SmartQuestionsFr
http://neogrifter.free.fr/welcomeOnInternet.jpg
]<((((*< -------------------------------

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 13 Fév 2007, 16:54

Si je comprends bien le post, il s'agit de paramètres estimés sur des jeux de données différents ==> les méthodes du max de vraisemblance ne marchent pas. Je pense qu'il faut rassembler les données dans le même jeu et estimer les deux modèles sur ce même jeu (ou estimer les deux modèles sur chacun des jeux).

Renaud

Pierre Bady
Messages : 405
Enregistré le : 02 Mai 2006, 07:46

Messagepar Pierre Bady » 14 Fév 2007, 08:59

bonjour

Je pense qu'il faut rassembler les données dans le même jeu et estimer les deux modèles sur ce même jeu (ou estimer les deux modèles sur chacun des jeux).


oui. il faut les regrouper en 1 seul jeu de données et construire des modèles "emboités". désolé pour mon imprécision ... :')

par exemple, si on reprend le modèle initial, on aura :
Modèle 1 :un même modèle

Code : Tout sélectionner

y = b*(1-exp(-a*x))

Modèle 2 :modèle avec a et b différents en fonction des conditions

Code : Tout sélectionner

y = (b1*c1+b2*c2) *(1-exp( (a1*c1+a2*c2)*x)

Modèle 3 :seul le paramètre a est différent

Code : Tout sélectionner

y = b *(1-exp( (a1*c1+a2*c2)*x)

Modèle 4 : seul le paramètre b est différent

Code : Tout sélectionner

y = (b1*c1+b2*c2) *(1-exp( a*x)


avec c1 = 1 si on est dans la condition n°1, 0 sinon
et c2 = 1 si on est dans la condition n°2, 0 sinon.

(cf http://pbil.univ-lyon1.fr/R/fichestd/tdr35.pdf pages 19-33,
la démarche est très bien présentée)


@+

Pierre
=@===--------¬-------¬------¬-----¬

liens utiles :

http://www.gnurou.org/Writing/SmartQuestionsFr

http://neogrifter.free.fr/welcomeOnInternet.jpg

]<((((*< -------------------------------


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron