Les posteurs les plus actifs de la semaine


Loi suivie par une variable

Aller en bas

Loi suivie par une variable

Message par smalblanc le Lun 23 Juil 2018 - 14:38

Bonjour,

J'ai une question qui risque de vous paraître assez simple mais impossible d'y répondre.
Je travaille sur R sur un modèle linéaire généralisé. Cependant, je dois caractériser ma variable à expliquer, et là, impossible...

Ma variable est quantitative, elle représente l'Expression des maladies du bois.
Cette expression est mesurée chaque année sur les parcelles de vigne. Elle est exprimée en pourcentage et représente le nombre de pieds atteint par la maladie sur un ensemble de 300 pieds.


Quelle loi suit ma variable?

ps: Elle nuit pas une loi Normale d'après le test de Shapiro

Merci !!

Solène

smalblanc

Nombre de messages : 9
Date d'inscription : 18/07/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par gg le Lun 23 Juil 2018 - 15:25

Heu ... ce n'est pas une question simple, et surtout, si toi, qui connais la situation, ne sais pas, comment veux-tu qu'on sache ?

Cordialement.

gg

Nombre de messages : 2016
Date d'inscription : 10/01/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par smalblanc le Lun 23 Juil 2018 - 16:41

C'est pas faux..

Je pensai que vous auriez peut-être des idées de tests à faire ou des conseils.

Mais bon merci quand même

smalblanc

Nombre de messages : 9
Date d'inscription : 18/07/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par gg le Lun 23 Juil 2018 - 17:07

Il existe des logiciels qui testent la qualité de différentes lois, mais si ce n'est pas un modèle "classique", ça ne donnera rien. Avec un échantillon de données, tu peux peut-être avoir une idée du type de loi concernée. Ou bien avec un raisonnement biologique.

Cordialement

gg

Nombre de messages : 2016
Date d'inscription : 10/01/2011

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par AdrienC le Lun 23 Juil 2018 - 21:15

Bonjour, j’aurai modélisé ton jeu de données par une série temporelle
avatar
AdrienC

Nombre de messages : 61
Date d'inscription : 15/03/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par Florent Aubry le Mar 24 Juil 2018 - 7:02

Dans ton cas, je ne travaillerais pas sur les pourcentages mais sur la matrice composée d'une première colonne contenant le nombre de pieds atteints et d'une seconde contenant le nombre de pieds sains. Cela me conduirait alors à utiliser une approche de type logistique avec deux prédicteurs interagissant entre eux, la parcelle (facteur) et l'année (régresseur). Je commencerai par une famille quasibinomiale pour prendre en compte le cas d'un excès de zéro pied atteint. Si dans le résultat du summary (dont l'appel et la forme dépend du logiciel utilisé), le coefficient de dispersion du paramètre pour la famille quasibinomiale est de l'ordre de 1, cela signifie qu'on est proche d'une distribution binomiale et tu peux refaire l'analyse avec la famille binomiale, sinon tu dois garder les résultats de la famille quasibinomiale. On pourrais aussi utiliser des approches plus compliquées de type zero-inflated mais le gain potentiel en qualité du résultat ne justifierait sans doute pas la complexité du modèle.

Florent Aubry

Nombre de messages : 192
Date d'inscription : 02/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par smalblanc le Mar 24 Juil 2018 - 8:25

Dans ton cas, je ne travaillerais pas sur les pourcentages mais sur la matrice composée d'une première colonne contenant le nombre de pieds atteints et d'une seconde contenant le nombre de pieds sains. Cela me conduirait alors à utiliser une approche de type logistique avec deux prédicteurs interagissant entre eux, la parcelle (facteur) et l'année (régresseur).

Sachant que je dois expliquer mon Expression des maladies du bois par des variables qualitatives et quantitative, je pensai à une loi de "quasipoisson". Ou on considère simplement le nombre de pieds atteints par parcelle. Comme si c'était l'abondance de pieds atteints sur 70 quadrats (70 parcelles).

En effet, lorsque je réalise une glm classique suivant une loi normale bien évidemment mes résidus ne suivent pas de loi normale derrière.

Quand j'utilise ma loi de quasi poisson, mes résidus suivent une loi normale et les variables significatives dans mon modèle sont les mêmes.

Dans l'analyse avec mes variables explicatives fixent (Porte greffe, densité, type de sol...), je moyenne les expressions maladies, ou, mon modèle n'est jamais pertinent. En effet, j'ai plus de 1100 individus (30 viticulteurs + 3 cépages + 15 années).

AdrienC a écrit:Bonjour, j’aurai modélisé ton jeu de données par une série temporelle
Je ne voit pas en quoi modéliser ma variable en fonction des années va me permettre d'expliquer ma variable "Pieds atteints par la maladie" par des variables explicatives comme les "caractéristiques parcellaires".

Pourriez vous m'éclairer? Very Happy

Bonne journée

smalblanc

Nombre de messages : 9
Date d'inscription : 18/07/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par Eric Wajnberg le Mar 24 Juil 2018 - 8:55

Florent Aubry a écrit:Dans ton cas, je ne travaillerais pas sur les pourcentages mais sur la matrice composée d'une première colonne contenant le nombre de pieds atteints et d'une seconde contenant le nombre de pieds sains. Cela me conduirait alors à utiliser une approche de type logistique avec deux prédicteurs interagissant entre eux, la parcelle (facteur) et l'année (régresseur). Je commencerai par une famille quasibinomiale pour prendre en compte le cas d'un excès de zéro pied atteint. Si dans le résultat du summary (dont l'appel et la forme dépend du logiciel utilisé), le coefficient de dispersion du paramètre pour la famille quasibinomiale est de l'ordre de 1, cela signifie qu'on est proche d'une distribution binomiale et tu peux refaire l'analyse avec la famille binomiale, sinon tu dois garder les résultats de la famille quasibinomiale. On pourrais aussi utiliser des approches plus compliquées de type zero-inflated mais le gain potentiel en qualité du résultat ne justifierait sans doute pas la complexité du modèle.

Florent, je suis d'accord avec la procédure, mais plusieurs points de commentaires ici :

1) La démarche d'une régression logistique veut dire que l'on travaille avec des lois binomiales. Donc il s'agit bien de travailler sur les pourcentages (ce qu'il faut faire effectivement ici, mais c'est contraire à ce que tu dis).

2) L'option quasibinomial (dans R) veut juste dire qu'on travaille avec des lois binomiales dont la variance est plus forte que celle attendue par un loi binomiale (p*q/n). Même si le coefficient de dispersion est plus grand que 1, on reste dans un schéma binomial. Par ailleurs, s'il est plus grand que 1, ca peut être pour plein de raisons, et pas uniquement qu'il y ait un excès de zéro..

