Initialisation avec mixmod

26 views
Skip to first unread message

abda...@gmail.com

unread,
Apr 28, 2009, 9:50:25 AM4/28/09
to mixmod
Bonjour,

j'utilise mixmod avec scilab et j'aimerais pouvoir initialiser le
traitement en fixant au départ les paramètres : proportion, moyenne
et écart-type de chaque cluster dans ma série de données. Est-ce
possible avec mixmod ?

Votre aide serait la bienvenue.

Merci

Florent Langrognet

unread,
Apr 28, 2009, 9:58:20 AM4/28/09
to mix...@googlegroups.com
abda...@gmail.com a écrit :
Bonjour,

Oui c'est tout à fait possible.
C'est d'ailleurs indiqué dans le userguide : il s'agit de la méthode
d'initialisation USER (voir rubrique 'strategies' de
http://www-math.univ-fcomte.fr/mixmod/userguide_2_1_1/node45.html)

Des exemples sont disponibles sur
http://www-math.univ-fcomte.fr/mixmod/userguide_2_1_1/node49.html

Florent Langrognet

--
Florent Langrognet
Ingénieur de recherche CNRS
Laboratoire de Mathématiques de Besançon - UMR 6623
16, route de Gray
25030 Besançon
Tel : 03 81 66 63 19
web : http://www-math.univ-fcomte.fr/pp_Annu/FLANGROGNET/
Mixmod software : http://www-math.univ-fcomte.fr/mixmod

florent_langrognet.vcf

abda...@gmail.com

unread,
Apr 28, 2009, 10:21:08 AM4/28/09
to mixmod
Merci de votre réponse.

Faudrait-il créer pour cela une matrice contenant les paramètres
d'initialisation ?

Florent Langrognet

unread,
Apr 28, 2009, 10:53:03 AM4/28/09
to mix...@googlegroups.com
abda...@gmail.com a écrit :
> Merci de votre réponse.
>
> Faudrait-il créer pour cela une matrice contenant les paramètres
> d'initialisation ?
>
>


Il faut tout d'abord créer la stratégie. Le plus simple pour cela est
d'utiliser la fonction mximodInputStrategy (comme indiqué sur
http://www-math.univ-fcomte.fr/mixmod/userguide_2_1_1/node49.html)

[criterion,strategy] = mixmodInputStrategy();
Ceci va créer une variable strategy par defaut.

Il faut ensuite modifier la methode d'initialisation : strategy.initialization.name = 'USER';

Puis remplir le champs strategy.initialization.param
Pour cela, on peut :
- soit le construire " à la main" (comme indiqué sur cette page)
- soit (et c'est plus facile) de reprendre un param d'une sortie de mixmod :
strategy.initialization.param = list(output.modelOutput(1).param); où output est une sortie de mixmod
Ainsi, la structure est déjà construite et il suffit de mettre à jour ses champs :
strategy.initialization.param(1)= ...


J'espère avoir répondu à votre question

Florent Langrognet






> On 28 avr, 15:50, abdah...@gmail.com wrote:
>
>> Bonjour,
>>
>> j'utilise mixmod avec scilab et j'aimerais pouvoir initialiser le
>> traitement en fixant au départ les paramètres : proportion, moyenne
>> et écart-type de chaque cluster dans ma série de données. Est-ce
>> possible avec mixmod ?
>>
>> Votre aide serait la bienvenue.
>>
>> Merci
>>
> >
>
>


florent_langrognet.vcf

abda...@gmail.com

unread,
Apr 28, 2009, 11:42:35 AM4/28/09
to mixmod
Merci pour ces éclaircissements.

J'ai appliqué la méthode et je ne suis pas loin de mon objectif. Si je
comprends bien, la dernière partie me permet d'entrer mes propres
paramètres.
Je veux initialiser notamment avec des valeurs de moyenne mais je ne
vois pas exactement comment, c'est-à-dire remplir les champs
correspondant aux valeurs de moyenne !

On 28 avr, 16:53, Florent Langrognet <florent.langrog...@univ-
fcomte.fr> wrote:
> abdah...@gmail.com a écrit :
>
> > Merci de votre réponse.
>
> > Faudrait-il créer pour cela une matrice contenant les paramètres
> > d'initialisation ?
>
> Il faut tout d'abord créer la stratégie. Le plus simple pour cela est
> d'utiliser la fonction mximodInputStrategy (comme indiqué surhttp://www-math.univ-fcomte.fr/mixmod/userguide_2_1_1/node49.html)
>  florent_langrognet.vcf
> < 1 000AfficherTélécharger

Florent Langrognet

unread,
Apr 29, 2009, 3:01:11 AM4/29/09
to mix...@googlegroups.com

Bonjour,



Voici un exemple :
-------------------------------------------------------------------------------
out=mixmod(data,3); // data : données de dimensions 2 et nbCluster=3

param=out.modelOutput(1).param;

// on met à jour le paramètre qui servira d'initialisation
param.proportion=[ 0.333 0.333 0.334];
param.mean=list([0 0], [1 1], [2 2]);
sigma = [1 0 ; 0 1 ];
param.dispersion(1)=sigma;
param.dispersion(2)=sigma;
param.dispersion(3)=sigma;

[criterion,strategy] = mixmodInputStrategy();
strategy.initialization.name='USER';
strategy.initialization.param=list(param);

out=mixmod(data,3,'strategy',strategy); // on lance Mixmod avec cette
'strategie'

--------------------------------------------------------------------------------


J'espère que cet exemple vous aidera.

Florent Langrognet



abda...@gmail.com a écrit :
florent_langrognet.vcf

abda...@gmail.com

unread,
Apr 29, 2009, 9:19:15 AM4/29/09
to mixmod
Bonjour,

Merci beaucoup, cet exemple m'a aidé. Je l'ai appliqué sur des données
de dimension 1 et mon problème est résolu.

Cordialement.

On 29 avr, 09:01, Florent Langrognet <florent.langrog...@univ-
fcomte.fr> wrote:
> Bonjour,
>
> Voici un exemple  :
> -------------------------------------------------------------------------------
> out=mixmod(data,3); // data : données de dimensions 2 et nbCluster=3
>
> param=out.modelOutput(1).param;
>
> // on met à jour le paramètre qui servira d'initialisation
> param.proportion=[ 0.333  0.333  0.334];
> param.mean=list([0 0], [1 1], [2 2]);
> sigma = [1 0 ; 0 1 ];
> param.dispersion(1)=sigma;
> param.dispersion(2)=sigma;
> param.dispersion(3)=sigma;
>
> [criterion,strategy] = mixmodInputStrategy();
> strategy.initialization.name='USER';
> strategy.initialization.param=list(param);
>
> out=mixmod(data,3,'strategy',strategy);  // on lance Mixmod avec cette
> 'strategie'
>
> --------------------------------------------------------------------------------
>
> J'espère que cet exemple vous aidera.
>
> Florent Langrognet
>
> abdah...@gmail.com a écrit :
>  florent_langrognet.vcf
> < 1 000AfficherTélécharger
Reply all
Reply to author
Forward
0 new messages