Bonjour,

J'essaye de calculer l'estimateur du maximum de vraisemblance mais lorsque je lance la fonction optim de R j'ai le message d'erreur suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Error in Q[etat[t], etat[t - 1]] : nombre de dimensions incorrect
Voici mon programme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
id=c(rep('01',5),rep('03',3),rep('02',7),rep('10',4))
time=c(1:5,1:3,1:7,1:4)
state=c(1,2,2,2,2, 1,1,2, 2,2,2,2,2,2,3 ,1,2,2,3)
censored=c(0,0,0,0,1, 0,0,1, 0,0,0,0,0,0,0, 0,0,0,1)
 
 
qinit=matrix(c(-0.256271,  0.2562710, 0.0000000,  0.000000, -0.1195264, 0.1195264,0.000000,  0.0000000, 0.0000000),3,3)
 
 
 
fn=function(Q,Q0,etat=state,temps=time,start.time=0){
  log.v=0
  for(t in temps){
    print(t)
    print(log.v)
    if(t==start.time){
      log.v=log.v+Q0
    } else {
      log.v=log.v+Q[etat[t],etat[t-1]]
    }
   }
 
  log.v
}
 
fn(qinit,qinit,start.time = 1) #marche
 
optim(qinit,
      fn(Q,qinit,start.time=1),
      method='Nelder-Mead')  #error ]
Si jamais quelqu'un voit mon erreur je serai reconnaissante