3) Enfin, les modèles ZIP (zero-inflated Poisson) sont pour les lois de comptage, pas des pourcentages.

Juste quelques remarques de lecture.

Cordialement, Eric.


Dernière édition par Eric Wajnberg le Mar 24 Juil 2018 - 10:13, édité 1 fois
avatar
Eric Wajnberg

Nombre de messages : 917
Date d'inscription : 14/09/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par smalblanc le Mar 24 Juil 2018 - 9:08

Avec mon test de Shapiro pour mes moyennes d'expression par année et par viti je trouve une p-value = 0.0001.

Ne puis-je pas simplement normaliser ma variable Expression ou dire qu'on accepte H0 avec un alpha = 0,01%. ?

Au moins je lance une GLM classique et l'analyse derrière me fait moins peur que devoir faire des log.

Code:
res=glm(Expression.MDB~Cepage+Aplantation+Unite.sol+Contrainte.hydrique+Orientation+Maturite.secteur+Drangs+Dceps+Indice.HE)
Code:
plot(res)
anova(res,test="F")

Ca ne pourrait pas déjà me dégrossir le travail?

smalblanc

Nombre de messages : 9
Date d'inscription : 18/07/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par Florent Aubry le Mar 24 Juil 2018 - 10:08

@Eric,
Je suis tout-à-fait d'accord avec tes commentaires. Le mien était en réalité incomplet. En effet, smalblanc dit travailler sur un pourcentage sur 300 pieds de vignes. Ce que je voulais donc dire était que j'aurai personnellement travaillé sur le comptage réel, c'est-à-dire sur le nombre de pieds atteints vs. le nombre de pieds sains au lieu du rapport nb de pieds atteints / 300. D'autant que je suis toujours réticent de travailler sur des pourcentages à moins qu'il n'y ait pas d'autre possibilité ou que ceux-ci soient suffisamment bien distribués, notamment relativement symétriques par rapport à la moyenne, de variance telle que les pourcentage 0 et 100 sont extérieurs à l'intervalle moyenne +/- k écart-type avec k entre 2 et 3 [règle parfaitement empirique que j'utilise], et bien entendu visuellement proche d'une gaussienne.

Quant à la suggestion de la loi quasibinomiale, il est vrai que je suis un utilisateur de R ce qui me biaise quelquefois mes commentaires plus généraux car j'ai toujours tendance à raisonner par rapport à ce logiciel. De plus, il est vrai que dans ma pratique, le problème d'une dispersion supérieure à 1 vient très souvent d'un excès de zéros plus que d'autre chose.


@smalblanc,
- concernant R
1° glm avec la famille gaussienne et lm donne le même résultat
2° anova teste l'introduction séquentielle des prédicteurs, c'est-à-dire ce qu'apporte un prédicteur à l'ajustement une fois retiré l'effet des précédents ce qui signifie que changer l'ordre des régressuers peut changer le résultat donné par la fonction anova ; il est donc préférable d'utiliser la fonction Anova du package car.
- concernant le modèle
1° je suis surpris que ce modèle considère les régresseurs indépendants et qu''il n'y ait aucune interaction entre eux au moins entre certains
2° il y a pas mal de régresseurs donc introduire des interactions même d'ordre 2 (au-delà cela devient très difficile de les analyser) peut conduire à un modèle peu robuste donc pourquoi pas une approche en deux temps (sélection des régresseurs significatifs puis analyse en utilisant ces régresseurs et des interactions si c'est pertinent de considérerqu'il peut exister des inetractions entre régresseurs)

Florent Aubry

Nombre de messages : 192
Date d'inscription : 02/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par smalblanc le Mar 24 Juil 2018 - 12:03

Alors j'ai déjà réalisé cette sélection. A la base j'avais plus de 70 variables dont 10 quantitatives.

A l'aide de test exact de Fisher j'ai pu réduire le nombre de mes variables en sélectionnant des variables indépendantes (hormis 2 d'entre elles).

La je me retrouve donc avec mes 13 variables fixes, qui normalement ne devraient pas interagir entre elles.

Du coup avec ma variables Expression MDB, vous ne pensez pas qu'il serait possible d'utiliser une glm gaussienne ou lm pour calculer mes modèles. Ce qui m'embête c'est la prise en compte d'interaction simplement linéaire.
Je voulais justement utilisé GLM parce que je le pensai plus robuste pour analyser des variables quali.

Ma dernière question sera donc:
- Pensez vous que cette méthode soit acceptable si elle répond à toutes les hypothèses des résidus. Dans un premier temps cela pourra me sortir des modèles que je pourrai affiner en utilisant pourquoi pas cette fameuse loi Binomiale plus tard?

OU

- Je laisse mes individus en % et utilise une loi Binomiale. Mais R me sort ce message d'erreur, de même qu'en "quasibinomial":
Error in eval(family$initialize) :
les valeurs de y doivent être 0 <= y <= 1

Que faire?

Votre idée de matrice est intéressante Florent. Mais je dois sortir mes résultats dans 1 semaine j'aurai aimé trouvé une solution peut etre plus rapide.

Merci à vous

smalblanc

Nombre de messages : 9
Date d'inscription : 18/07/2018

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par Eric Wajnberg le Mar 24 Juil 2018 - 12:48

Attention, utiliser une loi binomiale dans un GLM ne veut pas dire qu'on a les individus en %. La raison est que, par exemple, 5 individus sur 10 n'a absolument rien à voir avec 500 individus sur 1000, même si dans les deux cas ca donne 50%!! Il faut travailler avec les effectifs, évidement.

Je pense que c'est votre problème.

HTH, Eric.


Dernière édition par Eric Wajnberg le Mar 24 Juil 2018 - 16:43, édité 1 fois
avatar
Eric Wajnberg

Nombre de messages : 917
Date d'inscription : 14/09/2012

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par Florent Aubry le Mar 24 Juil 2018 - 16:33

Comme le rappelle Eric, la loi binomiale travaille sur les effectifs puisqu'elle exprime la probabilité de compter M cas positifs sur un effectifs de N individus.

Travailler avec la matrice sous R, ce qui semble être ton cas, est simple. Voici la solution :
Code:

# donnees est le data.frame des donnees
#  atteints est la colonne du nombre de pieds atteints.
# Je suppose que le nombre de pieds dans chaque parcelle est donné dans la colonne nb.pieds
# alors
donnees$sains = donnees$nb.pieds - donnees$atteints
# Si le nombre est 300 dans chaque parcelle, on peut simplifier par :
donnees$sains = 300 - donnees$atteints

# Le code du glm est alors :
resultats <- glm( cbind( atteints, sains) ~ variables_independantes, family=binomial ou quasibinomial, data=donnees)

Florent Aubry

Nombre de messages : 192
Date d'inscription : 02/11/2015

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Loi suivie par une variable

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum