Intervalle de confiance et comparaison de modèle non linéaire

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

Cuvillier Alexis
Messages : 1
Enregistré le : 16 Déc 2015, 09:21

Intervalle de confiance et comparaison de modèle non linéaire

Messagepar Cuvillier Alexis » 17 Déc 2015, 06:34

Bonjour à tous et à toutes,

Je suis Alexis Cuvillier et travail sur les herbiers Marins à La Réunion (doctorat à l'UMR ENTROPIE (exECOMAR) )

Je vous contacte car je suis un peu bloqué sur l'analyse de mes régressions non linéaires de type exponentielle. Je m'explique:
Contexte:
Je travaille sur des données de productivités (herbiers marins) en fonction de l'irradiance, j'ai donc des données mesurées (3 replicats = 3 cloches benthiques pour l'étude, avec la réalisation de 10 incubations au total à différent moments de la journée et nuit sur 2 sites)

Analyse:
J'applique à mes données le modèle non linéaire suivant : Pn=Pmax (1-exp⁡(-I/Ik) )+r
avec Pn = production nette; Pmax le taux de production maximal à intensité lumineuse saturante, I = l’irradiance (µmol.m-2.s-1), Ik la valeur de l’irradiance à laquelle la pente initiale de la courbe coupe l’asymptote horizontale et r la respiration.
Trois paramètres sont donc générés par modèle, Pmax, Ik et r
Je travaille avec la fonction nls.
ex:
nls_pas<-nls(pn_o2~pmax*(1-exp(-ir/Ik))+r,data=pas, start = list(pmax =40,Ik=400, r=-20),trace=T)
summary(nls_pas)
nls_mns<-nls(pn_o2~pmax*(1-exp(-ir/Ik))+r,data=mns, start = list(pmax =40,Ik=400, r=-20),trace=T)
summary(nls_mns)

Pour l'instant pas de soucis...

Puis je veux faire apparaître un intervalle de confiance sur mon graph, je travaille avec la méthode du boostrap:
nls_pasBOOT <- nlsBoot(nls_pas)
summary(nls_pasBOOT)
nls_mnsBOOT <- nlsBoot(nls_mns)
summary(nls_mnsBOOT)

J'obtiens donc les valeurs de mes différents paramètres pour un intervalle de confiance à 95%
------
J'ajoute donc l'intervalle de confiance à mon graphique
ex:
f_mns_supboot<- function(x){(59.97*(1-exp(-x/911.82))-9.49)}
f_mns_infboot<- function(x){(41.36*(1-exp(-x/342.64))-15.76)}
curve(f_mns_supboot, add=T,lty=2, col="blue")
curve(f_mns_infboot, add=T,lty=2, col="blue")

Et là, le problème s'affiche...l'intervalle de confiance coupe mon modèle et se croisent même entre eux pour finalement se repositionner correctement au niveau de l'asymptote. Avez-vous une idée du pourquoi et du comment régler cela ? Je pense que cela est dû principalement au paramètre Ik (911 et 342)... Même problème si je travaille avec la fonction confint2 (conf_mns <- confint2(nls_mns) )


Second problème, l'objectif est de comparer les modèles entre eux (les différentes cloches) pour ne faire qu'un modèle par site. Puis de comparer les deux sites entre eux.
j'applique une anova sur les modèle nls
anova(nls_mns,nls_pas)

Et le résultat ne me donne pas de p_value
Analysis of Variance Table

Model 1: pn_o2 ~ pmax * (1 - exp(-ir/Ik)) + r
Model 2: pn_o2 ~ pmax * (1 - exp(-ir/Ik)) + r
Res.Df Res.Sum Sq Df Sum Sq F value Pr(>F)
1 27 526.53
2 27 635.84 0 0

Avez vous une idée sur le pourquoi ? et comment faire pour obtenir cette valeur?

Merci d'avance à tous et à toute,

Alexis

Retourner vers « Questions en cours »

Qui est en ligne

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