Re: Hessian of posterior density is non positive definite during search
Ann,
Several ideas:
1. Fix ALAGs to zero, will it help?
2. Try to shield IPRED from being zero
IPRED=LOG(0.0001)
IF(F.GT.0.0001) IPRED=LOG(F)
Y=IPRED + SIG1*ERR(1)
(this could be a bad style, but will allow you to test the code)
3. Try ADVAN6, 8, 13
4. Remove BQL part, fit it as a 3-comp linear model
5. Check whether you have any FLG values NE 0 or 1 in the dataset
6. Try (to guard against problem with FLG values):
F_FLAG=0
Y=LOG(F) + SIG1*ERR(1)
IF(FLG.EQ.1)THEN
F_FLAG=1
Y=CUMD
ENDIF
---------------------
At least, this will help you to understand where the problem is
Leonid
--------------------------------------
Leonid Gibiansky, Ph.D.
President, QuantPharm LLC
web: www.quantpharm.com
e-mail: LGibiansky at quantpharm.com
tel: (301) 767 5566
Quoted reply history
On 11/1/2010 11:42 AM, Ann Rigby-Jones wrote:
> Dear Matt & All
>
> I’m still battling I’m afraid…
>
> Can’t seem to get past theSUM OF "SQUARED" WEIGHTED INDIVIDUAL RESIDUALS
> IS INFINITE problem.
>
> I’ve now log-transformed my data, and deleted all but the first
> occurrence of a BQL data point from each individual. I’m confident that
> the initial estimates of the structural parameters aren’t too far out as
> I have already analysed the data set having deleted all BQL points.
>
> Any other ideas very gratefully received J
>
> Many thanks
>
> Ann
>
> $PROBLEM Step1&2 PK 3comp LAG BLQ M3
>
> $INPUT ID DOSE AMT RATE DUR TIME LNDV DV EVID ART FLG AGE WGT MDV
>
> $DATA step1&2PKBLQnoABSLNv2.csv IGNORE=#
>
> $SUBROUTINES ADVAN9 TOL=9
>
> $MODEL
>
> COMP(CENTRAL, DEFOBS, DEFDOSE) ;1
>
> COMP(PERIPH1) ;2
>
> COMP(PERIPH2) ;3
>
> $PK
>
> CL=THETA(1)*EXP(ETA(1))
>
> Q2=THETA(2)*EXP(ETA(2))
>
> Q3=THETA(3)*EXP(ETA(3))
>
> V1=THETA(4)*EXP(ETA(4))
>
> V2=THETA(5)*EXP(ETA(5))
>
> V3=THETA(6)*EXP(ETA(6))
>
> K10=CL/V1
>
> K12=Q2/V1
>
> K13=Q3/V1
>
> K21=Q2/V2
>
> K31=Q3/V3
>
> S1=V1
>
> IF (DUR.EQ.10) THEN
>
> ALAG1=THETA(7)*EXP(ETA(7))
>
> ELSE
>
> ALAG1=THETA(8)*EXP(ETA(7))
>
> ENDIF
>
> $DES
>
> DADT(1)=A(2)*K21 + A(3)*K31 - A(1)*(K10+K12+K13)
>
> DADT(2)=A(1)*K12 - A(2)*K21
>
> DADT(3)=A(1)*K13 - A(3)*K31
>
> ;DADT(1)=A(4)*KTR + A(2)*K21 + A(3)*K31 - A(1)*(K10+K12+K13)
>
> ;DADT(2)=A(1)*K12 - A(2)*K21
>
> ;DADT(3)=A(1)*K13 - A(3)*K31
>
> ;DADT(4)=-A(4)*KTR
>
> ;DADT(5)=A(4)*KTR - A(5)*KTR
>
> ;DADT(6)=A(5)*KTR - A(6)*KTR
>
> ;DADT(7)=A(6)*KTR - A(7)*KTR
>
> ;DADT(8)=A(7)*KTR - A(8)*KTR
>
> ;DADT(9)=A(8)*KTR - A(9)*KTR
>
> $ERROR (ONLY OBSERVATIONS)
>
> SIG1=THETA(9)
>
> ;LOQ = 0.4 ; nm/L
>
> ;IPRED = F
>
> LOQ = LOG(0.4)
>
> IPRED = LOG(F)
>
> DUM = (LOQ-IPRED)/(SIG1*IPRED)
>
> CUMD=PHI(DUM)
>
> IF(FLG.EQ.0)THEN ; FLG=0, MDV=0 non BQL values
>
> F_FLAG=0
>
> ;Y = F*(1+SIG1*ERR(1))
>
> Y=LOG(F) + SIG1*ERR(1)
>
> ENDIF
>
> IF(FLG.EQ.1)THEN ; FLG=1, MDV=0 BQL values
>
> F_FLAG=1
>
> Y=CUMD
>
> ENDIF
>
> $THETA (0, 696) ;CL
>
> $THETA (0, 513) ;Q2
>
> $THETA (0, 260) ;Q3
>
> $THETA (0, 5600) ;V1
>
> $THETA (0, 20500) ;V2
>
> $THETA (0, 38000) ;V3
>
> $THETA (0.2167, 0.548,1) ;ALAG 10MIN
>
> $THETA (0.00833, 0.101, 1) ;ALAG 1MIN
>
> $THETA (0, 0.5) ;SIG1
>
> $OMEGA (0.01) ; ETA CL
>
> $OMEGA (0.01) ; ETA Q2
>
> $OMEGA (0 FIX) ; ETA Q3
>
> $OMEGA (0.01) ; ETA V1
>
> $OMEGA (0 FIX) ; ETA V2
>
> $OMEGA (0 FIX) ; ETA V3
>
> $OMEGA (0 FIX) ; ETA LAG SHARED
>
> $SIGMA (1 FIXED)
>
> $ESTIMATION METHOD=1 LAPLACIAN NUMERICAL SLOW PRINT=1 MAX=9999 NOABORT
> SIG=3
>
> MSFO=msfo.outputfile
>
> $COVA
>
> $TABLE ID EVID AMT TIME IPRED
>
> NOPRINT FILE=AllRecords.txt
>
> $TABLE ID CL Q2 Q3 V1 V2 V3
>
> ETA1 ETA2 ETA3 ETA4 ETA5 ETA6 ETA7
>
> FIRSTONLY NOPRINT NOAPPEND FILE=FirstRecords.txt