Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Génération de matrice aléatoire avec condition d'équilibre
2 participants
Page 1 sur 1
Génération de matrice aléatoire avec condition d'équilibre
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 :
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 :
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.
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.
Re: Génération de matrice aléatoire avec condition d'équilibre
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
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
Re: Génération de matrice aléatoire avec condition d'équilibre
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
Cordialement,
A.D.
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
Cordialement,
A.D.
Sujets similaires
» Matrice de corrélation avec NA...
» Problème avec une matrice de corrélation
» génération de séquence
» Mixture model avec effet aleatoire
» Comparer Modèle mixte sans et avec effet aléatoire.
» Problème avec une matrice de corrélation
» génération de séquence
» Mixture model avec effet aleatoire
» Comparer Modèle mixte sans et avec effet aléatoire.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|