DFT-SPEC: Specify a diffusion tree model, or display existing spec. Dft-spec creates a log file containing the specifications for a Dirichlet diffusion tree model, along with the associated priors over hyperparameters. When invoked with just a log file as an argument, it displays the specifications stored in that log file. Usage: dft-spec log-file N-inputs N-targets { / SD-prior c0 [ c1 [ c2 ] ] } or: dft-spec log-file N-inputs and N-targets are the numbers of input variables and target variables in the model. The model tries to represent the joint distribution of the targets. At present, the number of inputs (N-inputs) must be 0, but in future, input variables may be allowed, in which case the model will define a joint conditional distribution for the target values given observed values for the inputs. One or more specifications for Dirichlet diffusion trees must follow the number of targets. The values at the terminal nodes of all these trees are added together to give the values used to model the observed data. Each specification starts with a prior for the standard deviations of the diffusion process for each variable, in a two-level hierarchical form, in which a top level standard deviation common to all variables gives the centre of the prior for the standard deviation for each individual variable. For the syntax of hierarchical prior specifications, see prior.doc. Note that levels in the hierarcy can be omitted, and in particular, a prior specification that is just a number produces a degenerate prior in which the parameter is fixed at that number. The remainder of the specification for a diffusion tree is the prior for the parameters of the divergence function. At present, divergence functions of the following form are supported: a(t) = c0 + c1/(1-t) + c2/(1-t)^2 Priors for the parameters c0, c1, and c2 are specified in the same format as the standard deviation prior, except that there is only one level. A simple number makes the corresponding parameter be a constant, and specifying zero or "-" eliminates the corresponding term. If c2 and/or c1 are omitted, they default to zero. The specification of the overall model is completed using the model-spec command (see model-spec.doc), which specifies whether the model is for binary or real data. For real data, model-spec specifies the prior for the "noise" standard deviations, in a three-level hierarchical form, which allows for a top-level standard deviation common to all target values, giving the centre of the prior distribution for the standard deviation for each target value. If there are only two levels, the distribution of the data is normal with this noise standard deviation and with mean given by the sum of the values from the diffusion trees. If a third level is given, the data has a t distribution with degrees of freedom given by the third alpha value. For binary data, the probability that a target is 1 is 1/(1+exp(-v)), where v is the latent value for that variable, which is the sum of the diffusion values from the diffusion trees. If no data model is specified, the data is assumed to be real valued, and to have no additional noise (ie, the diffusion tree(s) directly produce the observed values). Note: There is no way at present to make the diffusion trees have anything other than zero means for each variable, but you can get an equivalent effect by transforming the target values by subtracting a constant, as described in data-spec.doc. Copyright (c) 1995-2004 by Radford M. Neal