+--------------------------------------------------------------------+ | | | PRED | | | +--------------------------------------------------------------------+ MEANING: PRED subroutine CONTEXT: User-supplied routine; required with NONMEM USAGE: Versions before NONMEM 7.2: SUBROUTINE PRED (ICALL,NEWIND,THETA,DATREC,INDXS,F,G,H) USE SIZES, ONLY: DPSIZE,ISIZE,LVR REAL(KIND=DPSIZE) :: DATREC INTEGER(KIND=ISIZE) :: ICALL,NEWIND,INDXS DIMENSION :: THETA(*),DATREC(*),INDXS(*),G(LVR,*),H(LVR,*) With NONMEM 7.2 and higher: SUBROUTINE PRED (ICALL,NEWIND,THETA,DATREC,INDXS,F,G,H) USE SIZES, ONLY: DPSIZE,ISIZE USE PRDIMS,ONLY: GPRD,HPRD,GERD,HERD,GPKD IMPLICIT REAL(KIND=DPSIZE) (A-Z) REAL(KIND=DPSIZE) :: DATREC INTEGER(KIND=ISIZE) :: ICALL,NEWIND,INDXS REAL(KIND=DPSIZE) :: G(GPRD,*),H(HPRD,*) DIMENSION :: THETA(*),DATREC(*),INDXS(*) DISCUSSION: The PRED subroutine is called by NONMEM to obtain modeled values. (PREDPP is a PRED subroutine that is distributed with NONMEM.) Input argument: ICALL ICALL=-1: the routine has been called for the PRED_IGNORE_DATA fea- ture of NONMEM 7.5. One call per data record, at the start of the run. These calls occur only if abbreviated code uses variables PRED_IGNORE_DATA or PRED_IGNORE_DATA _TEST, or if the PRED_IGNORE_DATA option of $DATA is used. Otherwise, there are no calls to PRED with ICALL=-1. ICALL=0: PRED has been called for initialization purposes at the beginning of the NONMEM run; one such call per run. DATREC contains the first data record. THETA contains the initial estimates. PRED need not compute F, G, or H. ICALL=1: PRED has been called for initialization purposes at the beginning of a NONMEM problem; one such call per problem. Otherwise, identical to ICALL=0. ICALL=2: For the data record contained in DATREC, PRED has been called for the purpose of computing F, the value of the prediction, and/or the values of other PRED-defined items, appropriate for the record. PRED should compute F, and also G and H as appropriate. THETA con- tains the values to be used to compute F. With conditional estima- tion, to obtain ETA values, PRED should call GETETA. ICALL=3: PRED has been called for finalization purposes at the end of a NONMEM problem; one such call per (sub)problem. DATEC contains the first data record. THETA contains the final estimates. Otherwise, identical to ICALL=0. ICALL=4: For the data record contained in DATREC, PRED has been called during the Simulation Step for the purpose of computing a value of the dependent variable and, possibly, values of independent variables, appropriate for the record. PRED should compute F (the value of the dependent variable). THETA contains the initial estimates, which are the values to be used to compute F. PRED should call SIMETA (and SIMEPS) to obtain simulated values of ETA (and EPS). ICALL=5: For the data record contained in DATREC, PRED has been called for the purpose of computing the expectation of the PRED item and pos- sibly, the expectations of other PRED-defined items, appropriate for the record. Such a call occurs when the marginal data item (MRG_) is defined in the data set and has a non-zero value for the data record in question. If the MRG_ data item on the record has the value 1 or 2, the value returned by PRED in F contributes to the expectation of the PRED item. Similarly, the values returned in other PRED-defined items contribute to expectations of these items. THETA contains the final estimates. The expectations in question are over possible val- ues of ETA, and to obtain ETA values, PRED should call GETETA. ICALL=6: PRED has been called for the purpose of computing the raw data average of the DV data items and, possibly, the raw data averages of PRED-defined items. Such a call occurs when the raw-data data item (RAW_) is defined in the data set and has a non-zero value for a tem- plate data record (See template). The value of the DV data item in the data record contained in DATREC will be included in the raw data average of the DV data items. However, when the raw data average cor- responding to the label DV in a table or scatterplot is to be differ- ent from the raw data average of the DV items themselves, PRED may recompute the value of DV. PRED may return a value of 1 in F to omit the DV item in the data record from the average. NEWIND NEWIND=0: First record of the data set. THETA value may differ from value at last call with this record. NEWIND=1: First record of the data set, THETA value does not dif- fer from value at last call with this record, and PRED is nonre- cursive (see I_REC), or, First record of a subsequent individual record. NEWIND=2: Subsequent data record of an individual record. THETA The NONMEM THETA vector. DATREC The current data record. INDXS The values specified in the $INDEX record of the NM-TRAN control stream. Output argument: F When ICALL=2, the prediction associated with the data record. With odd-type data, the likelihood of the observation in the record, but if there is no observation, F is ignored. When ICALL=4, the value of the simulated observation associated with the data record. Alternatively, F can be ignored, and the DV item in the data record can be directly set to the value of the simulated observation. With odd-type data, F is ignored; PRED should directly set the DV item to the value of the simu- lated observation. G An array of derivatives of F with respect to etas. Values should be set when ICALL=2. G(i,1) is the partial derivative of F with respect to eta(i). When the data are population, G(i,j+1) is the second partial de- rivative of F with respect to eta(i), eta(j) (lower-triangular; j=1,..., i). Second derivatives are needed only when the Laplacian method is used to estimate parameters. H An array of partial derivatives of F with respect to epsilons. When the data are population, values should be set when ICALL=2. H(i,1) is the derivative of F with respect to eps(i). H(i,j+1) is the partial derivative of H(i,1) with respect to eta(j) These mixed second derivatives are needed only when the INTERAC- TION option is used to estimate parameters. (See $ESTIMATION). Also see variables in NONMEM modules, NONMEM-PRED modules, and PREDPP modules. (See variables in modules) REFERENCES: Guide I Section C.2 REFERENCES: Guide IV Section III.B.8, IV REFERENCES: Guide V Section 12.3Go to main index.Created by nmhelp2html v. 1.0 written by Niclas Jonsson (Modified by AJB 5/2006,11/2007,10/2012)