<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Appl. Math. Stat.</journal-id>
<journal-title>Frontiers in Applied Mathematics and Statistics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Appl. Math. Stat.</abbrev-journal-title>
<issn pub-type="epub">2297-4687</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">759622</article-id>
<article-id pub-id-type="doi">10.3389/fams.2021.759622</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Applied Mathematics and Statistics</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Shape-Based Classification of Partially Observed Curves, With Applications to Anthropology</article-title>
<alt-title alt-title-type="left-running-head">Matthews et&#x20;al.</alt-title>
<alt-title alt-title-type="right-running-head">Classification of Partially Observed Curves</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Matthews</surname>
<given-names>Gregory J.</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1491177/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Bharath</surname>
<given-names>Karthik</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Kurtek</surname>
<given-names>Sebastian</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1420457/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Brophy</surname>
<given-names>Juliet K.</given-names>
</name>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<xref ref-type="aff" rid="aff5">
<sup>5</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Thiruvathukal</surname>
<given-names>George K.</given-names>
</name>
<xref ref-type="aff" rid="aff6">
<sup>6</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/908208/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Harel</surname>
<given-names>Ofer</given-names>
</name>
<xref ref-type="aff" rid="aff7">
<sup>7</sup>
</xref>
</contrib>
</contrib-group>
<aff id="aff1">
<label>
<sup>1</sup>
</label>Department of Mathematics and Statistics, Loyola University Chicago, <addr-line>Chicago</addr-line>, <addr-line>IL</addr-line>, <country>United&#x20;States</country>
</aff>
<aff id="aff2">
<label>
<sup>2</sup>
</label>School of Mathematical Sciences, University of Nottingham, <addr-line>Nottingham</addr-line>, <country>United&#x20;Kingdom</country>
</aff>
<aff id="aff3">
<label>
<sup>3</sup>
</label>Department of Statistics, The Ohio State University, <addr-line>Columbus</addr-line>, <addr-line>OH</addr-line>, <country>United&#x20;States</country>
</aff>
<aff id="aff4">
<label>
<sup>4</sup>
</label>Department of Geography and Anthropology, Louisiana State University, <addr-line>Baton Rouge</addr-line>, <addr-line>LA</addr-line>, <country>United&#x20;States</country>
</aff>
<aff id="aff5">
<label>
<sup>5</sup>
</label>Centre for the Exploration of the Deep Human Journey, University of the Witwatersrand, <addr-line>Johannesburg</addr-line>, <country>South Africa</country>
</aff>
<aff id="aff6">
<label>
<sup>6</sup>
</label>Department of Computer Science, Loyola University Chicago, <addr-line>Chicago</addr-line>, <addr-line>IL</addr-line>, <country>United&#x20;States</country>
</aff>
<aff id="aff7">
<label>
<sup>7</sup>
</label>Department of Statistics, University of Connecticut, <addr-line>Mansfield</addr-line>, <addr-line>CT</addr-line>, <country>United&#x20;States</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/445417/overview">Anuj Srivastava</ext-link>, Florida State University, United&#x20;States</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1181783/overview">Mawardi Bahri</ext-link>, Hasanuddin University, Indonesia</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/388856/overview">Christian Gerhards</ext-link>, University of Vienna, Austria</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Gregory J.&#x20;Matthews, <email>gmatthews1@luc.edu</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Mathematics of Computation and Data&#x20;Science, a section of the journal Frontiers in Applied Mathematics and Statistics</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>26</day>
<month>10</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>7</volume>
<elocation-id>759622</elocation-id>
<history>
<date date-type="received">
<day>16</day>
<month>08</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>28</day>
<month>09</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Matthews, Bharath, Kurtek, Brophy, Thiruvathukal and Harel.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Matthews, Bharath, Kurtek, Brophy, Thiruvathukal and Harel</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>We consider the problem of classifying curves when they are observed only partially on their parameter domains. We propose computational methods for (i) completion of partially observed curves; (ii) assessment of completion variability through a nonparametric multiple imputation procedure; (iii) development of nearest neighbor classifiers compatible with the completion techniques. Our contributions are founded on exploiting the geometric notion of shape of a curve, defined as those aspects of a curve that remain unchanged under translations, rotations and reparameterizations. Explicit incorporation of shape information into the computational methods plays the dual role of limiting the set of all possible completions of a curve to those with similar shape while simultaneously enabling more efficient use of training data in the classifier through shape-informed neighborhoods. Our methods are then used for taxonomic classification of partially observed curves arising from images of fossilized Bovidae teeth, obtained from a novel anthropological application concerning paleoenvironmental reconstruction.</p>
</abstract>
<kwd-group>
<kwd>shapes of parameterized curves</kwd>
<kwd>curve completion</kwd>
<kwd>invariance</kwd>
<kwd>multiple imputation</kwd>
<kwd>classification</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Modern functional and curve data come in all shapes and sizes (pun intended!). A particular type of functional data that is starting to receive attention in recent years consists of univariate functions that are only observed in sub-intervals of their interval domains. Names for such data objects abound: censored functional data [<xref ref-type="bibr" rid="B1">1</xref>]; functional fragments [<xref ref-type="bibr" rid="B2">2</xref>,<xref ref-type="bibr" rid="B3">3</xref>]; functional snippets [<xref ref-type="bibr" rid="B4">4</xref>]; partially observed functional data [<xref ref-type="bibr" rid="B5">5</xref>]. Similar work with multivariate functional data or parametric curves in <inline-formula id="inf1">
<mml:math id="m1">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mo>&#x2265;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> are conspicuous in their absence. The methodological focus of this paper, consequently, is twofold: develop easily implementable computational algorithms for completion of partially observed planar curves and assess completion variability; incorporate the completion procedure into a procedure to classify partially observed curves. An equally important objective relates to taxonomic classification of partial curves representing outlines of fossilized teeth of extant, southern African bovids (antelopes and buffaloes) extracted from a novel anthropological imaging dataset.</p>
<p>The leitmotif of our approach lies in the explicit use of shapes of curves as a mechanism to not only counter the ill-posed nature of the problem of &#x201c;sensibly&#x201d; imputing or completing the missing piece of a partially observed curve, but also to use the metric geometry of the shape space of curves profitably when developing a suitable classifier. The rationale behind using shapes of curves can be explained quite simply. Fundamental to the routine task of comparing and identifying objects by humans or a computer is an implicit understanding of a set of symmetries or transformations pertaining to its shape: those properties or features of the object that are unaffected by nuisance information (e.g., orientation of the camera under which the object is imaged). Such an understanding assumes added importance when the object is only partially observed (e.g., identifying a chair hidden behind a table based on the backrest only) since it eliminates the need to consider a substantially large class of possible completions of the object. In the context of partially observed curves, working with their shapes leads to completions that are compatible with the shapes of fully observed curves in a training dataset. Relatedly, from an operational perspective, any formulation of completion of a missing piece of a curve based on an endpoints-constrained curve, either through deterministic or probabilistic model-based techniques, suffers from having too many degrees-of-freedom. As a result, the parameter space of missing pieces to search over needs to be constrained to obtain meaningful curve completions; we propose to impose such a shape-related constraint.</p>
<p>For example, in the anthropological application, any sensible completion of a bovid tooth should assume the shape of a tooth. We can constrain the parameter space comprising open curves, with endpoints constrained to match that of the partially observed curve, while determining a sensible completion based on the requirement that the completion should be tooth-like. <xref ref-type="fig" rid="F1">Figure&#x20;1</xref> shows an example of using shape information to complete a bovid tooth using <xref ref-type="other" rid="alg1">Algorithm 1</xref> (<xref ref-type="sec" rid="s3">Section 3</xref>) and compares it to an arbitrary completion devoid of explicit shape information.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>
<italic>Anthropological application with bovid teeth</italic>. <bold>Left:</bold> Image of a partial tooth with the segmentation overlaid in red. <bold>Middle; Right:</bold> Shape-informed and arbitrary completions (blue) of the observed partial tooth (red), respectively.</p>
</caption>
<graphic xlink:href="fams-07-759622-g001.tif"/>
</fig>
<p>An important consideration when considering shape of a curve is its scale. Strictly speaking, scaling a curve does not alter its shape, and it is hence a nuisance transformation. However, in our motivating application from anthropology, the size of bovid teeth is known to have important taxonomical information and can hence potentially improve discriminatory power in the classification problem [<xref ref-type="bibr" rid="B6">6</xref>]. We will therefore accord due consideration to scale information when comparing shapes of curves; in shape analysis vernacular, this is referred to as size-and-shape analysis. For simplicity, we will continue to chraracterize our approach as shape-informed.</p>
<p>Research in geometry-based statistical analysis of shapes of arbitrarily parameterized planar curves is quite mature; see, for example, [<xref ref-type="bibr" rid="B7">7</xref>,<xref ref-type="bibr" rid="B8">8</xref>] for foundational details and the R package fdasrvf for computational tools. Leveraging this, our main contributions are as follows.<list list-type="simple">
<list-item>
<p>1) We develop a gradient-based algorithm (<xref ref-type="other" rid="alg1">Algorithm 1</xref>) for shape-informed partial matching and completion with respect to a complete template/donor&#x20;curve.</p>
</list-item>
<list-item>
<p>2) In order to assess and visualize variability of completions from <xref ref-type="other" rid="alg1">Algorithm 1</xref>, given a training dataset of fully observed curves, we propose an adaptation of the hot-deck imputation method used on traditional Euclidean data to generate several imputations or completions (<xref ref-type="other" rid="alg2">Algorithm&#x20;2</xref>).</p>
</list-item>
<list-item>
<p>3) We propose two nearest neighbor classification procedures for partially observed curves based on shape distances by utlizing completions obtained from any of the above two algorithms.</p>
</list-item>
</list>
</p>
<sec id="s1-1">
<title>1.1 Related Work</title>
<p>Partially observed curves arise as data in several applications. In medical imaging, the appearance of anatomies in images of various modalities is often summarized through the shapes of their outlines. Partial curves arise due to (i) low resolution and contrast of many medical imaging modalities (e.g., PET or CT); (ii) a boundary of an organ being obscured by other organs or hard to identify due to similar appearance of neighboring tissues [<xref ref-type="bibr" rid="B9">9</xref>]. In handwriting analysis, a key task is the segmentation of samples of handwriting (curves) into letters or syllables, followed by imputation of incomplete curves [<xref ref-type="bibr" rid="B10">10</xref>]. Shapes of occluded objects, such as tanks, are also routinely used in military applications, where only part of the object&#x2019;s boundary is reliable and the rest must be imputed based on prior shape knowledge&#x20;[<xref ref-type="bibr" rid="B9">9</xref>].</p>
<p>There is a substantial literature on missing data and shape analysis, however, most of the work is restricted to data obtained as multivariate morphological measurements. For example, [<xref ref-type="bibr" rid="B11">11</xref>] examines missing data in the morphology of crocodile skulls based on linear morphometric measurements of the skulls, in contrast to using landmarks or entire outlines (curves). Missing data methods for landmark-based shape data have been developed in [<xref ref-type="bibr" rid="B12">12</xref>, <xref ref-type="bibr" rid="B13">13</xref>, <xref ref-type="bibr" rid="B14">14</xref>, <xref ref-type="bibr" rid="B15">15</xref>]. By defining landmarks on each shape, the problem can be framed in a more traditional statistical setting where each landmark can be thought of as a covariate and more traditional missing data techniques, such as the EM algorithm and multiple imputation, can be used. [<xref ref-type="bibr" rid="B16">16</xref>] look at four different methods for dealing with missing landmark data: Bayesian Principal Component Analysis (BPCA), least-squares regression, thin-plate splines (TPS), and mean substitution. Additional work on missing data can be found in [<xref ref-type="bibr" rid="B17">17</xref>], which focuses on missing data in Procrustes analysis, and [<xref ref-type="bibr" rid="B18">18</xref>], which considers occluded landmark&#x20;data.</p>
<p>The work most closely related to this current study can be found in [<xref ref-type="bibr" rid="B19">19</xref>], which studies the problem of matching a partially observed shape to a full shape. [<xref ref-type="bibr" rid="B19">19</xref>] performs partial matching using the Square-Root Velocity framework, and this is the framework we use as well in the sequel. Our work in a certain sense goes beyond their work and incorporates missing data techniques into the completion procedure, and additionally is tailored towards the classification task. [<xref ref-type="bibr" rid="B9">9</xref>] incorporates prior shape information in Bayesian active contours that can be used to estimate object boundaries in images when the class of the object of interest is known; they demonstrate the usefulness of this approach when the object boundary is partially obscured. [<xref ref-type="bibr" rid="B20">20</xref>] considers the problem of identifying shapes in cluttered point clouds. They formulate a Bayesian classification model that also heavily relies on prior shape information. Finally, there is some recent work on missing data techniques for functional data analysis [<xref ref-type="bibr" rid="B21">21</xref>, <xref ref-type="bibr" rid="B22">22</xref>,&#x20;<xref ref-type="bibr" rid="B23">23</xref>].</p>
</sec>
</sec>
<sec id="s2">
<title>2 Shapes of Parameterized Curves</title>
<p>The main objects of interest in this work are parameterized curves and their shapes. Defining a suitable distance metric to compare their shapes is of fundamental importance in order to suitably formalize the notion of a &#x201c;best completion of a partial curve&#x201d;. From several available in the literature, we consider two distances that are suitable for our needs. We provide a description of the mathematical formulation for these two distances in the following, and refer the interested reader to [<xref ref-type="bibr" rid="B24">24</xref>] for more details. As discussed in the Introduction, the size of bovid teeth contains potentially taxon (class)-distinguishing information, and we hence consider the notion of size-and-shape of a curve. Throughout, for ease of exposition, we simply say shape to mean size-and-shape.</p>
<p>Denote by <inline-formula id="inf2">
<mml:math id="m2">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> the unit circle on the plane, and let <inline-formula id="inf3">
<mml:math id="m3">
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> be an absolutely continuous, simple, parameterized closed curve representing the full outline of a bovid tooth. We will identify <inline-formula id="inf4">
<mml:math id="m4">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> with the unit interval <inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x2282;</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:math>
</inline-formula> and enforce the endpoint constraint <italic>&#x3b2;</italic>(0) &#x3d; <italic>&#x3b2;</italic>(1) to represent a closed curve. Denote by <inline-formula id="inf6">
<mml:math id="m6">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula> the space of all such <italic>&#x3b2;</italic>. If <italic>&#x3b2;</italic>
<sub>1</sub> and <italic>&#x3b2;</italic>
<sub>2</sub> are assumed to be parameterized according to arc-length, then <inline-formula id="inf7">
<mml:math id="m7">
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mtext>d</mml:mtext>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> is a viable distance between them, where &#x7c;&#x22c5;&#x7c; is the standard Euclidean norm in <inline-formula id="inf8">
<mml:math id="m8">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>. In order to account for nuisance information that does not alter the shape of <italic>&#x3b2;</italic>
<sub>1</sub> and <italic>&#x3b2;</italic>
<sub>2</sub>, one must further remove variability due to translation and rotation. The two variabilities are accounted for by defining equivalence classes <inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>T</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, where <italic>SO</italic>(2) is the group of 2 &#xd7; 2 rotation matrices, i.e.,&#x20;orthogonal matrices with determinant equal to 1. Note that the <inline-formula id="inf10">
<mml:math id="m10">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> distance between <italic>&#x3b2;</italic>
<sub>1</sub> and <italic>&#x3b2;</italic>
<sub>2</sub> is unchanged if both curves are translated and rotated by the same <inline-formula id="inf11">
<mml:math id="m11">
<mml:mi>T</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> or <italic>O</italic>&#x20;&#x2208; <italic>SO</italic>(2). Thus to compare the shapes of two curves <italic>&#x3b2;</italic>
<sub>1</sub> and <italic>&#x3b2;</italic>
<sub>2</sub> in <inline-formula id="inf12">
<mml:math id="m12">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>, we can use the <italic>non-elastic shape distance</italic>
<disp-formula id="e1">
<mml:math id="m13">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>.</mml:mo>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>This optimization problem can be solved in a straightforward fashion through Procrustes analysis [<xref ref-type="bibr" rid="B25">25</xref>]. The distance is termed non-elastic as it requires one to fix curve parameterizations to arc-length. Note that while <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> is defined on <inline-formula id="inf13">
<mml:math id="m14">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>, it is in fact a distance on the shape space <inline-formula id="inf14">
<mml:math id="m15">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>:</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">B</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> of arc-length parameterized closed curves consisting of equivalence classes as points. This ensures that <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> (<italic>&#x3b2;</italic>
<sub>1</sub>, <italic>&#x3b2;</italic>
<sub>2</sub>) &#x3d; 0 if there exists <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> such that <italic>&#x3b2;</italic>
<sub>2</sub> &#x3d; <italic>O&#x3b2;</italic>
<sub>1</sub> &#x2b; <italic>T</italic>; in other words, the distance measured with <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> is zero for two curves having the same&#x20;shape.</p>
<p>If one desires to allow flexible parameterizations for shape analysis, the <inline-formula id="inf16">
<mml:math id="m17">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> metric is no longer a feasible choice as it is not invariant to re-parameterizations: &#x2016;<italic>&#x3b2;</italic>
<sub>1</sub> &#x2212; <italic>&#x3b2;</italic>
<sub>2</sub>&#x2016; &#x2260; &#x2016;<italic>&#x3b2;</italic>
<sub>1</sub>&#x25e6;<italic>&#x3b3;</italic> &#x2212; <italic>&#x3b2;</italic>
<sub>2</sub>&#x25e6;<italic>&#x3b3;</italic>&#x2016;, where <inline-formula id="inf17">
<mml:math id="m18">
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> belongs to the class &#x393; of orientation-preserving diffeomorphisms of <inline-formula id="inf18">
<mml:math id="m19">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> that represent re-parameterizations of curves in <inline-formula id="inf19">
<mml:math id="m20">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>. When <inline-formula id="inf20">
<mml:math id="m21">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> is identified with [0, 1], elements of the group &#x393; can be viewed in the following manner. Consider the class of <inline-formula id="inf21">
<mml:math id="m22">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>:</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mo>&#x2192;</mml:mo>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mtext>&#x2009;continuous&#x2009;and&#x2009;increasing</mml:mtext>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Each function in the class is such that <inline-formula id="inf22">
<mml:math id="m23">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>t</mml:mi>
</mml:math>
</inline-formula> is periodic with period 1. Moreover, each function of the class induces a re-parameterization <inline-formula id="inf23">
<mml:math id="m24">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> with <inline-formula id="inf24">
<mml:math id="m25">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>i</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, where <inline-formula id="inf25">
<mml:math id="m26">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is referred to as the lift of <italic>&#x3b3;</italic>
<sub>
<italic>s</italic>
</sub>, which is then orientation-preserving. Operationally, the construction implies that <inline-formula id="inf26">
<mml:math id="m27">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> can be expressed as <inline-formula id="inf27">
<mml:math id="m28">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x303;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>c</mml:mi>
</mml:math>
</inline-formula> for some <italic>&#x3b3;</italic> : [0, 1] &#x2192; [0, 1], which is a diffeomorphism of [0, 1], except at <italic>t</italic>&#x20;&#x3d; 1, and <italic>c</italic>&#x20;&#x2208; (0, 1]. We thus construct a diffeomorphism of <inline-formula id="inf28">
<mml:math id="m29">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> by &#x201c;unwrapping&#x201d; <inline-formula id="inf29">
<mml:math id="m30">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> at some point <italic>s</italic>, and generating such a <italic>&#x3b3;</italic> by identifying <italic>s</italic> with 0 (and 1). Henceforth, we will refer to such a <italic>&#x3b3;</italic> as an orientiation-preserving reparameterization of <inline-formula id="inf30">
<mml:math id="m31">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, and carry out computations with [0, 1] as the parameterization domain.</p>
<p>Since re-parameterization completely preserves the image of a curve <italic>&#x3b2;</italic>, a distance based on a Riemannian metric that captures infinitesimal bending and stretching can be used. Several families of such metrics, termed as <italic>elastic</italic> have been considered [<xref ref-type="bibr" rid="B26">26</xref>, <xref ref-type="bibr" rid="B27">27</xref>]; however, almost all of them are difficult to compute in practice and require non-trivial approximations.</p>
<p>A solution to this key issue was proposed in [<xref ref-type="bibr" rid="B7">7</xref>]. Specifically, a particular elastic metric is related to the usual <inline-formula id="inf31">
<mml:math id="m32">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> one when a curve is transformed bijectively to its Square-Root Velocity Function (SRVF): <inline-formula id="inf32">
<mml:math id="m33">
<mml:mi mathvariant="script">B</mml:mi>
<mml:mo>&#x220b;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x21a6;</mml:mo>
<mml:mi>Q</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>:</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, where <inline-formula id="inf33">
<mml:math id="m34">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the time-derivative. Under this transformation, &#x2016;<italic>q</italic>
<sub>1</sub> &#x2212; <italic>q</italic>
<sub>2</sub>&#x2016; &#x3d; &#x2016;(<italic>q</italic>
<sub>1</sub>, <italic>&#x3b3;</italic>) &#x2212; (<italic>q</italic>
<sub>2</sub>, <italic>&#x3b3;</italic>)&#x2016;, where <inline-formula id="inf34">
<mml:math id="m35">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2254;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x25e6;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:msqrt>
</mml:math>
</inline-formula> is the re-parameterization action on the SRVF. Translations are automatically removed by the use of the derivative. Let <inline-formula id="inf35">
<mml:math id="m36">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mspace width="0.3333em"/>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi>q</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> denote the <italic>linear space</italic> of SRVF-transformed open curves; the space of closed curve SRVFs involves an additional closure condition: <inline-formula id="inf36">
<mml:math id="m37">
<mml:mi mathvariant="script">Q</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>q</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mtext>d</mml:mtext>
<mml:mi>t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>. Thus, <inline-formula id="inf37">
<mml:math id="m38">
<mml:mi mathvariant="script">Q</mml:mi>
</mml:math>
</inline-formula>, the space of closed curve SRVFs, is a subset of <inline-formula id="inf38">
<mml:math id="m39">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="script">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, the space of open curve SRVFs. We refer to [<xref ref-type="bibr" rid="B7">7</xref>, <xref ref-type="bibr" rid="B24">24</xref>] for more details.</p>
<p>The corresponding elastic distance <italic>d</italic>
<sub>
<italic>E</italic>
</sub> between two curves <inline-formula id="inf39">
<mml:math id="m40">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula> is defined using their SRVFs, wherein in addition to rotations, re-parameterizations are also now optimized over:<disp-formula id="e2">
<mml:math id="m41">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>min</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#xd7;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>O</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x25e6;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msqrt>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:msqrt>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>,</mml:mo>
</mml:math>
<label>(2)</label>
</disp-formula>where the equivalence class <inline-formula id="inf40">
<mml:math id="m42">
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>q</mml:mi>
<mml:mo>&#x25e6;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:msqrt>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> now represents an elastic shape, i.e.,&#x20;an equivalence of <italic>q</italic> under the action of <italic>SO</italic>(2) and &#x393;, which can be applied in any order. The optimization over <italic>SO</italic>(2) is solved <italic>via</italic> Procrustes analysis as before, while the one over &#x393; is addressed using Dynamic Programming or a gradient descent algorithm. This process is referred to as registration: it provides an optimal, under the elastic metric, correspondence between the shapes of <italic>q</italic>
<sub>1</sub> and <italic>q</italic>
<sub>2</sub>. Details of computing <italic>d</italic>
<sub>
<italic>E</italic>
</sub> can be found in [<xref ref-type="bibr" rid="B24">24</xref>]. Correspondingly, define the shape space of SRVF-transformed closed curves as <inline-formula id="inf41">
<mml:math id="m43">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>:</mml:mo>
<mml:mi>q</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">Q</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>In summary, if closed planar curves representing outlines of bovid teeth are assumed to be arc-length parameterized, we can use the non-elastic distance <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> on the shape space <inline-formula id="inf42">
<mml:math id="m44">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> to compare their shapes. On the other hand, if the curves are allowed to have arbitrary parameterizations, it is more appropriate to consider their SRVF transforms and the shape space <inline-formula id="inf43">
<mml:math id="m45">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, equipped with the elastic distance <italic>d</italic>
<sub>
<italic>E</italic>
</sub>. Moreover, it is clear that the distances <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> and <italic>d</italic>
<sub>
<italic>E</italic>
</sub> are valid for open curves as well, i.e.,&#x20;in the case <italic>&#x3b2;</italic> (0) &#x2260; <italic>&#x3b2;</italic> (1). We will use the distances for both open and closed curves without qualification; context will disambiguate their&#x20;usage.</p>
</sec>
<sec id="s3">
<title>3 Partial Shape Matching and Completion</title>
<p>We first focus on how a single partially observed curve can be completed. Indeed, this requires a template or donor curve that is fully observed, so that the partially observed one can be matched and compared to different pieces of the fully observed one. Once a match has been established, a completion can be subsequently determined. In principle, the two tasks can be carried out sequentially or in parallel; in this paper, we adopt the former approach and leave the latter for future&#x20;work.</p>
<p>Accordingly, the key tasks are to (i) match the observed partial curve to a piece of the donor curve; (ii) impute or complete the observed curve by finding the closest match to the residual piece of the donor curve from a set of curves with fixed endpoints. These are non-trivial tasks since the set of curves <inline-formula id="inf44">
<mml:math id="m46">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula> (and <inline-formula id="inf45">
<mml:math id="m47">
<mml:mi mathvariant="script">Q</mml:mi>
</mml:math>
</inline-formula>) is infinite-dimensional. The problem is made tractable by considering equivalence classes of curves that share the same shape and size, as defined earlier. Specifically, we propose to leverage the shape distances <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> and <italic>d</italic>
<sub>
<italic>E</italic>
</sub> in <xref ref-type="disp-formula" rid="e1">Eqs 1</xref>, <xref ref-type="disp-formula" rid="e2">2</xref>, and develop an optimization-based framework to carry-out completion/imputation and classification sequentially. We first define some important quantities.<list list-type="simple">
<list-item>
<p>&#x2022; A curve <italic>&#x3b2;</italic> is viewed as being composed of two pieces <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> and <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub>, where the subscripts <italic>o</italic> and <italic>m</italic> identify the observed and missing portions of <italic>&#x3b2;</italic>, such that <inline-formula id="inf46">
<mml:math id="m48">
<mml:mi>&#x3b2;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, for some 0 &#x3c; <italic>&#x3c4;</italic> &#x3c; 1. The corresponding SRVF <italic>q</italic> similarly decomposes into (<italic>q</italic>
<sub>
<italic>o</italic>
</sub>, <italic>q</italic>
<sub>
<italic>m</italic>
</sub>) for the same <italic>&#x3c4;</italic>.</p>
</list-item>
<list-item>
<p>&#x2022; <italic>&#x3b2;</italic> &#x3d; <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> &#x22c6; <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> denotes the concatenation of <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> and <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub>, i.e.,&#x20;the complete curve. Throughout, <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> will denote a partially observed curve, which conceptually is understood to be the observed portion of a curve <italic>&#x3b2;</italic>; in similar fashion, <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> will throughout represent the missing piece of <italic>&#x3b2;</italic>.</p>
</list-item>
<list-item>
<p>&#x2022; The restriction of a complete curve <italic>&#x3b2;</italic> to an open curve defined by parameter values [<italic>s</italic>
<sub>1</sub>, <italic>s</italic>
<sub>2</sub>] &#x2282; [0, 1] is denoted as <inline-formula id="inf47">
<mml:math id="m49">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, with its SRVF counterpart <inline-formula id="inf48">
<mml:math id="m50">
<mml:msup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> defined in a similar manner.</p>
</list-item>
<list-item>
<p>&#x2022; Denote the length of <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> as <inline-formula id="inf49">
<mml:math id="m51">
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3c4;</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mtext>d</mml:mtext>
<mml:mi>t</mml:mi>
</mml:math>
</inline-formula>, where <inline-formula id="inf50">
<mml:math id="m52">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the time-derivative. The length of the restricted curve is then <inline-formula id="inf51">
<mml:math id="m53">
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo>&#x222b;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mtext>d</mml:mtext>
<mml:mi>t</mml:mi>
</mml:math>
</inline-formula>. If we fix <italic>s</italic>
<sub>1</sub> &#x2208; [0, 1] and <italic>L</italic>, then <italic>s</italic>
<sub>2</sub> &#x2208; [0, 1] is fully determined.</p>
</list-item>
</list>
</p>
<p>In line with our intention to use shape information of curves, we note that completion of <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> with respect to a donor curve <italic>&#x3b2;</italic>
<sub>donor</sub> can be broken down into the following two steps.<list list-type="simple">
<list-item>
<p>(i) Determine the piece of <italic>&#x3b2;</italic>
<sub>donor</sub> that best matches the shape of <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub>.</p>
</list-item>
<list-item>
<p>(ii) Determine an open <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> curve that then best matches the shape of the residual piece of the donor in (i); the required completion is then <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> &#x22c6; <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub>.</p>
</list-item>
</list>
</p>
<p>Two points are worth considering here. First, the optimal <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> is constrained to share the same endpoints as the determined piece of <italic>&#x3b2;</italic>
<sub>donor</sub>. Second, by virtue of its definition, the completion <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> &#x22c6; <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> exactly matches the partially observed curve <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> when restricted to a suitable subset of the parameter domain. The latter is motivated by the quality of image data of bovid teeth, under which it is reasonable to assume that the partially observed curve is obtained under negligible measurement&#x20;error.</p>
<p>The key consideration for developing an algorithm for the two steps is the choice of an objective function that quantifies the quality of matches, informed by either of the shape distances <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> and <italic>d</italic>
<sub>
<italic>E</italic>
</sub> in <xref ref-type="disp-formula" rid="e1">Eqs 1</xref>, <xref ref-type="disp-formula" rid="e2">2</xref>, respectively. Repeated computation of the elastic distance <italic>d</italic>
<sub>
<italic>E</italic>
</sub> is computationally expensive (due to the additional optimization over &#x393;), and hence time-consuming inside an iterative algorithm (the potential donor set has large sample size). Since our main objective in this paper is classification of the partially observed curves, we use the more convenient non-elastic distance <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> in order to carry out partial matching and completion. However, we will employ the elastic distance <italic>d</italic>
<sub>
<italic>E</italic>
</sub> when designing a classifier in order to better access pure shape features of curves that are potentially class-distinguishing.</p>
<p>We consider a two-step algorithm based on optimizing an objective function over two parameter spaces: &#x3a9;<sub>
<italic>P</italic>
</sub> for the partial match in step (i), and &#x3a9;<sub>
<italic>C</italic>
</sub> for the completion step (ii), defined as:<disp-formula id="e3">
<mml:math id="m54">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2254;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#xd7;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#xd7;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2b;</mml:mo>
</mml:mrow>
</mml:msub>
<mml:mspace width="1em"/>
<mml:mtext>and</mml:mtext>
<mml:mspace width="1em"/>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2254;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">B</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mspace width="0.28em"/>
<mml:mo>.</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>The parameter set &#x3a9;<sub>
<italic>P</italic>
</sub> consists of shape-preserving transformations for arc-length parameterized curves <italic>&#x3b2;</italic> and the length of <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub>, whereas &#x3a9;<sub>
<italic>C</italic>
</sub> represents the subset of endpoint constrained curves within <inline-formula id="inf52">
<mml:math id="m55">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>. In the partial matching step, a piece on the donor <italic>&#x3b2;</italic>
<sub>donor</sub> of optimal length <italic>L</italic>&#x2a; starting at <inline-formula id="inf53">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>, rotation <italic>O</italic>&#x2a; and translation <italic>T</italic>&#x2a; is determined resulting in <inline-formula id="inf54">
<mml:math id="m57">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>donor</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>. The domains [<italic>s</italic>
<sub>1</sub>, <italic>s</italic>
<sub>2</sub>] of an arbitrary restriction <inline-formula id="inf55">
<mml:math id="m58">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>donor</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and [0, <italic>&#x3c4;</italic>] of <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> are always rescaled to [0, 1] to ensure that they have the same domain. For a fixed <italic>s</italic>
<sub>1</sub>, the optimal translation <italic>T</italic>&#x2a; and rotation <italic>O</italic>&#x2a; are given explicitly via Procrustes analysis (see, for example, [<xref ref-type="bibr" rid="B28">28</xref>]). The search for the optimal <inline-formula id="inf56">
<mml:math id="m59">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <italic>L</italic>&#x2a; can then be performed exhaustively on [0,&#x20;1].</p>
<table-wrap id="alg1" position="float">
<label>Algorithm 1:</label>
<caption>
<p>Partial match and completion.</p>
</caption>
<table>
<tbody>
<tr>
<td>
<inline-graphic xlink:href="fams-07-759622-fx1.tif"/>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Note that <inline-formula id="inf62">
<mml:math id="m65">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>donor</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> refers to the residual piece on <italic>&#x3b2;</italic>
<sub>donor</sub> once <inline-formula id="inf63">
<mml:math id="m66">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>donor</mml:mtext>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is removed owing to the circular ordering on the parameter domain <inline-formula id="inf64">
<mml:math id="m67">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> of <italic>&#x3b2;</italic>
<sub>donor</sub>. The main challenge lies in carrying out step&#x20;3&#x20;of the algorithm in which the missing data <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> is determined&#x20;by searching over <inline-formula id="inf65">
<mml:math id="m68">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a9;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>C</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2282;</mml:mo>
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula> for the optimal curve that best matches the residual piece <inline-formula id="inf66">
<mml:math id="m69">
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> of <italic>&#x3b2;</italic> from the partial matching step. The challenge relates to the fact that &#x3a9;<sub>
<italic>C</italic>
</sub> is a nonlinear subset of&#x20;<inline-formula id="inf67">
<mml:math id="m70">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>.</p>
<p>We propose to optimize over &#x3a9;<sub>
<italic>C</italic>
</sub> with a gradient-descent algorithm. First, rescale <inline-formula id="inf68">
<mml:math id="m71">
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> to [0, 1]. Then, consider an&#x20;orthonormal basis <inline-formula id="inf69">
<mml:math id="m72">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mspace width="0.3333em"/>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> with <italic>b</italic>
<sub>
<italic>i</italic>
</sub>&#x20;(0)&#x20;&#x3d; 0 and <italic>b</italic>
<sub>
<italic>i</italic>
</sub> (1) &#x3d; 0, which enforce the endpoints constraint on the curve. In&#x20;particular, we use a modification of&#x20;the Fourier basis for each of the two coordinate functions,&#x20;given&#x20;by <inline-formula id="inf70">
<mml:math id="m73">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>sin</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msqrt>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>cos</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>j</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msqrt>
<mml:mi>&#x3c0;</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula>
<xref ref-type="fn" rid="fn1">
<sup>1</sup>
</xref>. Let <inline-formula id="inf71">
<mml:math id="m74">
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">&#x2016;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>. Then, the gradient of <italic>E</italic> (<italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub>) at&#x20;a current estimate <inline-formula id="inf72">
<mml:math id="m75">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> can be approximated using directional derivatives along basis directions <italic>b</italic>
<sub>
<italic>i</italic>
</sub> as<disp-formula id="equ1">
<mml:math id="m76">
<mml:mo>&#x2207;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>&#x221d;</mml:mo>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x221e;</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">&#x27e8;</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msup>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">&#x27e9;</mml:mo>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where &#x27e8;&#x22c5;, &#x22c5;&#x27e9; is the usual <inline-formula id="inf73">
<mml:math id="m77">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> inner-product on <inline-formula id="inf74">
<mml:math id="m78">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>. A single gradient update in the completion algorithm is then given by<disp-formula id="equ2">
<mml:math id="m79">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>w</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3f5;</mml:mi>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where <italic>&#x3f5;</italic> &#x3e; 0 is a small step size. This is repeated until convergence. In practice, we reduce the dimension of the problem by truncating the basis at a finite number <italic>N</italic>; this additionally ensures that the optimal completion <inline-formula id="inf75">
<mml:math id="m80">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is relatively smooth. Two preliminary results from this two-step algorithm for bovid teeth are shown in <xref ref-type="fig" rid="F2">Figure&#x20;2</xref>. The black curve is the donor <italic>&#x3b2;</italic>
<sub>donor</sub>, the red curve is <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub>, and the optimal completion <inline-formula id="inf76">
<mml:math id="m81">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, after a set number of iterations, is in&#x20;blue.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>
<italic>Two examples of shape imputation via</italic> <xref ref-type="other" rid="alg1">
<italic>Algorithm 1</italic>
</xref>. The panels show the evolution of the completion (blue) at a few iterations of step 3, the observed partial curve (red) and the donor (black).</p>
</caption>
<graphic xlink:href="fams-07-759622-g002.tif"/>
</fig>
</sec>
<sec id="s4">
<title>4 Assessing Variability in Completion Through Multiple Imputation</title>
<p>
<xref ref-type="other" rid="alg1">Algorithm 1</xref> describes how a partially observed curve <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> can be completed given a donor curve <italic>&#x3b2;</italic>
<sub>donor</sub>. The completion is deterministic and uncertainty estimates are unavailable. Further, the application of this procedure is only possible when a training dataset consisting of several curves is available. An attractive way to examine completion variability is to consider a multiple imputation framework for missing data. There are numerous multiple imputation methods to handle missing data in traditional multivariate settings; see [<xref ref-type="bibr" rid="B29">29</xref>, <xref ref-type="bibr" rid="B30">30</xref>] for a broad overview and details on missing data techniques. Our choice is a nonparametric hot-deck multiple imputation procedure. We describe this technique in a regression setting with response <inline-formula id="inf77">
<mml:math id="m82">
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> and <italic>n</italic>&#x20;&#xd7; <italic>p</italic> design matrix <bold>
<italic>X</italic>
</bold>, where each case <italic>j</italic>&#x20;&#x3d; 1, &#x2026; , <italic>n</italic> is defined as the response-predictor pair (<italic>y</italic>
<sub>
<italic>j</italic>
</sub>, <bold>
<italic>x</italic>
</bold>
<sub>
<italic>j</italic>
</sub>).<list list-type="simple">
<list-item>
<p>(i) Replace a missing value <italic>y</italic>
<sub>miss</sub> of <bold>
<italic>y</italic>
</bold> with randomly selected observed values in <bold>
<italic>y</italic>
</bold>, chosen from a donor pool of fixed size <italic>K</italic>&#x20;&#x3c; <italic>n</italic> comprising fully observed cases that are&#x201c;similar&#x201d; to the incomplete&#x20;case.</p>
</list-item>
<list-item>
<p>(ii) Repeat step (i) <italic>M</italic> times to create <italic>M</italic> completed datasets.</p>
</list-item>
<list-item>
<p>(iii) Analyze the <italic>M</italic> completed datasets independently (e.g., mean estimation) and combine results using Rubin&#x2019;s combining rules&#x20;[<xref ref-type="bibr" rid="B29">29</xref>].</p>
</list-item>
</list>
</p>
<p>As a first step towards carrying out this program for partially observed curves, we propose an adaptation of the hot-deck imputation procedure for a classification task. However, the development of methods to combine classification results across <italic>M</italic> datasets, similar to Rubin&#x2019;s rules, is an interesting research problem in its own right, and we leave that for future work (<xref ref-type="sec" rid="s7">Section 7</xref>). Once steps (i) and (ii) are completed, it is possible to visualize variability associated with completion using <xref ref-type="other" rid="alg1">Algorithm 1</xref> by plotting the completions. Moreover, variability in classification results can also be computed as a function of a donor set of size <italic>K</italic> and number of completed datasets <italic>M</italic>. <xref ref-type="other" rid="alg2">Algorithm 2</xref> outlines our adapted hot-deck imputation procedure for generating <italic>M</italic> completions of a partially observed curve <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> given a training dataset <inline-formula id="inf78">
<mml:math id="m83">
<mml:mi mathvariant="script">D</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> consisting of <italic>n</italic> fully observed curves from <inline-formula id="inf79">
<mml:math id="m84">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>. The main change to the classic hot-deck imputation procedure described above lies in how &#x201c;similarity&#x201d; between cases (here curves) is assessed in (i). In particular, steps 3&#x2013;8 in <xref ref-type="other" rid="alg2">Algorithm 2</xref> are used to compute the (shape) similarity between a partially observed curve and each curve in the training dataset <inline-formula id="inf80">
<mml:math id="m85">
<mml:mi mathvariant="script">D</mml:mi>
</mml:math>
</inline-formula>. Then, the rest of (i) is carried out in step 9. Finally, (ii) is carried out in steps 10&#x2013;13.</p>
<table-wrap id="alg2" position="float">
<label>Algorithm 2:</label>
<caption>
<p>Hot-deck imputation.</p>
</caption>
<table>
<tbody>
<tr>
<td>
<inline-graphic xlink:href="fams-07-759622-fx2.tif"/>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Note that once <inline-formula id="inf81">
<mml:math id="m86">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf82">
<mml:math id="m87">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> are rescaled to 0 and 1, respectively, in line 5, the optimal partial match of <italic>&#x3b2;</italic>
<sub>
<italic>i</italic>
</sub> to <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> then corresponds to the piece <inline-formula id="inf83">
<mml:math id="m88">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> of length <italic>L</italic>&#x2a; from <italic>&#x3b2;</italic>
<sub>
<italic>i</italic>
</sub>, which is now represented as an open curve <inline-formula id="inf84">
<mml:math id="m89">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
</mml:mrow>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">R</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>; the parameter domain [0, 1] of <inline-formula id="inf85">
<mml:math id="m90">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> is not to be confused with the parameter [0, 1], representing <inline-formula id="inf86">
<mml:math id="m91">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula>, of the fully observed curve <italic>&#x3b2;</italic>
<sub>
<italic>i</italic>
</sub>. Similar comments apply to their corresponding SRVF versions. Note and contrast step 7 of <xref ref-type="other" rid="alg2">Algorithm 2</xref> to the completion step 3 in <xref ref-type="other" rid="alg1">Algorithm 1</xref>: here, the distance <italic>&#x3b4;</italic>
<sub>
<italic>i</italic>
</sub> is computed between <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> and the <italic>matched</italic> piece of the donor, and not the residual&#x20;piece.</p>
<p>The key feature of <xref ref-type="other" rid="alg2">Algorithm 2</xref> is the use of the elastic distance, albeit not exactly in the form defined in <xref ref-type="disp-formula" rid="e2">(2)</xref> since an optimal rotation <italic>O</italic>&#x2a; &#x2208; <italic>SO</italic>(2) has already been determined in line 5&#x2013;we hence refer to this distance as partial elastic distance. The rationale for this is as follows. Once a piece of the donor <italic>&#x3b2;</italic>
<sub>
<italic>i</italic>
</sub> of length <italic>L</italic>&#x2a; corresponding to parameter values <inline-formula id="inf87">
<mml:math id="m92">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <inline-formula id="inf88">
<mml:math id="m93">
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> has been extracted, the lengths of <inline-formula id="inf89">
<mml:math id="m94">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> can be quite different. Thus, computing the non-elastic distance between the two open curves under the assumption of arc-length parameterization in order to compare their shapes might not be appropriate. In contrast, in <xref ref-type="other" rid="alg1">Algorithm 1</xref>, the distances themselves were not of chief interest. Our approach hence is to assume at this stage that <inline-formula id="inf90">
<mml:math id="m95">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> and <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> are arbitrarily parameterized and hence use the partial elastic distance <italic>d</italic>
<sub>
<italic>E</italic>
</sub> to compare their shapes using their corresponding SRVFs; this also explains why we ignore using the optimal translation <italic>T</italic>&#x2a; resulting from <xref ref-type="other" rid="alg1">Algorithm 1</xref>. To see that <italic>&#x3b4;</italic>
<sub>
<italic>i</italic>
</sub> in line 8 of <xref ref-type="other" rid="alg2">Algorithm 2</xref> is indeed the partial shape distance, note that when a particular rotation <italic>O</italic>&#x2a; is fixed, from line 6<disp-formula id="equ3">
<mml:math id="m96">
<mml:munder>
<mml:mrow>
<mml:mi>inf</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mi>O</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x25e6;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msqrt>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:msqrt>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mi>inf</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="normal">&#x393;</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x25e6;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:msqrt>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:msqrt>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>O</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mn>0,1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msubsup>
<mml:mo>&#x25e6;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:msqrt>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>
<xref ref-type="fig" rid="F3">Figure&#x20;3</xref> provides an illustration of the hot-deck imputation procedure with <italic>M</italic> &#x3d; 10 and <italic>K</italic> &#x3d; 10 for two partially observed bovid teeth using <xref ref-type="other" rid="alg2">Algorithm 2</xref>; see <xref ref-type="sec" rid="s6">Section 6</xref> for details on the bovid dataset.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>
<italic>Examples of partial matches followed by imputation on partially observed teeth</italic>. <bold>Left:</bold> Approximately 50% of the tooth is observed. <bold>Right:</bold> Approximately 80% of the tooth is observed. The black curve denotes the fully observed portion of the tooth with each red curve being a single completion of the tooth. In both examples shown here <italic>M</italic>&#x20;&#x3d; 10 and <italic>K</italic>&#x20;&#x3d; 10.</p>
</caption>
<graphic xlink:href="fams-07-759622-g003.tif"/>
</fig>
</sec>
<sec id="s5">
<title>5 Nearest Neighbor Classification</title>
<p>Consider a training dataset <inline-formula id="inf91">
<mml:math id="m97">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2254;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> consisting of fully observed curves <inline-formula id="inf92">
<mml:math id="m98">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula> and corresponding class labels <italic>y</italic>
<sub>
<italic>i</italic>
</sub> &#x2208; {1, &#x2026; , <italic>G</italic>}. The goal is to classify a partially observed curve <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> to one of the <italic>G</italic> classes using training data <inline-formula id="inf93">
<mml:math id="m99">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
<p>A distance-based classification procedure is a natural choice, compatible with how completion and imputation is achieved. Accordingly, we consider the <italic>k</italic>
<sub>
<italic>n</italic>
</sub>-nearest neighbor classification technique. A neighborhood of a curve in <inline-formula id="inf94">
<mml:math id="m100">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula> can be defined with respect to both non-elastic and elastic shape distances <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> and <italic>d</italic>
<sub>
<italic>E</italic>
</sub>. Effectively, although fully observed curves in <inline-formula id="inf95">
<mml:math id="m101">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> assume values in <inline-formula id="inf96">
<mml:math id="m102">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>, the classification procedure will be defined on their shapes assuming values in the shape space <inline-formula id="inf97">
<mml:math id="m103">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> (or <inline-formula id="inf98">
<mml:math id="m104">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> under the SRVF transform).</p>
<p>The advantage of using the shape space lies in the fact that <inline-formula id="inf99">
<mml:math id="m105">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">S</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is made up of equivalence classes of <inline-formula id="inf100">
<mml:math id="m106">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula> under the equivalence relation characterized by shape-preserving transformations. For a fixed radius <italic>r</italic>, neighborhoods as balls of radius <italic>r</italic> around a fixed point <italic>&#x3b2;</italic>&#x2a; constructed on <inline-formula id="inf101">
<mml:math id="m107">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula> using shape distances <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> are necessarily larger than corresponding ones on <inline-formula id="inf102">
<mml:math id="m108">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula> using the usual <inline-formula id="inf103">
<mml:math id="m109">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> distance, since, by virtue of its definition, for every <italic>r</italic>&#x20;&#x3e; 0,<disp-formula id="equ4">
<mml:math id="m110">
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">B</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
<mml:mo stretchy="false">&#x2016;</mml:mo>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2286;</mml:mo>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:mi mathvariant="script">B</mml:mi>
<mml:mo>:</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>N</mml:mi>
<mml:mi>E</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>
</p>
<p>In a <italic>k</italic>
<sub>
<italic>n</italic>
</sub>-nearest neighbor setting, the radius <italic>r</italic> is distance, say <inline-formula id="inf104">
<mml:math id="m111">
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, of the <inline-formula id="inf105">
<mml:math id="m112">
<mml:msubsup>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="sans-serif">t</mml:mi>
<mml:mi mathvariant="sans-serif">h</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> closest curve to <italic>&#x3b2;</italic>&#x2a;, and changes with the training data. However, <inline-formula id="inf106">
<mml:math id="m113">
<mml:msub>
<mml:mrow>
<mml:mi>r</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> computed using the distance <italic>d</italic>
<sub>
<italic>NE</italic>
</sub> will be smaller than one computed using the <inline-formula id="inf107">
<mml:math id="m114">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> distance; thus one is able to find <italic>k</italic>
<sub>
<italic>n</italic>
</sub> neighbors at a smaller distance from <italic>&#x3b2;</italic>&#x2a;. This leads to better performance of the classifier for large sample size <italic>n</italic> and improves rates of convergence of the predicted class probabilities (see, for example, [<xref ref-type="bibr" rid="B31">31</xref>]). Similar comments apply to the elastic distance <italic>d</italic>
<sub>
<italic>E</italic>
</sub>, albeit under subtler conditions since it is induced by the elastic Riemannian metric on <inline-formula id="inf108">
<mml:math id="m115">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>, which is not directly related to the <inline-formula id="inf109">
<mml:math id="m116">
<mml:msup>
<mml:mrow>
<mml:mi mathvariant="double-struck">L</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msup>
</mml:math>
</inline-formula> metric on&#x20;<inline-formula id="inf110">
<mml:math id="m117">
<mml:mi mathvariant="script">B</mml:mi>
</mml:math>
</inline-formula>.</p>
<p>We will use the elastic distance <italic>d</italic>
<sub>
<italic>E</italic>
</sub> again to accommodate for the possibility that curves in <inline-formula id="inf111">
<mml:math id="m118">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> &#x22c6; <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> can have arbitrary parameterizations following completion of <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> with any <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub>. Let <inline-formula id="inf112">
<mml:math id="m119">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c6;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>&#x2254;</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
<mml:mo>&#x2282;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> be <italic>k</italic>
<sub>
<italic>n</italic>
</sub> nearest curves to a particular completion <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> &#x22c6; <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> of <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> in the training data. We consider two nearest neighbor classifiers.<list list-type="simple">
<list-item>
<p>&#x2022; <sans-serif>knn</sans-serif> classifier: Assign <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> to the class with largest predicted probability. The predicted probability that label <italic>y</italic> for <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> assumes value <italic>g</italic>&#x20;&#x2208; {1, &#x2026; , <italic>G</italic>} is given&#x20;by</p>
</list-item>
</list>
<disp-formula id="equ5">
<mml:math id="m120">
<mml:mi>&#x3c0;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c6;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>and <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> &#x22c6; <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> is one completion obtained from <xref ref-type="other" rid="alg1">Algorithm 1</xref> with <italic>&#x3b2;</italic>
<sub>
<italic>m</italic>
</sub> &#x2208; &#x3a9;<sub>
<italic>C</italic>
</sub>.<list list-type="simple">
<list-item>
<p>&#x2022; <sans-serif>knn-imp</sans-serif> classifier: Here, we incorporate uncertainty in completion of <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> into the classification procedure by combining the <sans-serif>knn</sans-serif> classifier with hot-deck imputation. Specifically, with <italic>M</italic> completions <inline-formula id="inf113">
<mml:math id="m121">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c6;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>M</mml:mi>
</mml:math>
</inline-formula> obtained from <xref ref-type="other" rid="alg2">Algorithm 2</xref>, the corresponding class probability&#x20;is</p>
</list-item>
</list>
<disp-formula id="equ6">
<mml:math id="m122">
<mml:mi>&#x3c0;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>M</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:munder>
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">N</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c6;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
</disp-formula>The class probability is thus obtained by averaging over all completions obtained by sampling <italic>M</italic> donor curves with replacement from the donor set <inline-formula id="inf114">
<mml:math id="m123">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>donor</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> in <xref ref-type="other" rid="alg2">Algorithm&#x20;2</xref>.</p>
<p>The <sans-serif>knn-imp</sans-serif> classifier is a novel extension of the <sans-serif>knn</sans-serif> classifier to accommodate variability in completions through the hot-deck multiple imputation procedure. However, at the outset, it is not clear if it will generally outperform the <sans-serif>knn</sans-serif> classifier, since performance will heavily depend on quality of the completion step in <xref ref-type="other" rid="alg1">Algorithm 1</xref> and shape variability in the training dataset.</p>
</sec>
<sec id="s6">
<title>6 Tribe and Species Classification of Bovid Teeth</title>
<p>We examine performance of <xref ref-type="other" rid="alg1">Algorithm 1</xref> and <xref ref-type="other" rid="alg2">Algorithm 2</xref> with respect to classification of images of fully and partially observed bovid teeth using the two nearest neighbor methods under two settings.<list list-type="simple">
<list-item>
<p>(i) A simulated setting, where curves pertaining to partially observed teeth are created from fully observed ones with known class labels.</p>
</list-item>
<list-item>
<p>(ii) A real data setting comprising &#x201c;true&#x201d; partially observed teeth with unknown class labels.</p>
</list-item>
</list>
</p>
<p>There are numerous measures of classification performance. We use the log-loss measure to asses performance: let <italic>n</italic>
<sub>
<italic>p</italic>
</sub> denote the number of partially observed curves <inline-formula id="inf115">
<mml:math id="m124">
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> to be classified in <italic>G</italic> classes {1, &#x2026; , <italic>G</italic>} with unknown class labels <inline-formula id="inf116">
<mml:math id="m125">
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and let <inline-formula id="inf117">
<mml:math id="m126">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> denote the training dataset of fully observed curves. Then<disp-formula id="equ7">
<mml:math id="m127">
<mml:mtext>Log</mml:mtext>
<mml:mo>-</mml:mo>
<mml:mtext>loss</mml:mtext>
<mml:mo>&#x2254;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:munderover>
<mml:munderover accentunder="false" accent="false">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>G</mml:mi>
</mml:mrow>
</mml:munderover>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="double-struck">I</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="{" close="}">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mi>&#x3c0;</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>g</mml:mi>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
</disp-formula>where the class probability is defined as earlier depending on whether the <sans-serif>knn</sans-serif> or <sans-serif>knn-imp</sans-serif> classifier is used. Evidently, a low Log-loss is indicative of good classification. Note that the Log-loss is positive with no upper bound. The Log-loss can be used only when the class labels are known. In the real data setting with unknown labels, the Log-loss is not used; instead, classification accuracy is assessed relative to classification done by an expert (co-author&#x20;JKB).</p>
<p>All computations are performed using routines available in the R [<xref ref-type="bibr" rid="B32">32</xref>] package fdasrvf [<xref ref-type="bibr" rid="B33">33</xref>] on a 16-node Intel Xeon-based computational cluster in the Computer Science Department at Loyola University Chicago. Full code for the analyses can be found on Github&#x20;[<xref ref-type="bibr" rid="B34">34</xref>].</p>
<p>Our motivating application stems from anthropology, where fossil bovid teeth associated with our human ancestors are used to reconstruct past environments. Bovids are useful because they are ecologically sensitive to their environment and typically dominate the South African faunal assemblages [<xref ref-type="bibr" rid="B35">35</xref>, <xref ref-type="bibr" rid="B36">36</xref>, <xref ref-type="bibr" rid="B37">37</xref>,&#x20;<xref ref-type="bibr" rid="B38">38</xref>].</p>
<p>The tooth images for our study were obtained from four institutions in South Africa: National Museum, Bloemfontein; Ditsong Museum, Pretoria; and Amathole Museum, King William&#x2019;s Town. Images were also taken at the Field Museum, Chicago, United&#x20;States. The complete methodology as to how the teeth images were collected is outlined in [<xref ref-type="bibr" rid="B6">6</xref>]. Briefly, the occlusal surface of each of the three molars from the upper and lower dentitions for each extant bovid specimen were photographed separately. The specimen and the camera were levelled using a bubble level. A scale was placed next to the occlusal surface for every&#x20;image.</p>
<p>Specifically, we consider images of teeth from 7 bovid tribes (Alcelaphini, Antilopini, Bovini, Hippotragini, Neotragini, Reduncini, and Tragelaphini) and 20 species (<italic>R. arundinum</italic>, <italic>A. buselaphus</italic>, <italic>S. caffer</italic>, <italic>R. campestris</italic>, <italic>P. capreolus</italic>, <italic>D. dorcas</italic>, <italic>K. ellipsiprymnus</italic>, <italic>H. equinus</italic>, <italic>R. fulvorufula</italic>, <italic>O. gazella</italic>, <italic>C. gnou</italic>, <italic>K. leche</italic>, <italic>A. marsupialis</italic>, <italic>H. niger</italic>, <italic>O. oreotragus</italic>, <italic>T. oryx</italic>, <italic>O. ourebi</italic>, <italic>T. scriptus</italic>, <italic>T. strepsiceros</italic>, <italic>C. taurinus</italic>). The dataset contains six tooth types: lower (i.e.,&#x20;mandibular) molars 1, 2 and 3 (LM1, LM2, LM3), and upper (i.e.,&#x20;maxillary) molars 1, 2 and 3 (UM1, UM2, UM3). Specific counts of the sample sizes of each tooth type and tribe are in <xref ref-type="table" rid="T1">Table&#x20;1</xref>. This dataset contains fully observed teeth of known taxa and will constitute the training data <inline-formula id="inf118">
<mml:math id="m128">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Sample sizes for each tooth type and&#x20;tribe.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th align="center">Alcelaphini</th>
<th align="center">Antilopini</th>
<th align="center">Bovini</th>
<th align="center">Hippotragini</th>
<th align="center">Neotragini</th>
<th align="center">Reduncini</th>
<th align="center">Tragelaphini</th>
<th align="center">Total</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">LM1</td>
<td align="char" char=".">106</td>
<td align="char" char=".">27</td>
<td align="char" char=".">22</td>
<td align="char" char=".">26</td>
<td align="char" char=".">45</td>
<td align="char" char=".">76</td>
<td align="char" char=".">53</td>
<td align="char" char=".">355</td>
</tr>
<tr>
<td align="left">LM2</td>
<td align="char" char=".">117</td>
<td align="char" char=".">30</td>
<td align="char" char=".">25</td>
<td align="char" char=".">37</td>
<td align="char" char=".">55</td>
<td align="char" char=".">90</td>
<td align="char" char=".">53</td>
<td align="char" char=".">407</td>
</tr>
<tr>
<td align="left">LM3</td>
<td align="char" char=".">117</td>
<td align="char" char=".">30</td>
<td align="char" char=".">19</td>
<td align="char" char=".">34</td>
<td align="char" char=".">53</td>
<td align="char" char=".">96</td>
<td align="char" char=".">62</td>
<td align="char" char=".">411</td>
</tr>
<tr>
<td align="left">UM1</td>
<td align="char" char=".">117</td>
<td align="char" char=".">30</td>
<td align="char" char=".">23</td>
<td align="char" char=".">37</td>
<td align="char" char=".">43</td>
<td align="char" char=".">80</td>
<td align="char" char=".">75</td>
<td align="char" char=".">405</td>
</tr>
<tr>
<td align="left">UM2</td>
<td align="char" char=".">118</td>
<td align="char" char=".">30</td>
<td align="char" char=".">23</td>
<td align="char" char=".">41</td>
<td align="char" char=".">53</td>
<td align="char" char=".">97</td>
<td align="char" char=".">94</td>
<td align="char" char=".">456</td>
</tr>
<tr>
<td align="left">UM3</td>
<td align="char" char=".">71</td>
<td align="char" char=".">30</td>
<td align="char" char=".">17</td>
<td align="char" char=".">58</td>
<td align="char" char=".">52</td>
<td align="char" char=".">110</td>
<td align="char" char=".">78</td>
<td align="char" char=".">416</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Each tribe has unique dental characteristics that are shared by its members. Further, the complexity of the occlusal surface outline varies across the tribes. As such, considering shape for tribe classification is a natural endeavor in this application. Generally, classification at the species level is more difficult since the variability of shapes of occlusal surface outlines across species within the same tribe is not as&#x20;large.</p>
<sec id="s6-1">
<title>6.1 Simulated Setting</title>
<p>In this setting, a partially observed tooth was created from a fully observed one with known class label in <inline-formula id="inf119">
<mml:math id="m129">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, and a class probability is calculated using both nearest neighbor methods; the procedure is repeated for each tooth in <inline-formula id="inf120">
<mml:math id="m130">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and the Log-loss is computed for the <sans-serif>knn</sans-serif> and <sans-serif>knn-imp</sans-serif> classifiers for choices:<list list-type="simple">
<list-item>
<p>(i) <italic>K</italic>&#x20;&#x3d; 5, 10, 20 of size of donor set <inline-formula id="inf121">
<mml:math id="m131">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>donor</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>(ii) <italic>M</italic>&#x20;&#x3d; 5, 10, 20 of number of imputations based on sampling with replacement from <inline-formula id="inf122">
<mml:math id="m132">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">B</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>donor</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>;</p>
</list-item>
<list-item>
<p>(iii) <italic>k</italic>
<sub>
<italic>n</italic>
</sub> &#x3d; 1, 2, &#x2026; , 20 of number of neighbors;</p>
</list-item>
<list-item>
<p>(iv) Tooth types LM1, LM2, LM3, UM1, UM2 and&#x20;UM3;</p>
</list-item>
<list-item>
<p>(v) Side of tooth extracted, where Left is denoted as 1 and Right as&#x20;2.</p>
</list-item>
</list>
</p>
<p>A partially observed tooth was created in the following manner. The raw representation of each tooth in <inline-formula id="inf123">
<mml:math id="m133">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> comprised of 60 points around the occlusal surface of the tooth that were obtained from the program MLmetrics [<xref ref-type="bibr" rid="B6">6</xref>, <xref ref-type="bibr" rid="B39">39</xref>]. For each tooth, the 60 points were split into two sets roughly divided by a line connecting the mesostyle to the entostyle in maxillary teeth and metastylid to the ectostylid in mandibular teeth. This type of cut was chosen as this break point is commonly observed in fossilized bovid teeth. <xref ref-type="fig" rid="F4">Figure&#x20;4</xref> provides an illustrative example of the procedure.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>
<italic>An example of how a partially observed tooth is obtained from a fully observed one in the simulated setting</italic>. The figure shows a lower molar 1 (LM1) from the tribe Alcelaphini with red points representing the extracted piece from the Left (1) side and blue points do the same for the Right (2)&#x20;side.</p>
</caption>
<graphic xlink:href="fams-07-759622-g004.tif"/>
</fig>
<sec id="s6-1-1">
<title>6.1.1 Tribe classification</title>
<p>
<xref ref-type="fig" rid="F5">Figure&#x20;5</xref> shows Log-loss curves associated with the <sans-serif>knn-imp</sans-serif> classifier as a function of <italic>k</italic>
<sub>
<italic>n</italic>
</sub> (number of neighbors) for the above-mentioned choices of <italic>M</italic> and <italic>K</italic>, and also the corresponding curve for the <sans-serif>knn</sans-serif> classifier. In all cases, for smaller values of the number of nearest neighbors chosen, the <sans-serif>knn-imp</sans-serif> classifier outperforms the <sans-serif>knn</sans-serif> classifier. As the number of nearest neighbors increases, not performing imputation performs as well or better than imputation in most cases. In fact, for some teeth there are certain combinations of <italic>M</italic> and <italic>K</italic> that are better in terms of Log-loss for imputation regardless of the choice <italic>k</italic>
<sub>
<italic>n</italic>
</sub> of nearest neighbors.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>
<italic>Tribe classification in simulated setting</italic>. Log-loss for the <sans-serif>knn-imp</sans-serif> classifier as a function of number <italic>k</italic>
<sub>
<italic>n</italic>
</sub> neighbors for different values of donor set size <italic>K</italic> and number of imputations <italic>M</italic>; purple &#x201c;No-imp&#x201d; curve represents the same for the <sans-serif>knn</sans-serif> classifier.</p>
</caption>
<graphic xlink:href="fams-07-759622-g005.tif"/>
</fig>
</sec>
<sec id="s6-1-2">
<title>6.1.2 Species classification</title>
<p>
<xref ref-type="fig" rid="F6">Figure&#x20;6</xref> shows Log-loss curves for species classification and paints a fairly similar picture to <xref ref-type="fig" rid="F5">Figure&#x20;5</xref>: when the number of nearest neighbors is chosen to be small (i.e.,&#x20;fewer than 5), there is always at least one imputation setting that has lower Log-loss than no imputation. However, in all cases as the number of nearest neighbors chosen gets close to 20, no imputation performs better in terms of Log-loss than doing imputation.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>
<italic>Species classification in simulated setting</italic>. Log-loss for the <sans-serif>knn-imp</sans-serif> classifier as a function of number <italic>k</italic>
<sub>
<italic>n</italic>
</sub> neighbors for different values of donor set size <italic>K</italic> and number of imputations <italic>M</italic>; purple &#x201c;No-imp&#x201d; curve represents the same for the <sans-serif>knn</sans-serif> classifier.</p>
</caption>
<graphic xlink:href="fams-07-759622-g006.tif"/>
</fig>
</sec>
</sec>
<sec id="s6-2">
<title>6.2 Real Data Setting</title>
<p>A small set <italic>n</italic>
<sub>
<italic>p</italic>
</sub> &#x3d; 7 of real, partially observed fossil bovid teeth from the site of Gladysvale, South Africa, extracted from images, with unknown class labels were used. We use the image numbers to label them: IMG4825, IMG4980, IMG4983, IMG4990, IMG5139, IMG9973 and IMG5514. Training data <inline-formula id="inf124">
<mml:math id="m134">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="script">D</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mtext>train</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is the same as the one used in the simulated setting. Recall that in the simulation setting, partially observed teeth had roughly half of the number of sampled points as the fully observed ones. In the real data setting, this is not the case: in four partially observed teeth (IMG4825, IMG4980, IMG4983, IMG9973), more than half of the tooth is observed; in one (IMG4990) less than half of the tooth is observed; and, in the remaining two (IMG5139, IMG5514), approximately half of the tooth is observed. This impacts the number of points chosen to represent (and parametrize) the open, partially observed curves. Since we cannot know the length of the missing piece for real partially observed curves, numbers of points to sample along the curves were determined based on expert advice from co-author&#x20;JKB.</p>
<p>For both <sans-serif>knn-imp</sans-serif> and <sans-serif>knn</sans-serif> classifiers, we set the number of neighbors <italic>k</italic>
<sub>
<italic>n</italic>
</sub> &#x3d; 10; for the <sans-serif>knn-imp</sans-serif> classifier we used <italic>K</italic>&#x20;&#x3d; 10 and <italic>M</italic>&#x20;&#x3d; 10. These choices were based on performances in the simulated setting.</p>
<sec id="s6-2-1">
<title>6.2.1 Classification at Tribe Level</title>
<p>
<xref ref-type="table" rid="T2">Table&#x20;2</xref> shows predicted class probabilities associated with the <sans-serif>knn</sans-serif> classifier. Each row has an entry in bold indicating the &#x201c;true&#x201d; (according to an expert) class of these teeth. We observe that the classifications without imputation are highly accurate for the 7 teeth. One can see that 6 out of 7 of these teeth are classified to the correct tribe. In addition, the probability of belonging to the correct tribe in the 6 correctly classified teeth was 1. However, in the one case where the classification is wrong, the predicted probability was&#x20;0.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>
<italic>Real data</italic>. Tribe level predicted class probabilities from the <sans-serif>knn</sans-serif> classifier with <italic>k</italic>
<sub>
<italic>n</italic>
</sub> &#x3d; 10. Emboldened values indicate the &#x201c;true&#x201d; class as obtained from an expert.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th align="center">Alcelaphini</th>
<th align="center">Antilopini</th>
<th align="center">Bovini</th>
<th align="center">Hippotragini</th>
<th align="center">Neotragini</th>
<th align="center">Reduncini</th>
<th align="center">Tragelaphini</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">IMG4825</td>
<td align="char" char=".">
<bold>1.00</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">IMG4980</td>
<td align="char" char=".">
<bold>1.00</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">IMG4983</td>
<td align="char" char=".">
<bold>1.00</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">IMG4990</td>
<td align="char" char=".">
<bold>1.00</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">IMG5139</td>
<td align="char" char=".">
<bold>1.00</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">IMG9973</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">
<bold>0.00</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">1.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">IMG5514</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">
<bold>1.00</bold>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="table" rid="T3">Table&#x20;3</xref> shows similar results for the <sans-serif>knn-imp</sans-serif> classifier. The same 6 teeth that were correctly classified before are again correctly classified, however, with probabilities that are all lower than 1. Again, the tooth that was incorrectly classified previously is again incorrectly classified and the probability predicted of belonging to the correct class is again 0. Notably, the partially observed tooth from IMG9973 was difficult to classify when using either classifier; interestingly, in both cases it was classified with high probability to the Neotragini&#x20;class.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>
<italic>Real data</italic>. Tribe level predicted class probabilities from the <sans-serif>knn-imp</sans-serif> classifier with <italic>k</italic>
<sub>
<italic>n</italic>
</sub> &#x3d; <italic>K</italic>&#x20;&#x3d; <italic>M</italic>&#x20;&#x3d; 10. Emboldened values indicate the &#x201c;true&#x201d; class as obtained from an expert.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th align="center">Alcelaphini</th>
<th align="center">Antilopini</th>
<th align="center">Bovini</th>
<th align="center">Hippotragini</th>
<th align="center">Neotragini</th>
<th align="center">Reduncini</th>
<th align="center">Tragelaphini</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">IMG4825</td>
<td align="char" char=".">
<bold>0.96</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.04</td>
</tr>
<tr>
<td align="left">IMG4980</td>
<td align="char" char=".">
<bold>0.57</bold>
</td>
<td align="char" char=".">0.36</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.07</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">IMG4983</td>
<td align="char" char=".">
<bold>0.98</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.02</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">IMG4990</td>
<td align="char" char=".">
<bold>0.56</bold>
</td>
<td align="char" char=".">0.15</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.06</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.20</td>
<td align="char" char=".">0.03</td>
</tr>
<tr>
<td align="left">IMG5139</td>
<td align="char" char=".">
<bold>1.00</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">IMG9973</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">
<bold>0.00</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.97</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.03</td>
</tr>
<tr>
<td align="left">IMG5514</td>
<td align="char" char=".">0.02</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">
<bold>0.98</bold>
</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s6-2-2">
<title>6.2.2 Classification at the Species Level</title>
<p>
<xref ref-type="table" rid="T4">Table&#x20;4</xref> shows predicted class probabilities associated with the <sans-serif>knn</sans-serif> classifier. We saw in <xref ref-type="table" rid="T2">Tables 2</xref>, <xref ref-type="table" rid="T3">3</xref> that each of the 5 teeth from the Alcelaphini tribe was correctly classified, with probability at least 0.5. However, at the species level, only 2 of these 5 teeth (IMG4983, IMG4990) have high probability associated with the correct species; the three other teeth (IMG4825, IMG4980 and IMG5139) have a probability of belonging to the correct species of 0.4. In addition, for the two remaining teeth that belong to the Tragelaphini and Antilopini tribes, the predicted probability for the correct species was 0.1 and 0, respectively.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>
<italic>Real data</italic>. Species level predicted class probabilities with <sans-serif>knn</sans-serif> classifier with <italic>k</italic>
<sub>
<italic>n</italic>
</sub> &#x3d; 10. Emboldened values indicate the &#x201c;true&#x201d; class as obtained from an expert.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th align="center">IMG4825</th>
<th align="center">IMG4980</th>
<th align="center">IMG4983</th>
<th align="center">IMG4990</th>
<th align="center">IMG5139</th>
<th align="center">IMG9973</th>
<th align="center">IMG5514</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<italic>R. arundinum</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>A. buselaphus</italic>
</td>
<td align="char" char=".">0.10</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.10</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.20</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>S. caffer</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>R. campestris</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>P. capreolus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.10</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>D. dorcas</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>K. ellipsiprymnus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>H. equinus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>R. fulvorufula</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>O. gazella</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>C. gnou</italic>
</td>
<td align="char" char=".">
<bold>0.40</bold>
</td>
<td align="char" char=".">
<bold>0.40</bold>
</td>
<td align="char" char=".">
<bold>0.80</bold>
</td>
<td align="char" char=".">
<bold>0.70</bold>
</td>
<td align="char" char=".">
<bold>0.40</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>K. leche</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>A. marsupialis</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">
<bold>0.00</bold>
</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>H. niger</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>O. oreotragus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.70</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>T. oryx</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">
<bold>0.10</bold>
</td>
</tr>
<tr>
<td align="left">
<italic>O. ourebi</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.20</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>T. scriptus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>T. strepsiceros</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.90</td>
</tr>
<tr>
<td align="left">
<italic>C. taurinus</italic>
</td>
<td align="char" char=".">0.50</td>
<td align="char" char=".">0.60</td>
<td align="char" char=".">0.10</td>
<td align="char" char=".">0.30</td>
<td align="char" char=".">0.40</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>When classifying using the <sans-serif>knn-imp</sans-serif> classifier with imputation, the results are similar with a few notable differences. <xref ref-type="table" rid="T5">Table&#x20;5</xref> shows these results. First, of the 5 Alcelaphini teeth, 3 are correctly classified using imputation (IMG4825, IMG4990 and IMG5139). Second, two of these are in fact correctly classified with higher probability when carrying out imputation with the <sans-serif>knn-imp</sans-serif> classifier when compared to the <sans-serif>knn</sans-serif> classifier (IMG4825: 0.44 vs. 0.4 and IMG5129: 0.52 vs. 0.4). Finally, the other four teeth corresponding to IMG4980, IMG4983, IMG9973 and IMG5514 had predicted probabilities for the correct species of 0.04, 0.22, 0 and 0.09, respectively.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>
<italic>Real data</italic>. Species-level predicted class probabilities with <sans-serif>knn-imp</sans-serif> classifier with <italic>k</italic>
<sub>
<italic>n</italic>
</sub> &#x3d; <italic>K</italic>&#x20;&#x3d; <italic>M</italic>&#x20;&#x3d; 10. Emboldened values indicate the &#x201c;true&#x201d; class as obtained from an expert.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left"/>
<th align="center">IMG4825</th>
<th align="center">IMG4980</th>
<th align="center">IMG4983</th>
<th align="center">IMG4990</th>
<th align="center">IMG5139</th>
<th align="center">IMG9973</th>
<th align="center">IMG5514</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">
<italic>R. arundinum</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>A. buselaphus</italic>
</td>
<td align="char" char=".">0.20</td>
<td align="char" char=".">0.25</td>
<td align="char" char=".">0.23</td>
<td align="char" char=".">0.03</td>
<td align="char" char=".">0.15</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>S. caffer</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>R. campestris</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.58</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>P. capreolus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.07</td>
<td align="char" char=".">0.02</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>D. dorcas</italic>
</td>
<td align="char" char=".">0.01</td>
<td align="char" char=".">0.23</td>
<td align="char" char=".">0.44</td>
<td align="char" char=".">0.03</td>
<td align="char" char=".">0.12</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>K. ellipsiprymnus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>H. equinus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>R. fulvorufula</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.20</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>O. gazella</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.06</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>C. gnou</italic>
</td>
<td align="char" char=".">
<bold>0.44</bold>
</td>
<td align="char" char=".">
<bold>0.04</bold>
</td>
<td align="char" char=".">
<bold>0.22</bold>
</td>
<td align="char" char=".">
<bold>0.35</bold>
</td>
<td align="char" char=".">
<bold>0.52</bold>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>K. leche</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>A. marsupialis</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.36</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.15</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">
<bold>0.00</bold>
</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>H. niger</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>O. oreotragus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.27</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>T. oryx</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">
<bold>0.09</bold>
</td>
</tr>
<tr>
<td align="left">
<italic>O. ourebi</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.12</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>T. scriptus</italic>
</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.01</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.03</td>
<td align="char" char=".">0.00</td>
</tr>
<tr>
<td align="left">
<italic>T. strepsiceros</italic>
</td>
<td align="char" char=".">0.04</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.02</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.89</td>
</tr>
<tr>
<td align="left">
<italic>C. taurinus</italic>
</td>
<td align="char" char=".">0.31</td>
<td align="char" char=".">0.05</td>
<td align="char" char=".">0.09</td>
<td align="char" char=".">0.15</td>
<td align="char" char=".">0.21</td>
<td align="char" char=".">0.00</td>
<td align="char" char=".">0.02</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
</sec>
<sec id="s7">
<title>7 Discussion</title>
<p>We have presented a computational approach for classifying partially observed curves. In particular, we presented two algorithms to complete and classify partially observed planar curves and simultaneously assess variability involved with the completion through a multiple imputation procedure. To our knowledge, this is the first work in literature to explicitly use the notion of shapes of parameterized curves in addressing the problem considered from the missing data perspective; coarsening the parameter space of suitable open curves, from which the partially observed curves are completed, through the notion of shape equivalence results in sensible completions. Moreover, shape-based distances used to define classifiers deliver satisfactory classification performance. The results from application of the algorithms to the dataset of images of bovid teeth are quite promising and are deserving of further, extensive, investigation involving several different classifiers.</p>
<p>Through the application of the proposed framework on real data, we have found that hot-deck imputation can sometimes deteriorate classification performance; there is an intuitive explanation for these findings. Classification performance is greatly affected by the &#x201c;amount of information&#x201d; contained in the observed partial curve. By &#x201c;amount of information&#x201d;, we specifically mean the ability to discriminate between different classes. In particular, if the observed partial curve contains a lot of information about its class membership compared to the missing portion, then imputation injects additional variability into the problem, which has a negative effect on classification performance. On the other hand, if the observed partial curve is not easily distinguishable across the different classes in the training data, then the variability coming from the imputation procedure provides valuable information, thus improving classification performance. Knowledge about information content in an observed partial curve for classification can be obtained either from a training dataset consisting of fully observed curves with class labels or from a subject matter expert. In such cases, a Bayesian classification model with a judicious choice of prior on class-specific templates can be developed; such an approach will extend the one recently proposed for univariate functional data [<xref ref-type="bibr" rid="B23">23</xref>] to the curve setting, and constitutes ongoing&#x20;work.</p>
<p>As with any methodological development that represents a first foray into tackling a challenging problem, our approach suffers from a few shortcomings, which inevitably present many possible avenues for future research. <xref ref-type="other" rid="alg1">Algorithm 1</xref> can be improved. Ideally, the partial match and completion steps are carried out jointly. Moreover, assuming curves to be arc-length parameterized, while convenient, can sometimes be unrealistic in practice, especially when data curves are extracted as part of an elaborate pre-processing procedure. This points towards developing a version of <xref ref-type="other" rid="alg1">Algorithm 1</xref> based on the corresponding SRVFs <italic>q</italic>
<sub>
<italic>o</italic>
</sub> and <italic>q</italic>
<sub>
<italic>m</italic>
</sub>; the main challenge here is how to handle the interplay between points <inline-formula id="inf125">
<mml:math id="m135">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> and their images <inline-formula id="inf126">
<mml:math id="m136">
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>s</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2a;</mml:mo>
</mml:mrow>
</mml:msubsup>
</mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
</mml:mrow>
</mml:mrow>
<mml:mo stretchy="false">}</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> under arbitrary reparameterizations.</p>
<p>In the current work, an explicit statistical model to handle the several sources of variation (e.g., measurement error in extracting curves from images) that can profoundly affect both completion and classification is conspicuous in its absence; without such a model, it is difficult to quantify uncertainty about the completions, which quite naturally percolates down to the classification task. An attractive model-based approach is to not just estimate the missing piece of the partially observed curve, but instead estimate an entire template that has a portion that is very similar in shape to the partially observed curve. Such an approach has recently been used for traditional univariate functional data under a Bayesian formulation [<xref ref-type="bibr" rid="B23">23</xref>] and appears promising.</p>
<p>Our primary task in this paper is classification. However, it is unclear how one can use the proposed algorithms if interest was in computing statistical summaries in the presence of partially observed curves, such as the mean shape or PCA on the space of shapes. For example, output of <xref ref-type="other" rid="alg2">Algorithm 2</xref> is a set of <italic>M</italic> closed curves <inline-formula id="inf127">
<mml:math id="m137">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c6;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mo>&#xa0;</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>M</mml:mi>
</mml:math>
</inline-formula> with the property that each <inline-formula id="inf128">
<mml:math id="m138">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>o</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c6;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula> <italic>exactly</italic> matches <italic>&#x3b2;</italic>
<sub>
<italic>o</italic>
</sub> on a subset of the parameter domain; it is not clear how the <italic>M</italic> completions can be combined (e.g., a Karcher mean of closed curves) to construct a representative summary completion. This is related to how estimates from imputations can be combined with a handle on within and across sample variabilities using formal rules (e.g., Rubin&#x2019;s rules). Development of such general rules in the present setting is far from straightforward.</p>
<p>More generally, while the hot-deck imputation procedure worked reasonably well when combined with the completion task, there is a pressing need to systematically develop missing data concepts and imputation methods to better address the special structure of missingness in the context of shapes of curves. The following challenges naturally arise: (i) Is the notion of Missing Completely at Random (MCAR), so profitably used in traditional settings, ever a reasonable assumption for shapes of curves? It is almost impossible to disentangle measurement error from reasons for why a piece of a curve is missing. (ii) Conditional probability measures associated with random functions when conditioned on its values in a sub-domain are notoriously difficult, and rarely exist. Given this, how does one adapt, or perhaps circumvent, the traditional notion of sampling from the conditional distribution of the missing values conditioned on the observed values to the present setting? Much remains to be done in this direction.</p>
</sec>
</body>
<back>
<sec id="s8">
<title>Data Availability Statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s9">
<title>Author Contributions</title>
<p>All authors participated in problem formulation. GM, KB, SK, and OH developed and implemented the methodology. GM analyzed the data. JB provided the data and interpreted the results. GT helped with computation.</p>
</sec>
<sec id="s10">
<title>Funding</title>
<p>This work is partially supported by the following grants: NSF DMS-2015320, NSF DMS-1811969 (OH); NSF DMS-1812065, NSF DMS-2015236 (JKB); NSF DMS-1812124 (GJM and GKT); NSF DMS- 2015374 (GJM and KB); NSF NIH R37-CA214955 (SK and KB); EPSRC EP/V048104/1 (KB); NSF CCF-1740761, NSF DMS-2015226, NSF CCF-1839252&#x20;(SK).</p>
</sec>
<sec sec-type="COI-statement" id="s11">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s12">
<title>Publisher&#x2019;s Note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ack>
<p>We thank Professor Ian Jermyn for valuable discussions on this topic. We would also like to thank Grady Flanary and Kajal Chokshi for their help in the early stages of this project.</p>
</ack>
<fn-group>
<fn id="fn1">
<label>1</label>
<p>In practice, the basis is truncated to some finite number. We have found that between 40 and 80 total basis elements per coordinate function are sufficient, although this depends on the geometric complexity of the observed curves. In the application considered in <xref ref-type="sec" rid="s6">Section 6</xref>, we used 80 basis elements.</p>
</fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1">
<label>1.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Delaigle</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Hall</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Classification using censored functional data</article-title>. <source>J&#x20;Am Stat Assoc</source> (<year>2013</year>) <volume>108</volume>(<issue>504</issue>):<fpage>1269</fpage>&#x2013;<lpage>83</lpage>. <pub-id pub-id-type="doi">10.1080/01621459.2013.824893</pub-id> </citation>
</ref>
<ref id="B2">
<label>2.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Delaigle</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Hall</surname>
<given-names>P</given-names>
</name>
</person-group>. <article-title>Approximating fragmented functional data by segments of Markov chains</article-title>. <source>Biometrika</source> (<year>2016</year>) <volume>103</volume>:<fpage>779</fpage>&#x2013;<lpage>99</lpage>. <pub-id pub-id-type="doi">10.1093/biomet/asw040</pub-id> </citation>
</ref>
<ref id="B3">
<label>3.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Descary</surname>
<given-names>M-H</given-names>
</name>
<name>
<surname>Panaretos</surname>
<given-names>VM</given-names>
</name>
</person-group>. <article-title>Recovering covariance from functional fragments</article-title>. <source>Biometrika</source> (<year>2018</year>) <volume>106</volume>(<issue>1</issue>):<fpage>145</fpage>&#x2013;<lpage>60</lpage>. <pub-id pub-id-type="doi">10.1093/biomet/asy055</pub-id> </citation>
</ref>
<ref id="B4">
<label>4.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Lin</surname>
<given-names>Z</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J-L</given-names>
</name>
<name>
<surname>Zhong</surname>
<given-names>Q</given-names>
</name>
</person-group>. <source>Basis expansions for functional snippets</source>. <publisher-loc>Oxford</publisher-loc>: <publisher-name>Biometrika</publisher-name> (<year>2020</year>). <comment>In Press</comment>. </citation>
</ref>
<ref id="B5">
<label>5.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kraus</surname>
<given-names>D</given-names>
</name>
</person-group>. <article-title>Components and completion of partially observed functional data</article-title>. <source>J&#x20;R Stat Soc B</source> (<year>2015</year>) <volume>77</volume>(<issue>5</issue>):<fpage>777</fpage>&#x2013;<lpage>801</lpage>. <pub-id pub-id-type="doi">10.1111/rssb.12087</pub-id> </citation>
</ref>
<ref id="B6">
<label>6.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Brophy</surname>
<given-names>JK</given-names>
</name>
<name>
<surname>de Ruiter</surname>
<given-names>DJ</given-names>
</name>
<name>
<surname>Athreya</surname>
<given-names>S</given-names>
</name>
<name>
<surname>DeWitt</surname>
<given-names>TJ</given-names>
</name>
</person-group>. <article-title>Quantitative morphological analysis of bovid teeth and implications for paleoenvironmental reconstruction of Plovers Lake, Gauteng Province, South Africa</article-title>. <source>J&#x20;Archaeological Sci</source> (<year>2014</year>) <volume>41</volume>:<fpage>376</fpage>&#x2013;<lpage>88</lpage>. <pub-id pub-id-type="doi">10.1016/j.jas.2013.08.005</pub-id> </citation>
</ref>
<ref id="B7">
<label>7.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Srivastava</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Klassen</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Joshi</surname>
<given-names>SH</given-names>
</name>
<name>
<surname>Jermyn</surname>
<given-names>IH</given-names>
</name>
</person-group>. <article-title>Shape analysis of elastic curves in Euclidean spaces</article-title>. <source>IEEE Trans Pattern Anal Mach Intell</source> (<year>2011</year>) <volume>33</volume>:<fpage>1415</fpage>&#x2013;<lpage>28</lpage>. <pub-id pub-id-type="doi">10.1109/tpami.2010.184</pub-id> </citation>
</ref>
<ref id="B8">
<label>8.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kurtek</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Srivastava</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Klassen</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Ding</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>Statistical modeling of curves using shapes and related features</article-title>. <source>J&#x20;Am Stat Assoc</source> (<year>2012</year>) <volume>107</volume>(<issue>499</issue>):<fpage>1152</fpage>&#x2013;<lpage>65</lpage>. <pub-id pub-id-type="doi">10.1080/01621459.2012.699770</pub-id> </citation>
</ref>
<ref id="B9">
<label>9.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Joshi</surname>
<given-names>SH</given-names>
</name>
<name>
<surname>Srivastava</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Intrinsic Bayesian active contours for extraction of object boundaries in images</article-title>. <source>Int J&#x20;Comput Vis</source> (<year>2009</year>) <volume>81</volume>(<issue>3</issue>):<fpage>331</fpage>&#x2013;<lpage>55</lpage>. <pub-id pub-id-type="doi">10.1007/s11263-008-0179-8</pub-id> </citation>
</ref>
<ref id="B10">
<label>10.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Kurtek</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Srivastava</surname>
<given-names>A</given-names>
</name>
</person-group>. <article-title>Handwritten text segmentation using elastic shape analysis</article-title>. In: <source>International Conference on Pattern Recognition</source> (<year>2014</year>). p. <fpage>2501</fpage>&#x2013;<lpage>6</lpage>. <pub-id pub-id-type="doi">10.1109/icpr.2014.432</pub-id> </citation>
</ref>
<ref id="B11">
<label>11.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Brown</surname>
<given-names>CM</given-names>
</name>
<name>
<surname>Arbour</surname>
<given-names>JH</given-names>
</name>
<name>
<surname>Jackson</surname>
<given-names>DA</given-names>
</name>
</person-group>. <article-title>Testing of the effect of missing data estimation and distribution in morphometric multivariate data analyses</article-title>. <source>Syst Biol</source> (<year>2012</year>) <volume>61</volume>(<issue>6</issue>):<fpage>941</fpage>&#x2013;<lpage>54</lpage>. <pub-id pub-id-type="doi">10.1093/sysbio/sys047</pub-id> </citation>
</ref>
<ref id="B12">
<label>12.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gunz</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Mitteroecker</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Neubauer</surname>
<given-names>S</given-names>
</name>
<name>
<surname>Weber</surname>
<given-names>GW</given-names>
</name>
<name>
<surname>Bookstein</surname>
<given-names>FL</given-names>
</name>
</person-group>. <article-title>Principles for the virtual reconstruction of hominin crania</article-title>. <source>J&#x20;Hum Evol</source> (<year>2009</year>) <volume>57</volume>:<fpage>48</fpage>&#x2013;<lpage>62</lpage>. <pub-id pub-id-type="doi">10.1016/j.jhevol.2009.04.004</pub-id> </citation>
</ref>
<ref id="B13">
<label>13.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Gunz</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Mitteroecker</surname>
<given-names>P</given-names>
</name>
<name>
<surname>Bookstein</surname>
<given-names>FL</given-names>
</name>
<name>
<surname>Weber</surname>
<given-names>GW</given-names>
</name>
</person-group>. <article-title>Computer-aided reconstruction of incomplete human crania using statistical and geometrical estimation methods</article-title>. In: <source>Enter the past: the e-way into the four dimensions of cultural heritage; CAA 2003; computer applications and quantitative methods in archaeology</source>. <publisher-loc>Oxford</publisher-loc>: <publisher-name>Archaeopress</publisher-name> (<year>2004</year>). p. <fpage>92</fpage>&#x2013;<lpage>4</lpage>. </citation>
</ref>
<ref id="B14">
<label>14.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Neeser</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Ackermann</surname>
<given-names>RR</given-names>
</name>
<name>
<surname>Gain</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>Comparing the accuracy and precision of three techniques used for estimating missing landmarks when reconstructing fossil Hominin Crania</article-title>. <source>Am J&#x20;Phys Anthropol</source> (<year>2009</year>) <volume>140</volume>:<fpage>1</fpage>&#x2013;<lpage>18</lpage>. <pub-id pub-id-type="doi">10.1002/ajpa.21023</pub-id> </citation>
</ref>
<ref id="B15">
<label>15.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Couette</surname>
<given-names>S</given-names>
</name>
<name>
<surname>White</surname>
<given-names>J</given-names>
</name>
</person-group>. <article-title>3D geometric morphometrics and missing-data. Can extant taxa give clues for the analysis of fossil primates?</article-title> <source>Gen Palaeontology</source> (<year>2009</year>) <volume>9</volume>:<fpage>423</fpage>&#x2013;<lpage>33</lpage>. </citation>
</ref>
<ref id="B16">
<label>16.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Arbour</surname>
<given-names>JH</given-names>
</name>
<name>
<surname>Brown</surname>
<given-names>CM</given-names>
</name>
</person-group>. <article-title>Incomplete specimens in geometric morphometric analyses</article-title>. <source>Methods Ecol Evol</source> (<year>2014</year>) <volume>5</volume>:<fpage>16</fpage>&#x2013;<lpage>26</lpage>. <pub-id pub-id-type="doi">10.1111/2041-210x.12128</pub-id> </citation>
</ref>
<ref id="B17">
<label>17.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Albers</surname>
<given-names>CJ</given-names>
</name>
<name>
<surname>Gower</surname>
<given-names>JC</given-names>
</name>
</person-group>. <article-title>A general approach to handling missing values in procrustes analysis</article-title>. <source>Adv Data Anal Classif</source> (<year>2010</year>) <volume>4</volume>(<issue>4</issue>):<fpage>223</fpage>&#x2013;<lpage>37</lpage>. <pub-id pub-id-type="doi">10.1007/s11634-010-0077-0</pub-id> </citation>
</ref>
<ref id="B18">
<label>18.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mitchelson</surname>
<given-names>JR</given-names>
</name>
</person-group>. <article-title>MOSHFIT: algorithms for occlusion-tolerant mean shape and rigid motion from 3D movement data</article-title>. <source>J&#x20;Biomech</source> (<year>2013</year>) <volume>46</volume>:<fpage>2326</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1016/j.jbiomech.2013.05.029</pub-id> </citation>
</ref>
<ref id="B19">
<label>19.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Robinson</surname>
<given-names>DT</given-names>
</name>
</person-group>. <source>Functional Data Analysis and Partial Shape Matching in the Square Root Velocity Framework. PhD thesis</source>. <publisher-loc>Florida</publisher-loc>: <publisher-name>Florida State University</publisher-name> (<year>2012</year>). </citation>
</ref>
<ref id="B20">
<label>20.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Srivastava</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Jermyn</surname>
<given-names>IH</given-names>
</name>
</person-group>. <article-title>Looking for Shapes in Two-Dimensional Cluttered Point Clouds</article-title>. <source>IEEE Trans Pattern Anal Mach Intell</source> (<year>2009</year>) <volume>31</volume>(<issue>9</issue>):<fpage>1616</fpage>&#x2013;<lpage>29</lpage>. <pub-id pub-id-type="doi">10.1109/tpami.2008.223</pub-id> </citation>
</ref>
<ref id="B21">
<label>21.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liebl</surname>
<given-names>D</given-names>
</name>
<name>
<surname>Rameseder</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Partially observed functional data: The case of systematically missing parts</article-title>. <source>Comput Stat Data Anal</source> (<year>2019</year>) <volume>131</volume>:<fpage>104</fpage>&#x2013;<lpage>15</lpage>. <pub-id pub-id-type="doi">10.1016/j.csda.2018.08.011</pub-id> </citation>
</ref>
<ref id="B22">
<label>22.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ciarleglio</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Petkova</surname>
<given-names>E</given-names>
</name>
<name>
<surname>Harel</surname>
<given-names>O</given-names>
</name>
</person-group>. <article-title>Elucidating age and sex-dependent association between frontal EEG asymmetry and depression: An application of multiple imputation in functional regression</article-title>. <source>J&#x20;Am Stat Assoc</source> (<year>2021</year>). <comment>In Press</comment>. <pub-id pub-id-type="doi">10.1080/01621459.2021.1942011</pub-id> </citation>
</ref>
<ref id="B23">
<label>23.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Matuk</surname>
<given-names>J</given-names>
</name>
<name>
<surname>Bharath</surname>
<given-names>K</given-names>
</name>
<name>
<surname>Chkrebtii</surname>
<given-names>O</given-names>
</name>
<name>
<surname>Kurtek</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>Bayesian framework for simultaneous registration and estimation of noisy, sparse and fragmented functional data</article-title>. <source>J&#x20;Am Stat Assoc</source> (<year>2021</year>). <comment>In Press</comment>, <pub-id pub-id-type="doi">10.1080/01621459.2021.1893179</pub-id> </citation>
</ref>
<ref id="B24">
<label>24.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Srivastava</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Klassen</surname>
<given-names>EP</given-names>
</name>
</person-group>. <source>Functional and Shape Data Analysis</source>. <publisher-loc>New York, NY</publisher-loc>: <publisher-name>Springer</publisher-name> (<year>2016</year>). </citation>
</ref>
<ref id="B25">
<label>25.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kendall</surname>
<given-names>DG</given-names>
</name>
</person-group>. <article-title>Shape Manifolds, Procrustean Metrics, and Complex Projective Spaces</article-title>. <source>Bull Lond Math Soc</source> (<year>1984</year>) <volume>16</volume>:<fpage>81</fpage>&#x2013;<lpage>121</lpage>. <pub-id pub-id-type="doi">10.1112/blms/16.2.81</pub-id> </citation>
</ref>
<ref id="B26">
<label>26.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Younes</surname>
<given-names>L</given-names>
</name>
</person-group>. <article-title>Computable Elastic Distances between Shapes</article-title>. <source>SIAM J&#x20;Appl Math</source> (<year>1998</year>) <volume>58</volume>(<issue>2</issue>):<fpage>565</fpage>&#x2013;<lpage>86</lpage>. <pub-id pub-id-type="doi">10.1137/s0036139995287685</pub-id> </citation>
</ref>
<ref id="B27">
<label>27.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mio</surname>
<given-names>W</given-names>
</name>
<name>
<surname>Srivastava</surname>
<given-names>A</given-names>
</name>
<name>
<surname>Joshi</surname>
<given-names>S</given-names>
</name>
</person-group>. <article-title>On shape of plane elastic curves</article-title>. <source>Int J&#x20;Comput Vis</source> (<year>2007</year>) <volume>73</volume>(<issue>3</issue>):<fpage>307</fpage>&#x2013;<lpage>24</lpage>. <pub-id pub-id-type="doi">10.1007/s11263-006-9968-0</pub-id> </citation>
</ref>
<ref id="B28">
<label>28.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Dryden</surname>
<given-names>IL</given-names>
</name>
<name>
<surname>Mardia</surname>
<given-names>KV</given-names>
</name>
</person-group>. <source>Statistical Shape Analysis</source>. <publisher-loc>Chichester</publisher-loc>: <publisher-name>John Wiley &#x26; Sons</publisher-name> (<year>1998</year>). </citation>
</ref>
<ref id="B29">
<label>29.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Little</surname>
<given-names>RJA</given-names>
</name>
<name>
<surname>Rubin</surname>
<given-names>DB</given-names>
</name>
</person-group>. <source>Statistical Analysis with Missing Data</source>. <publisher-loc>UK</publisher-loc>: <publisher-name>John Wiley &#x26; Sons</publisher-name> (<year>1987</year>). </citation>
</ref>
<ref id="B30">
<label>30.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Andridge</surname>
<given-names>RR</given-names>
</name>
<name>
<surname>Little</surname>
<given-names>RJA</given-names>
</name>
</person-group>. <article-title>A review of hot deck imputation for survey non-response</article-title>. <source>Int Stat Rev</source> (<year>2010</year>) <volume>78</volume>(<issue>1</issue>):<fpage>40</fpage>&#x2013;<lpage>64</lpage>. <pub-id pub-id-type="doi">10.1111/j.1751-5823.2010.00103.x</pub-id> </citation>
</ref>
<ref id="B31">
<label>31.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ferraty</surname>
<given-names>F</given-names>
</name>
<name>
<surname>Vieu</surname>
<given-names>P</given-names>
</name>
</person-group>. <source>Nonparametric functional data analysis</source>. <publisher-loc>NY</publisher-loc>: <publisher-name>Springer</publisher-name> (<year>2006</year>). </citation>
</ref>
<ref id="B32">
<label>32.</label>
<citation citation-type="book">
<collab>R Core Team</collab>. <source>R: A Language and Environment for Statistical Computing</source>. <publisher-loc>Vienna</publisher-loc>: <publisher-name>R Foundation for Statistical Computing</publisher-name> (<year>2021</year>). </citation>
</ref>
<ref id="B33">
<label>33.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Tucker</surname>
<given-names>JD</given-names>
</name>
</person-group>. <source>fdasrvf: Elastic Functional Data Analysis</source> (<year>2021</year>). <comment>R package version 1.9.7</comment>. </citation>
</ref>
<ref id="B34">
<label>34.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Matthews</surname>
<given-names>GJ</given-names>
</name>
</person-group>. <source>Shape Completion Matthews et&#x20;al.</source> <publisher-loc>US</publisher-loc>: <publisher-name>GitHub repository</publisher-name> (<year>2021</year>). Available at: <ext-link ext-link-type="uri" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://github.com/gjm112/shape_completion_Matthews_et_al">https://github.com/gjm112/shape_completion_Matthews_et_al</ext-link>. </citation>
</ref>
<ref id="B35">
<label>35.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bobe</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Eck</surname>
<given-names>GG</given-names>
</name>
</person-group>. <article-title>Responses of African bovids to Pliocene climatic change</article-title>. <source>Paleobiology</source> (<year>2001</year>) <volume>27</volume>:<fpage>1</fpage>&#x2013;<lpage>48</lpage>. <pub-id pub-id-type="doi">10.1666/0094-8373(2001)027&#x3c;0001:roabtp&#x3e;2.0.co;2</pub-id> </citation>
</ref>
<ref id="B36">
<label>36.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bobe</surname>
<given-names>R</given-names>
</name>
<name>
<surname>Behrensmeyer</surname>
<given-names>AK</given-names>
</name>
<name>
<surname>Chapman</surname>
<given-names>RE</given-names>
</name>
</person-group>. <article-title>Faunal change, environmental variability and late Pliocene hominin evolution</article-title>. <source>J&#x20;Hum Evol</source> (<year>2002</year>) <volume>42</volume>:<fpage>475</fpage>&#x2013;<lpage>97</lpage>. <pub-id pub-id-type="doi">10.1006/jhev.2001.0535</pub-id> </citation>
</ref>
<ref id="B37">
<label>37.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Alemseged</surname>
<given-names>Z</given-names>
</name>
</person-group>. <article-title>An integrated approach to taphonomy and faunal change in the Shungura Formation (Ethiopia) and its implication for hominid evolution</article-title>. <source>J&#x20;Hum Evol</source> (<year>2003</year>) <volume>44</volume>:<fpage>451</fpage>&#x2013;<lpage>78</lpage>. <pub-id pub-id-type="doi">10.1016/s0047-2484(03)00012-5</pub-id> </citation>
</ref>
<ref id="B38">
<label>38.</label>
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>de Ruiter</surname>
<given-names>DJ</given-names>
</name>
<name>
<surname>Brophy</surname>
<given-names>JK</given-names>
</name>
<name>
<surname>Lewis</surname>
<given-names>PJ</given-names>
</name>
<name>
<surname>Churchill</surname>
<given-names>SE</given-names>
</name>
<name>
<surname>Berger</surname>
<given-names>LR</given-names>
</name>
</person-group>. <article-title>Faunal assemblage composition and paleoenvironment of Plovers Lake, a Middle Stone Age locality in Gauteng Province, South Africa</article-title>. <source>J&#x20;Hum Evol</source> (<year>2008</year>) <volume>55</volume>:<fpage>1102</fpage>&#x2013;<lpage>17</lpage>. <pub-id pub-id-type="doi">10.1016/j.jhevol.2008.07.011</pub-id> </citation>
</ref>
<ref id="B39">
<label>39.</label>
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Wolfe</surname>
<given-names>CA</given-names>
</name>
<name>
<surname>Lestrel</surname>
<given-names>PE</given-names>
</name>
<name>
<surname>Read</surname>
<given-names>DW</given-names>
</name>
</person-group>. <source>EFF23 2-D and 3-D Elliptical Fourier Functions., PC/MS-DOS Version 4.0 edition</source> (<year>1999</year>). <comment>Software Description and User&#x2019;s Manual</comment>. </citation>
</ref>
</ref-list>
</back>
</article>