IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Ecriture partie aléatoire modèle mixte


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur en Recherche appliquée
    Inscrit en
    Février 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur en Recherche appliquée
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2019
    Messages : 2
    Par défaut Ecriture partie aléatoire modèle mixte
    Bonjour à tous,

    Je travaille sur un papillon ravageur de la vigne.
    Ce papillon fait 3 générations par an, ainsi je réalise ainsi 3 observations de dégâts par parcelles et par an.

    Ma base de données est constituée de 330 parcelles observées sur 3 générations (par an) pendant 3 ans.

    Je cherche à modéliser les dégâts observés sur une parcelle en fonction de plusieurs facteurs comme l’environnement et la météo.
    Pour cela je réalise un modèle mixte avec lme du package nlme. Mes facteurs sont en effet fixes et la parcelle en effet aléatoire (car observée plusieurs fois dans le temps).
    J’aimerais ajouter l’année et la génération en facteur aléatoire. En effet, la première génération de l’année N est en lien avec la génération 3 de l’année N-1, et aura un impact sur la génération 2 de l’année N.
    La génération est emboitée dans l’année.

    Ma question porte sur l’écriture de la partie aléatoire. Comment l’écrire pour intégrer l’année et la génération tout en précisant la structure ?

    Je travaillais sous cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model <- lme(Degats ~ Facteur 1 + Facteur 2, random = ~ 1 | Parcelle, correlation = corAR1(form = ~ Annee/Generation|Parcelle), data = donnees)
    Mais je me questionne sur cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    model2 <- lme(Degats ~ Facteur 1 + Facteur 2, random = ~ 1 |Annee/Generation/Parcelle, data = donnees)
    Je n'arrive pas à savoir où placer l'année et la génération par rapport à la barre vertical et par rapport à la variable Parcelle.

    Merci d’avance pour votre aide,
    Florian

  2. #2
    Membre émérite
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Par défaut
    Le problème que tu poses est celui de déterminer les formules de ce qui est aléatoire et de ce qui est fixe. En réalité, au départ de l'écriture du modèle, il n'y a pas de différence entre les facteurs/régresseurs fixes et les facteurs aléatoires. La différence est plutôt sémantique : un facteur fixe est un facteur dont on connait tous les niveaux et dont on peut mesurer des valeurs dans les différents niveaux tandis que les facteurs aléatoires sont ceux dont on a qu'un échantillon (au sens statistique du terme) des niveaux. Ceci signifie qu'on peut construire une formule dans R (pour lme ou lmer) à partir de cette considération. Supposons donc deux facteurs F1, fixe, et F2 aléatoire. D'où on part de la formule (par exemple) :
    Y ~ F1 * F2
    ou
    Y ~ F1 + F2 + F1:F2

    Dans cette formule, F1 est fixe, et F2 aléatoire tandis que F1:F2 (l'interaction) va signifier qu'on a un échantillon des interactions de tous les niveaux de F1 (fixe) avec l'échantillon des niveaux de F2, donc c'est aléatoire. Selon la règle des formules de R pour laquelle l'ordonnée à l'origine est implicite, c'est-à-dire que les formules Y ~ F et Y ~ 1 + F, sont équivalentes, on aura donc :
    lme( Y ~ F1, random=F1 | F2, ... [une estimation des valeurs associées aux niveaux de F2 et des interactions entre chaque niveau de F1 et ceux de l'échantillon des niveaux de F2, par hypothèse du modèle ces distributions sont centrées, on estime donc les variances et les corrélations]

    On peut remplacer F2 par G1/G2, F1 par une pente, ou F1 par n'importe quelle combinaison de facteurs/régresseurs fixes.

    Par contre si F2 est de la forme G1 + G2 ou G1 * G2, c'est plus complexe et ce cas ne peut pas être traité par lme. Il faut passer à lmer (package lme4).

    En ce qui concerne l'utilisation de corrélation (argument correlation), c'est souvent tentant de l'utiliser car le modèle pousse à cela comme dans ton exemple il semble judicieux d'utiliser une corrélation de type AR sur l'année, mais souvent cela demande beaucoup de ressources de calcul et peut conduire à une convergence très lente, si ce n'est l'absence de convergence, pour une amélioration théorique du modèle très faible ou discutable.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Ingénieur en Recherche appliquée
    Inscrit en
    Février 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur en Recherche appliquée
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Février 2019
    Messages : 2
    Par défaut
    Bonjour Faubry et merci pour ta réponse.

    Effectivement, j'avais besoin de ces éclairages sur la sémantique.
    Après avoir bien réfléchi, je peux dire que :
    - la Génération est un facteur fixe (j'observe les dégâts pour chaque génération)
    - l'Année est un facteur aléatoire puisque j'observe que 3 années et que je veux généraliser mes observations à l'année
    - la parcelle est bien aléatoire car c'est un échantillon de ma population.

    Dans la mesure où je ne veux pas regarder l'effet de la génération, mais que je veux quand même le prendre en compte, est-il possible et pertinent d'avoir cette écriture :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lme (Y (Degats) ~ F1 * F2 , ramdom = Generation | Annee / Parcelle)

  4. #4
    Membre émérite
    Homme Profil pro
    Chercheur
    Inscrit en
    Décembre 2015
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 327
    Par défaut
    En ce qui concerne le facteur fixe Generation, cela ne me pose pas de problème, puisque tu cherches le rôle de la génération sur les dégâts.
    Que la parcelle soit un facteur aléatoire, pourquoi pas à condition que tu considères que toutes les parcelles sont équivalentes (interchangeables). A ce moment, tu veux 'corriger' d'une variation aléatoire due à l'effet parcelle (hypothèse logique) mais tu considères qu'il n'y a pas vraiment d'effet parcelle. Pour l'année, je suis plus ennuyé, car considérer cette variable comme un facteur aléatoire, c'est considérer qu'il n'y a pas d'effet année et que les variations ne sont dus qu'à un aléa de mesure. Mais si tu considères que ton processus est stable dans le temps (au moins sur 3 années), l'hypothèse se tient.

    Enfin, en ce qui concerne ta formule,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lme (Y (Degats) ~ F1 * F2 , ramdom = Generation | Annee / Parcelle)
    , d'abord tu as oublié un tilde dans la formule random qui doit être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ramdom = ~ Generation | Annee / Parcelle)
    Ensuite, je vais la réécrire faire de différence entre facteurs fixes et aléatoires. Ce que tu écris alors est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Degats ~ F1 * F2 + Generation:(Annee + Annee:parcelle)
    Ce n'est pas très logique de faire l'hypothèse que la génération n'interagit qu'avec l'année et la parcelle, mais qu'il n'existe pas d'effet propre Generation. Donc, Generation doit aussi être un facteur fixe. Dans ton modèle, tu considères qu'en plus, il existe une variation de l'effet Generation dépendante de l'année et dans l'année dépendante de la parcelle. Si c'est bien le cas, alors ta formule doit être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lme (Y (Degats) ~ F1 * F2 * Generation, ramdom = ~ Generation | Annee / Parcelle)
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lme (Y (Degats) ~ F1 * F2 + Generation, ramdom = ~ Generation | Annee / Parcelle)
    Dernières remarques : 1) attention au nombre de paramètres à estimer (nombre de degré de liberté) par rapport à la taille de l'échantillon. Plus il y a de ddl, moins l'estimation est robuste.
    2) Est-il vraiment utile de faire apparaître un effet parcelle car cela revient à dire, in fine, que la parcelle introduit une variation de la mesure telle qu'il faut corriger cet effet ? On peut aussi faire la même remarque pour l'effet de l'année et poser alors la question de l'utilisation d'un modèle mixte et si la réponse positive, de la formule aléatoire : l'effet parcelle ou l'effet année est-il suffisamment important pour essayer de le corriger ? Si c'est vrai pour les deux, lequel des deux effets est emboité dans l'autre ? Ou est-ce aucun des deux ?

Discussions similaires

  1. Modèle mixte : Sélection d'un modèle avec le AIC
    Par tornido311 dans le forum SAS STAT
    Réponses: 0
    Dernier message: 19/03/2013, 20h14
  2. Modéle mixte avec contraintes sur les paramètres
    Par AstridG dans le forum SAS STAT
    Réponses: 6
    Dernier message: 18/02/2011, 10h46
  3. Modèle Mixte avec Mesures répétées
    Par elvolcano dans le forum R
    Réponses: 0
    Dernier message: 18/01/2010, 17h39
  4. Modèle mixte avec mesures répétées sur 2 variables
    Par medsas dans le forum SAS STAT
    Réponses: 1
    Dernier message: 15/06/2009, 15h57
  5. Réponses: 4
    Dernier message: 12/05/2006, 19h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo