Détermination d'influences significatives de variables dans un modèle
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Détermination d'influences significatives de variables dans un modèle



  1. #1
    invite309b981d

    Détermination d'influences significatives de variables dans un modèle


    ------

    Bonjour,

    Je suis actuellement stagiaire dans un labo de recherche en informatique.
    Dans le cadre de mon stage j'ai créé un algorithme que je souhaite valider expérimentalement.
    Cependant plusieurs paramètre entre en jeux et je ne souhaite présenter les résultats de performance que dans les cas pertinent. Cela me permet aussi, par ailleurs, de m'assurer que mon algorithme est "résistant" au variations de ces variables, ce qui n'est pas le cas d'algorithme proposé par des chercheurs de ma bibliographie.

    Afin que mon problème soit facilement compréhensible, je vais l'exprimer à l'aide d'une alégorie.

    *********
    Imaginons que mon algorithme soit un (unique!) robot coureur.

    Je souhaite mesurer les performances de mon coureur, c'est a dire le temps qu'il met pour parcourir une certaine distance. J'appelle cette variable Yo (désolé =p : à lire y-zéro
    Je pars d'un a priori (relativement certain) qu'il existe une variable, Xo, qui est fortement corellé à Yo. C'est d'ailleurs ces deux variables que je mettrais en relation pour tester les performances de mon algorithme.
    Dans le cas du coureur Xo est la distance à parcourir.

    Je met donc en avant la fonction qui m'interesse, F : Xo -> Yo.
    C'est cette fonction qui représente les performances du coureur (il peut être très bon en sprint et très mauvais en endurance, moyen en sprint et bon en endurance ...).
    J'insiste sur le fait que c'est précisément la fonction F qui m'interesse et non pas simplement la variable Yo qui n'a pas de sens à elle seule.

    Mon problème est de savoir si d'autre variables, tel que le matériau utilisé pour la piste, la force du vent, la direction du vent... (notées Zo à Zn) vont avoir un impact significatif sur les performances de mon coureur.
    Je ne sais pas de plus, a prioiri, si elles sont indépendantes. Par exemple le matériau de la piste peut avoir une influence significative si et seulement si le vent souffle fort.

    Je fais donc mon coureur courir pendant un mois (le pauvre ) dans toute les conditions possibles (vents, pluie, grêle, terre battue, béton - je m'éclate! =p) et sur plein de distance différentes.

    A l'issue de cet étape je dispose d'une tonne de relevés, et je souhaiterais les analyser pour mettre en évidence que tel Z a une influence ou pas, ou déterminer des catégories de au sein desquelles les différences ne sont pas significative et pouvoir montrer des résultats de performances plus détaillé dans chacune de ces catégories.

    *********

    J'ai conscience que ce problème n'est pas simple et je ne m'attend pas à ce qu'on me serve la solution sur un plateau.
    Je pense qu'il y a plusieurs méthodologie pour s'attaquer à ce genre de problème et je suis plutôt à la recherche de piste, d'autant plus que n'ayant pas fait de statistique depuis le lycée je suis peu familier avec ces techniques.

    Par exemple en en discutant avec un collègue, il a mis en avant que ce que j'essayais de faire était peut être d'inférer la fonction F(Xo, Zo, ..., Zn) en utilisant par exemple une régression linéaire qui me dirait Yo = a*Xo + b*Zo + c*Z1 + ...
    J'aurai alors les paramètres (a,b,c) qui me donnerait l'influence des autres paramètres (c = 0 <=> pas d'influence de Z1). Le désavantage de cette méthode est que les variables Zi ne sont peut être pas indépendantes entre elles (même problème pour une analyse différentielle).
    Il serait possible de faire une inférence plus "générale" de F mais alors je devrai mettre en place un algorithme complexe pour obtenir quelque chose de bcp plus précis que je ne cherche et dont il serait difficile d'exploiter les résultats (la formule de F ne me donne pas les influences des variables!)

    Une autre méthode serait d'utiliser l'ANOVA, technique que j'ai découverte récemment.
    A vrai dire c'est elle qui ma donné l'idée d'un tel protocole expérimental mais je n'ai pas encore réussi à le modéliser avec. (Il faut préciser que je fais des recherche sur ANOVA uniquement depuis hier soir =p)

    La dernière piste que j'ai est d'utiliser des techniques d'apprentissage automatique mais ca deviendrait bourrin. Bon c'est quand même sur elle que je me penche le plus .


    Voila, j'espère avoir été suffisamment clair.
    Je poste cette question sur ce forum car, dans la mesure ou beaucoup d'entre vous doit avoir des formation différentes de la mienne, je pense que vous pourrez me suggerer des pistes que je n'ai pas envisagées.

    Merci d'avance,
    Droopy

    -----

  2. #2
    kinette

    Re : Détermination d'influences significatives de variables dans un modèle

    Bonjour,
    Tu as pas mal de variables, donc tu vas avoir affaire à des statistiques multivariées...
    Apparemment tu as des trucs qui ressemblent à des régression... donc oui, il y aura de l'analyse de variance... peut-être du modèle linéaire généralisé.

    Ensuite si tu souhaites vraiment déterminer des différences entre deux choses, on tombe dans l'analyse discriminante...

    Bref, déjà, il faut que tu poses bien la question que tu as, que tu regardes quelles variables tu souhaites intégrer dans ton modèle...

    Bon courage,
    K
    Nomina si nescis, perit et cognito rerum.

  3. #3
    invite73192618

    Re : Détermination d'influences significatives de variables dans un modèle

    Quel que soit le test stat que tu prendrais tu peux déjà dire le résultat: tout tes facteurs et toutes leurs interactions seront significatifs. Normal: la puissance d'un test stat dépend du nombre d'essai, et puisque tu peux l'augmenter à volonté dans le cadre de ta sim... cela enlève en pratique tout intérêt aux résultats en terme de significativité.

    Je pense qu'il y a plus simple de toute façon. Une première étape pourrait être 1) déterminer la moyenne de Y pour chaque valeur de X (tous Z confondu donc) 2) la déviation standard de ces moyennes par rapport à la grande moyenne 3) la déviation standard de ces moyennes par rapports aux Z

    exemple avec trois valeurs de X, 2 valeurs pour un Z (un seul Z), histoire d'être clair

    données brutes
    d1(Y1, X1, Z1)
    d2(Y2, X1, Z2)
    d3(Y3, X2, Z1)
    d4(Y4, X2, Z2)
    d5(Y5, X3, Z1)
    d6(Y6, X3, Z2)

    étape 1
    YM(X1) = (Y1+Y2)/2
    YM(X2) = (Y3+Y4)/2
    YM(X3) = (Y5+Y6)/2

    avec tu peux plotter YM en fonction de X... pas trop compliqué

    étape 2
    GM = (Y1+Y2+Y3+Y4+Y5+Y6)/6
    SD(Y)2 = ((YM(X1)-GM)2+(YM(X2)-GM)2+(YM(X3)-GM)2)/3

    SD(Y) représente la taille d'effet de X sur Y

    étape 3
    SD(X1)2=((Y1-YM(X1))2+(Y2-YM(X1))2)/3
    SD(X2)2=((Y1-YM(X1))2+(Y2-YM(X1))2)/3
    SD(X3)2=((Y1-YM(X1))2+(Y2-YM(X1))2)/3

    les SD(X) représentent les tailles d'effet des Z, tout Z confondus, sur les associations XY en tout point.

    A partir de là tu peux faire un ratio SD(Y)/SD(XN) pour chaque X, ce qui est un index direct de la proportion de variance expliquée par les X versus les Z. Si le ratio est élevé pour toute valeur moyenne de X, pas besoin d'aller plus loin: tu peux négliger l'effet des Z.

    Si ce n'est pas le cas, alors ça se complique, surtout si tu suspectes des effets non linéaires. Dans ce cas je pense que je ferais une analyse en composantes indépendantes ou en composante principale non linéaire. Les deux te donneraient une liste des "cas" (combinaison de facteur) à considérer, ainsi que la proportion de variance qu'il explique. Par contre mieux vaut que tu ai un logiciel stat: c'est la galère à programmer et c'est pas la peine de réinventer l'eau chaude tous les jours .

  4. #4
    inviteee57e7e1

    Re : Détermination d'influences significatives de variables dans un modèle

    Par exemple en en discutant avec un collègue, il a mis en avant que ce que j'essayais de faire était peut être d'inférer la fonction F(Xo, Zo, ..., Zn) en utilisant par exemple une régression linéaire qui me dirait Yo = a*Xo + b*Zo + c*Z1 + ...
    Une autre idée, qui y ressemble: au lieu de faire dépendre Yo linéairement de toutes tes variables, tu peux rajouter des termes carrés et rectangles; du coup Yo serait de la forme:
    Yo = a*Xo + b*Zo + c*Z1 + ... + a' * Xo² + b' * Zo² + ... + a" * Xo * Zo + b" * Xo * Z1...

    tu peux ainsi rendre compte (partiellement, bien sûr) de l'interdépendance entre variables.

    edit: j'espère que ce n'est pas ça que tu voulais dire pas "analyse différentielle", sinon mon post ne sert à rien...

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

    Re : Détermination d'influences significatives de variables dans un modèle

    Bonjour,

    Tout d'abord je vous remercie d'avoir pris de votre temps pour me répondre.
    Deuxièmement je m'excuse d'avoir tarder à vous répondre (we du 14 )

    Je vais essayer de vous répondre a tous

    Citation Envoyé par kinette Voir le message
    Bonjour,
    Tu as pas mal de variables, donc tu vas avoir affaire à des statistiques multivariées...
    Apparemment tu as des trucs qui ressemblent à des régression... donc oui, il y aura de l'analyse de variance... peut-être du modèle linéaire généralisé.

    Ensuite si tu souhaites vraiment déterminer des différences entre deux choses, on tombe dans l'analyse discriminante...

    Bref, déjà, il faut que tu poses bien la question que tu as, que tu regardes quelles variables tu souhaites intégrer dans ton modèle...

    Bon courage,
    K
    Oui je suis en effet en train de me pencher sérieusement sur des analyse ANOVA/ANCOVA... La deuxième solution étant de faire une regression pour inférer la fonction.

    Par contre, concernant mon modèle, mes variables sont bien définies (je ne les ai pas posé ici histoire de ne pas vous compliqué inutilement) et ma question est claire :
    (1) Sur quel jeu de variables je dois exposé mes résultats?
    et son corollaire est :
    (2) A quelles variables mon algorithme est "résistant"? (il ne perd pas ses performances)


    Citation Envoyé par Jiav Voir le message
    Quel que soit le test stat que tu prendrais tu peux déjà dire le résultat: tout tes facteurs et toutes leurs interactions seront significatifs. Normal: la puissance d'un test stat dépend du nombre d'essai, et puisque tu peux l'augmenter à volonté dans le cadre de ta sim... cela enlève en pratique tout intérêt aux résultats en terme de significativité.

    Je pense qu'il y a plus simple de toute façon. Une première étape pourrait être 1) déterminer la moyenne de Y pour chaque valeur de X (tous Z confondu donc) 2) la déviation standard de ces moyennes par rapport à la grande moyenne 3) la déviation standard de ces moyennes par rapports aux Z

    exemple avec trois valeurs de X, 2 valeurs pour un Z (un seul Z), histoire d'être clair

    données brutes
    d1(Y1, X1, Z1)
    d2(Y2, X1, Z2)
    d3(Y3, X2, Z1)
    d4(Y4, X2, Z2)
    d5(Y5, X3, Z1)
    d6(Y6, X3, Z2)

    étape 1
    YM(X1) = (Y1+Y2)/2
    YM(X2) = (Y3+Y4)/2
    YM(X3) = (Y5+Y6)/2

    avec tu peux plotter YM en fonction de X... pas trop compliqué

    étape 2
    GM = (Y1+Y2+Y3+Y4+Y5+Y6)/6
    SD(Y)2 = ((YM(X1)-GM)2+(YM(X2)-GM)2+(YM(X3)-GM)2)/3

    SD(Y) représente la taille d'effet de X sur Y

    étape 3
    SD(X1)2=((Y1-YM(X1))2+(Y2-YM(X1))2)/3
    SD(X2)2=((Y1-YM(X1))2+(Y2-YM(X1))2)/3
    SD(X3)2=((Y1-YM(X1))2+(Y2-YM(X1))2)/3

    les SD(X) représentent les tailles d'effet des Z, tout Z confondus, sur les associations XY en tout point.

    A partir de là tu peux faire un ratio SD(Y)/SD(XN) pour chaque X, ce qui est un index direct de la proportion de variance expliquée par les X versus les Z. Si le ratio est élevé pour toute valeur moyenne de X, pas besoin d'aller plus loin: tu peux négliger l'effet des Z.

    Si ce n'est pas le cas, alors ça se complique, surtout si tu suspectes des effets non linéaires. Dans ce cas je pense que je ferais une analyse en composantes indépendantes ou en composante principale non linéaire. Les deux te donneraient une liste des "cas" (combinaison de facteur) à considérer, ainsi que la proportion de variance qu'il explique. Par contre mieux vaut que tu ai un logiciel stat: c'est la galère à programmer et c'est pas la peine de réinventer l'eau chaude tous les jours .
    Ce que tu propose à l'air très intéressant.
    La méthode que tu me propose a -t-elle un non? (comme ça je pourrai me renseigner plus dessus).

    Citation Envoyé par loweekee Voir le message
    Une autre idée, qui y ressemble: au lieu de faire dépendre Yo linéairement de toutes tes variables, tu peux rajouter des termes carrés et rectangles; du coup Yo serait de la forme:
    Yo = a*Xo + b*Zo + c*Z1 + ... + a' * Xo² + b' * Zo² + ... + a" * Xo * Zo + b" * Xo * Z1...

    tu peux ainsi rendre compte (partiellement, bien sûr) de l'interdépendance entre variables.

    edit: j'espère que ce n'est pas ça que tu voulais dire pas "analyse différentielle", sinon mon post ne sert à rien...
    Non ce n'est pas ce que je voulais dire par "analyse différentielle". Je parlais en fait de faire dériver en fonction de Z et de regarder si la différentielle était nul ou pas (= pas de dépendance).
    Le problème avec cette méthode c'est qu'elle suppose une indépendance des variables.
    LA méthode que tu propose qd à elle suppose une certaine "forme" a la fonction.

    C'est pour ca que je pensais à une autre alternative que les analyse statistiques qui serait en fait plus souple mais plus complexe. Il s'agit en fait de faire de l'apprentissage supervisé :
    A partir des donnée de test j'infère la fonction Yo = F(Xo, Z^n). Puis pour un grand nombre de jeux de valeur pour les Z, je détermine des fonction Yo = f(Xo) (notez le "f" minuscule qui représente un F associé à un certain vecteur Z)
    J'établit une distance entre les f (foula un distance entre des courbes en fait!) et je crée des catégorie et enfin, en comparant les f deux a deux je crée des "classe" de Z dans lesquel les performances sont très proches.
    Ceci répond à ma première question. (1) sur quel Z présenter des résultat.

    Ensuite pour la deuxième question, (à quel variables l'algo est résistant), il faudrait faire une analyse des ses classes pour regarder quelles Z varie etc...
    Enfin bon... ce serait peut être plus fin mais bon... comme il me reste deux mois...



    Donc voila, merci pour ces réponses. Je me suis imprimé un cours d'ANOVA que je m'en vais lire et je vais me pencher sur la méthode de Jiav.
    Si vous avez d'autre piste dans la direction analse statistiques (ou autres) je suis tjs intéressé

    Merci encore,
    @+

  7. #6
    invitef63efaa4

    Re : Détermination d'influences significatives de variables dans un modèle

    salut, je vois que t'a essaye avec l'AVOVA et ça n'a pas marcher pourquoi ne pas utiliser la methode de cointegration pour tester l'influence de ta variable, ou bien utiliser le test de JAQUE-BERRA pour determiner l'influence.
    j'espere t'avoir aider

  8. #7
    invitef63efaa4

    Re : Détermination d'influences significatives de variables dans un modèle

    salut, je vois que t'a essaye avec l'AVOVA et ça n'a pas marcher pourquoi ne pas utiliser la methode de cointegration pour tester l'influence de ta variable, ou bien utiliser le test de JAQUE-BERRA pour determiner l'influence.
    j'espere t'avoir aider

Discussions similaires

  1. [PIC]Stockage variables dans mémoires
    Par jorg1n dans le forum Électronique
    Réponses: 5
    Dernier message: 25/04/2008, 18h53
  2. imprimer variables dans MPLAB
    Par arzew dans le forum Électronique
    Réponses: 8
    Dernier message: 19/03/2008, 17h24
  3. variables dans mplab
    Par sdow dans le forum Électronique
    Réponses: 0
    Dernier message: 11/02/2008, 14h34
  4. Fonctions à deux variables, points critiques, détermination d'extremun
    Par invite7acb3082 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 15/12/2007, 20h52
  5. Changement de variables dans une équation différentielle
    Par invite634ae52b dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 10/11/2007, 14h17