1. Home
  2. FIELLER procedure

FIELLER procedure

Calculates effective doses or relative potencies (P.W. Lane).


PRINT = string token What to output (value); default valu
ESTIMATES = variate Parameter estimates; default extracts these with RKEEP
VCOVARIANCE = symmetric matrix Variances and covariances; default extracts these with RKEEP
%LIMIT = scalar Percentage points for limits; default 95, thus giving 95% confidence limits
RELATIVE = string token Whether to calculate relative potencies (no, yes); default no
LINK = string token Which link function to assume when forming effective doses (probit, logit, complementaryloglog); default obtained using RKEEP, if the ESTIMATES or VARIANCES are obtained in that way, otherwise prob
LOGBASE = string token Base of antilog transformation to be applied to value and limits, (ten, e); default * i.e. none
DF = scalar If this has a non-missing value, a t-distribution is used instead of a Normal distribution to calculate the confidence limits; default obtained using RKEEP if the ESTIMATES or VARIANCES are obtained in that way (setting DF to the number of residual d.f. when the dispersion factor is estimated, or a missing value when it is fixed), otherwise the default is a missing value


TREATMENT = variates, scalars or texts Positions of intercept parameters in list of estimates; default first estimate
SLOPE = variates, scalars or texts Positions of slope parameters in list of estimates; default last estimate
%DOSE = variates or scalars Percentage doses; default 50, thus giving LD50
VALUE = variates or scalars To store estimated values
LOWER = variates or scalars To store lower limits
UPPER = variates or scalars To store upper limits
SE = variates or scalars To store approximate s.e.s of values


Quantal data from bioassay experiments can be analysed with the regression directives by fitting a generalized linear model with a binomial distribution and a probit, logit or complementary log-log link function. The coefficients estimated by the regression directives are the intercepts and slopes of the lines fitted on the transformed scale. However, you often need LD50s: that is, estimates of the median effective doses (or LD90s, and so on). These quantities are ratios of the estimated coefficients, and fiducial limits and approximate standard errors can be derived for their estimates using Fieller’s theorem.

By default, FIELLER assumes that parameter estimates and their covariances can be extracted using the RKEEP directive from a fit already done using the regression directives. If this is not the case, these quantities must be supplied by setting the ESTIMATES and VCOVARIANCE options.

FIELLER can be used to estimate either effective doses of individual treatments (parallel or non-parallel regression lines) or relative potencies compared to a standard treatment (parallel regression lines only). For effective doses, you specify the percentage point with the option %DOSE: so the default, %DOSE=50, gives LD50s. The link function to be assumed in the calculations can be specified with the LINK option. If this is not specified, and the estimates or variances are being extracted using RKEEP, the LINK will be set (using the OMODEL option RKEEP) to the same link as in the fitted generalized linear model; otherwise the default is to use a probit link. For relative potencies, you should set option RELATIVE=yes; %DOSE and LINK are then not relevant. The DF parameter can be set to use a t-distribution instead of a Normal distribution when calculating the confidence limits; this would be relevant if the dispersion factor in the generalized linear model was being estimated instead of being fixed at 1 (i.e. if a heterogeneity factor is being used). If DF is unset and the estimates or variances are being extracted using RKEEP, FIELLER uses RKEEP to see whether the dispersion is fixed and, if so, sets DF to the number of residual d.f. in the analysis; otherwise the default setting for DF is a missing value, which indicates that a Normal distribution should be used.

The SLOPE and TREATMENT parameters should be set to indicate the estimates of the slope and intercept parameters to be used. You can do this either by supplying a scalar or variate giving the position or positions in the list of estimates, or by giving a text containing their labels (as used in the tables of estimates printed by FIT &c). For effective doses, any model that includes a treatment effect should be fitted without an intercept (i.e. setting option FULL=yes in the TERMS statement and CONSTANT=omit in the FIT statement) so that the estimates produced by the regression directives are absolute intercepts rather than differences. For relative potencies, an intercept should be included, and the standard treatment represented as the first level of the treatments factor so that the estimates are differences of intercepts.

The procedure prints the estimate with lower and upper fiducial limits. The range of the limits can be set by the %LIMIT option: the default is 95% limits. Printing can be turned off by setting PRINT=*. The results of the procedure can be stored in scalars or variates using the VALUE, LOWER and UPPER parameters; also an approximate standard error of the estimated value (before back transformation, if relevant) can be stored using parameter SE.




The fiducial limits are calculated using Fieller’s Theorem; see, for example,

Finney (1971, page 78).


Finney, D.J. (1971). Probit Analysis (third edition). Cambridge University Press, Cambridge.

See also


Commands for: Regression analysis.


CAPTION   'FIELLER example',\
          !t('The example estimates relative potencies of analgesic drugs',\ 
          '(data from Finney, 1971, Probit Analysis, 3rd Edition,',\
          'p. 104).'); STYLE=meta,plain
FACTOR    [LABELS=!T(Morphine,Amidone,Phenadoxone,Pethidine);\
          VALUES=3(1,2,3),5(4)] drug
READ      dose,ntest,nreact
  1.5 103 19    3 120 53    6 123 83  1.5 60 14    3 110 54
    6 100 81  .75  90 31  1.5  80 54    3  90 80    5 60 13
  7.5  85 27   10  60 32   15  90 55   20  60 44  :
CAPTION   'Fit parallel probit lines.'
CALCULATE logdose = LOG10(dose)
MODEL     [DISTRIBUTION=binomial; LINK=probit] nreact; NBINOMIAL=ntest
TERMS     drug,logdose
FIT       drug,logdose
CAPTION   !T('Estimate potencies relative to Morphine:',\ 
          'the estimate of logdose is last in the list of estimates',\
          '(assumed by default in FIELLER), and the estimates of',\
          'differences between the three drugs compared to morphine are',\
          'numbers 2, 3 and 4 in the list.'),\
          'Transform estimates to natural scale of doses.'
Updated on March 8, 2019

Was this article helpful?