# Temporal Interaction Function Objects

`twinstim_tiaf.Rd`

A temporal interaction function for use in `twinstim`

can be constructed via the `tiaf`

function.
It checks the supplied function elements, assigns defaults for
missing arguments, and returns all checked arguments in a list.
However, for standard applications it is much easier to use one of the
pre-defined temporal interaction functions, e.g.,
`tiaf.exponential`

.

## Arguments

- g
the temporal interaction function. It must accept two arguments, the first one being a vector of time points, the second one a parameter vector. For marked

`twinstim`

, it must accept the type of the event (integer code) as its third argument (either a single type for all locations or separate types for each location).- G
a primitive of \(g(t)\) (with respect to time). It must accept the same arguments as

`g`

, for instance a*vector*of time points (not just a single one).- deriv
optional derivative of \(g(t)\)

*with respect to the parameters*. It takes the same arguments as`g`

but returns a matrix with as many rows as there were time points in the input and`npars`

columns. This derivative is necessary for the calculation of the score function in`twinstim()`

, which is advantageous for the numerical log-likelihood maximization.- Deriv
optional primitive of

`deriv`

(with respect to time). It must accept the same arguments as`deriv`

,`g`

and`G`

and returns a matrix with as many rows as there were time points in the input and`npars`

columns. The integrated derivative is necessary for the score function in`twinstim`

.- npars
the number of parameters of the temporal interaction function

`g`

(i.e. the length of its second argument).- validpars
optional function taking one argument, the parameter vector, indicating if it is valid. This approach to specify parameter constraints is rarely needed, because usual box-constrained parameters can be taken into account by using L-BFGS-B as the optimization method in

`twinstim`

(with arguments`lower`

and`upper`

), and positivity constraints by using log-parametrizations. This component is not necessary (and ignored) if`npars == 0`

.

## See also

`tiaf.exponential`

for a pre-defined temporal interaction
function, and `siaf`

for the spatial interaction function.