\( \newcommand{\ptopals}{PTOPALS} \newcommand{\mprob}{q} \newcommand{\smprob}{\hat{\mprob}} \newcommand{\bmat}{B} \newcommand{\mmult}{\cdot} \newcommand{\bvec}{\theta} \newcommand{\maxage}{\omega} \newcommand{\nbasis}{n} \newcommand{\omprob}{Q} \newcommand{\mig}{M} \newcommand{\pop}{N} \newcommand{\loglik}{{\cal L}} \newcommand{\res}{y} \newcommand{\diff}{D} \newcommand{\pen}{\lambda} \newcommand{\vmat}{V} \newcommand{\dres}{x} \newcommand{\diag}{\mathrm{diag}} \newcommand{\old}[1]{{\tilde{#1}}} \newcommand{\wmat}{W} \newcommand{\AIC}{\mathrm{AIC}} \newcommand{\dev}{\mathrm{dev}} \newcommand{\edim}{\mathrm{dim}} \newcommand{\const}{C} \newcommand{\trace}{\mathrm{tr}} \newcommand{\hatmat}{H} \newcommand{\extrainfo}[1]{\texttt{#1}} \newcommand{\exvalue}[1]{\textsl{#1}} \newcommand{\knotspacing}{\Delta x} \newcommand{\nintern}{n} \newcommand{\ceil}[1]{\left\lceil #1\right\rceil} \)

PTOPALS

The PTOPALS buildmethod fits migration probabilities by representing them relative to a standard migration curve in terms of a linear P-Spline (see Dyrting 2020 and Dyrting and Taylor 2024).

Extra Information

The user must specify the population \(\pop\) and the standard migration probabilities \(\smprob\) using and extrainfo string of the form PTOPALS:PInfo,SInfo[,ExtraInfo]. If PInfo is a number then the population \(\pop_x\) is flat at this value. If it is a string then it specifies the handle of a PCURVE object. If SInfo is a number then the standard migration probabilities are flat at this value. If it is a string then it specifies the handle of the standard MIGRATION object. ExtraInfo is an optional comma-separated list of quoted strings of the form "Parameter=Value" which can be used to change the method's default settings.

Degree
By default PTOPALS uses linear B-Splines. The degree of splines can be changed with the extrainfo string "Degree=m".

Order
By default PTOPALS uses a first order penalty \(k=1\)". The order can be changed with the extrainfo string "Order=k".

Knots

There are two ways to set the B-Spline knots. The first way is to set the maximum age using extrainfo string "MaxAge=\(\maxage\)". The internal points are then equally spaced upwards from 1 as follows \begin{eqnarray} x_0&=&0\\ x_1&=&1\\ x_i &= &x_{i-1}+\knotspacing,\quad i=2,\ldots,\nintern\\ x_{\nintern+1}&=&\maxage \end{eqnarray} where \begin{equation} \nintern=\ceil{\frac{\maxage-1}{\knotspacing}} \end{equation} and the spacing \(\knotspacing\) is specified by the extrainfo string "KnotSpacing=\(\knotspacing\)". The default values are \(\maxage=110\) and \(\knotspacing=2\). The second way is to set the knots explicitly using the extrainfo string "Knots=\(x_0\)|\(x_1\)|\(x_2\)|\(\ldots\)|\(x_\nintern\)|\(\maxage\)".

Penalty
By default PTOPALS automatically calculates the penalty \(\pen\) by minimizing the Bayesean information criterion ("Penalty=BIC"). An alternative is the Akaike information criterion ("Penalty=AIC"). The penalty can also be specified explicitly using "Penalty=\(\pen\)".