Bonjour,
je souhaite estimer les paramètres d'un mélange de deux lois normales ~ N(0,1)+N(4,1) .
Pour cela j'utilise le package 'flexmix'.
Je ne comprends pas pourquoi les estimations sont totalement fausses, alors que le classement est correct 98%.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 require(flexmix) #require(lattice) dat <- data.frame(y=c(rnorm(500,0,1), rnorm(500,4,1)), class=gl(2,500)) # densityplot(x=~y, data=dat) (ex1_flx2 <- stepFlexmix(y~1, k=2, nrep=100, data= dat, model=FLXMRglm(~1) )) parameters(ex1_flx2) # Comp.1 Comp.2 # coef.(Intercept) 1.875679 2.141521 # sigma 2.279147 2.279306 table(true=dat$class, pred=clusters(ex1_flx2)) # pred # true 1 2 # 1 497 3 # 2 17 483
Le problème vient-il de flexmix ou bien de la fonction parameters ?
PS : j'ai testé sur des données avec des variances différentes et le résultat obtenu était correct.
Partager