[Isis-fish-users] Plan d'analyse: calibration avec 1 q

Eric Chatellier chatellier at codelutin.com
Ven 1 Avr 09:54:42 CEST 2011


Le 01/04/2011 04:37, Jessica Andre a écrit :
>
> Merci Eric pour la ligne de code, ca marche.
>
> Une question sur la calibration de la capturabilité /q/. Je suis en train de
> modifier le script CalibrationSimplexePasVariable2Capturabilite pour qu’il
> n’évalue qu’un seul /q /par espèce (je crois que Benoit l’avais fait aussi).
> Donc je fais beaucoup de copier/coller.
>
> Au niveau données, ma population a 8 groupes d’âge dans ISIS. J’ai 8 ans de
> données de débarquements mensuels (les groupes, metiers et startegies sont
> cumulés) donc la matrice de débarquements observés est de dimension 96 lignes
> *1 colonne
>
> Le code compile bien, par contre ca se corse quand je tente une simulation...
> La simulation se termine mais en fait utilise la valeur q de défaut que j’ai
> rentré dans l’interface. La calibration elle-même plante lamentablement. En
> toute apparence j’ai raté quelque chose dans mon code….
>
> D’après le debug, la calibration s’arrête pendant le after simulation, quand
> elle essaye d’obtenir la valeur observée pour la comparer a la valeur simulée
> afin de calculer le critère. Effectivement, l’indice (dim) ne veut rien dire.
>
> Comment se faisse ?!
>
> Le debug ainsi que mon script de calibration qui ne marche pas (si ca aide)
> sont en PJ (en zip parce que c’est un peu gros…).
>
Il y a deux erreurs différentes dans le debug lié
au fait que les matrices L et matrixLandings
n'ont pas les mêmes dimensions.

La premières est :
INFO [pool-2-thread-2] (SimplexCalibration1Cachability.java:371) afterSimulation
- dimension of L [96, 1, 1, 1, 1]
INFO [pool-2-thread-2] (SimplexCalibration1Cachability.java:372) afterSimulation
- dimension of observation [96, 1]
ERROR [pool-2-thread-2] (SimulationService.java:925) finished - Stop simulation
plan, because can't call afterSimulation correctly on plan
analyseplans.SimplexCalibration1Cachability
java.util.NoSuchElementException: L'élément demandé [0, 0, 0, 0, 0] n'existe pas
dans la matrice [96, 1]

Après, je pense que vous avez retester en ajoutant la ligne:
L = L.reduce();

qui a provoqué l'erreur suivante :
INFO [pool-2-thread-2] (SimplexCalibration1Cachability.java:371) afterSimulation
- dimension of L [96]
INFO [pool-2-thread-2] (SimplexCalibration1Cachability.java:372) afterSimulation
- dimension of observation [96, 1]
ERROR [pool-2-thread-2] (SimulationService.java:925) finished - Stop simulation
plan, because can't call afterSimulation correctly on plan
analyseplans.SimplexCalibration1Cachability
java.util.NoSuchElementException: L'élément demandé [0] n'existe pas dans la
matrice [96, 1]

Dans votre cas, il faut sûrement réduire la matrice
sur les dimensions voulues via "L.reduceDims(int... dims)"
car "L.reduce();" la réduit trop.

-- 
Éric Chatellier <chatellier at codelutin.com>
Tel: 02.40.50.29.28
http://www.codelutin.com 




Plus d'informations sur la liste de diffusion Isis-fish-users