Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

Le deal à ne pas rater :
Google Pixel 7 5G – Smartphone 6,3″ OLED FHD+ 8 Go + 128 Go
316 €
Voir le deal

Génération de matrice aléatoire avec condition d'équilibre

2 participants

Aller en bas

Génération de matrice aléatoire avec condition d'équilibre Empty Génération de matrice aléatoire avec condition d'équilibre

Message par A.D. Mar 13 Sep 2011 - 10:27

Bonjour à tous,

Je vous expose mon problème : je cherche à programmer avec R la génération de plans d'expériences (matrices) dans un cas bien particulier.
Je vais me baser sur un exemple concret pour vous présenter ma problématique :

Je dispose de 3 variables (par exemple : X, Y et Z) pouvant prendre respectivement : 3, 4 et 5 modalités.
Une combinaison des modalités de ces 3 variables est appelée produit, par exemple ( X=1 , Y=4 , Z=1 ), ou encore : ( X=2 , Y=2 , Z=4 ).
Une planche est un ensemble de k produits. Prenons par exemple : k=3. On aura alors par exemple comme planche :

Variable X Variable Y Variable Z
2 2 5
1 3 2
2 2 4

On a ensuite N individus (prenons par exemple N=10) et à chaque individu est associé un nombre g de planches (par exemple g=4).
Ainsi, on aura au final comme matrice/plan d'expériences quelque chose de la forme :

Individu Planche Produit Variable X Variable Y Variable Z
1 1 1 2 4 1
1 1 2 3 2 4
1 1 3 1 2 5
1 2 1 2 1 3
1 2 2 1 4 1
1 2 3 1 2 1
1 3 1 3 3 2
...
...
...
10 3 3 1 2 3
10 4 1 3 1 5
10 4 2 2 4 1
10 4 3 1 1 5

Voilà, j'espère que jusqu'ici je suis assez claire...


Maintenant, il y a également des conditions à appliquer.
Tout d'abord, aucune planche ne peut être composée de 2 mêmes produits. Ensuite, aucune planche sur l'ensemble des individus ne peut exister en double.
Enfin, il faut que chaque individu voit un même nombre de fois (approximativement bien sûr) toutes les paires possibles de modalités de deux variables.

Et c'est ce dernier point qui me pose le plus de problèmes à programmer (car partir sur une base aléatoire pure et faire du comptage de modalités de paires de variables me semblent bien fastidieux et sûrement inutile...). Pour le moment j'ai uniquement programmé quelquechose qui assure l'équitable apparition, pour chaque individu, de toutes les modalités de toutes les variables (et respecte les conditions de non répétitions indiquées plus haut).
Après je ne suis pas fermée, il y a peut-être d'autres langages de programmation plus adaptés que R pour programmmer ce genre de choses.

Donc voilà, si quelqu'un à des pistes intéressantes sur le sujet, cela m'intéresse grandement
De plus, si vous souhaitez que je donne plus d'explications, n'hésitez pas à me le faire savoir.

Merci d'avance


Cordialement,

A.D.

A.D.

Nombre de messages : 305
Age : 35
Localisation : Nantes
Date d'inscription : 02/12/2009

http://www.dacta.fr

Revenir en haut Aller en bas

Génération de matrice aléatoire avec condition d'équilibre Empty Re: Génération de matrice aléatoire avec condition d'équilibre

Message par Nik Mar 13 Sep 2011 - 11:39

Salut,

Il y a sans doute des possibilités à creuser avec les packages de R concernant les plans d'expériences (DoE).

Pour la partie purement technique je ne pense pas pouvoir le faire plus vite que toi et je n'ai pas de temps à y consacrer. A priori je partirais en fixant d'abord le nombre de fois où chaque individu doit voir les paires de modalité et ensuite je construirais le plan d'expérience suivant les autres règles.

Nik

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Génération de matrice aléatoire avec condition d'équilibre Empty Re: Génération de matrice aléatoire avec condition d'équilibre

Message par A.D. Mar 13 Sep 2011 - 13:26

Bonjour nik,

Je travaille sur ce projet depuis un petit moment et pour le moment je n'ai trouvé aucune fonction R de création de plans d'expériences qui fasse l'affaire.
Au début, outre mes idées de programmation avec de l'aléatoire et du comptage, j'avais jeté un oeil du côté de ce qui s'appelle l'algorithme de Fedorov (car c'est ce qui me semblait le plus utilisé dans le domaine particulier sur lequel je travaille = les études "trade-off"), malheureusement la fonction du package R "AlgDesign" appliquant cet algorithme ne permet pas de vérifier des conditions d'équilibres telles que je le souhaite. De plus, j'ai appris par la suite que cet algo n'était plus utilisé dans ce domaine depuis au moins une dizaine d'années...

En fait, je posais la question ici à tout hasard, des fois que quelqu'un ait déjà été confronté au même problème et possède quelques astuces afin de gagner en temps de calcul et espace mémoire.
En effet, si je passe par du comptage, cela peut vite être fastidieux dans la mesure où il est possible d'avoir par exemple 7 variables ayant entre 2 et 8 modalités, donc vérifier les nombres d'apparitions de chacune des paires possibles de modalités de deux variables risque de s'avérer long et aussi couteux en espace mémoire je pense. De plus, le fait qu'il y ait des conditions de non répétitions implique de tout re-parcourir (je pense) une fois l'équilibre des paires ok, afin de vérifier et d'effectuer des modifications (= re-calcul des nombres d'occurrences des paires, du moins pour les endroits à modifier) pour que toutes les conditions soient appliquées.

Bref, je vais donc remettre les mains dans le cambouis, mais si quelqu'un passant par ici a une (ou même plusieurs !) idée afin d'optimiser ceci, je suis preneuse.
Merci d'avance Smile


Cordialement,

A.D.

A.D.

Nombre de messages : 305
Age : 35
Localisation : Nantes
Date d'inscription : 02/12/2009

http://www.dacta.fr

Revenir en haut Aller en bas

Génération de matrice aléatoire avec condition d'équilibre Empty Re: Génération de matrice aléatoire avec condition d'équilibre

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