<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Thanks André. Another way to approach it would be to begin by
    looking for a lower bound of 'a'. For example the following would
    compute the smallest 'a' value that results in 50% of the points
    having only 3 nearest neighbors.<br>
    <br>
    <span class="Apple-style-span" style="border-collapse: separate;
      color: rgb(0, 0, 0); font-family: sans-serif; font-size: 14px;
      font-style: normal; font-variant: normal; font-weight: normal;
      letter-spacing: normal; line-height: normal; orphans: 2;
      text-align: -webkit-auto; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-border-horizontal-spacing: 0px;
      -webkit-border-vertical-spacing: 0px;
      -webkit-text-decorations-in-effect: none;
      -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; ">
      <pre>toni.lxy <- lxy.amin.add(toni.lxy, s=0.003, ptp = 0.5, nnn = 3)

</pre>
    </span>That would almost certainly find an 'a' value that results in
    many slivers, and a very fragmented 50% isopleth 'core' area. But
    you could then start cranking it up. <br>
    <br>
    If there are no landscape features or behavioral patterns that would
    allow you to discern an "invalid" cross-over (i.e., a part of the
    landscape that is included in say the 95% isopleth, but the
    individual was never observed there), then another strategy could be
    to focus on the 'core' area (i.e., a 25% or 50% isopleth). If your
    knowledge of the system and species suggests that there is no reason
    to think the 'core' area should be highly fragmented, then select
    the smallest value of 'a' that fills in the spaces in homogeneous
    habitat, and stop there. The edge-to-area ratio plot of the lower
    isopleths may help here.<br>
    <br>
    Also note there's a 'kmin' argument in lxy.lhs that can be used to
    'force' all points to be part of a hull. So if for example you find
    a value of a=10000 does a 'good' job in delineating the 50%
    isopleth, but there are some important outlying points that are too
    far apart to have at least two neighbors within a cumulative
    distance of 10,000, you could pass kmin=2 (or 3, or 4) so that even
    those outlying points would be in hulls (even if only triangles) and
    thus included in the 100% isopleth. <br>
    <br>
    Good luck and yes please let us know if you find a more objective
    criteria for choice of the a-value. I suspect there will never be a
    one-size-fits-all rule that can be applied to all datasets, but
    there are probably  rules that are more specified than the generic
    principles laid out in our 2013 paper that work well with families
    of data. Some rules can be translated into quantifiable metrics,
    others may have to remain as principles. I like to use quotes when
    referring to terms such as 'core', 'invalid', or 'best' to remind
    ourselves that these are artificial constructs that we apply in
    reference to a specific question, system, and dataset. The blessing
    and bane of methods like T-LoCoH is that it forces one to think
    about choices that go into modeling space use. <br>
    <br>
    Best,<br>
    Andy<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 5/20/2015 2:17 AM, André Zehnder
      wrote:<br>
    </div>
    <blockquote
      cite="mid:DUB407-EAS284AF664C88E855369297B9D9C20@phx.gbl"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Vorformatiert Zchn";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
span.E-MailFormatvorlage18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.HTMLVorformatiertZchn
        {mso-style-name:"HTML Vorformatiert Zchn";
        mso-style-priority:99;
        mso-style-link:"HTML Vorformatiert";
        font-family:"Consolas",serif;
        color:black;
        mso-fareast-language:EN-US;}
span.E-MailFormatvorlage21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D">Hi Andy,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">Thank
            you for your quick answer. That would mean that the
            lxy.nn.add() function works correctly, but does not perform
            well with my kind of data. I tried out the lxy.amin.add()
            function you mentioned. I did not find an example of it but
            I think this is the correct way of calling it:
            lxy.amin.add(“lxy-data”, s=svalue, nnn=kvalue, ptp=0.90).
            Although the a-value produced by this function is somewhat
            lower than the one of lxy.nn.add(), it is still much higher
            than what I would choose.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">Unfortunately,
            the MSHC-method to choose the a-/k-value is not possible
            since there are no large features that are known to be
            avoided by the animals in the study area. I will try to look
            for another criterion that supports a more objective choice
            of the a-value. If I find anything, I will let you know.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">Best
            regards<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US">André
            Zehnder<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="EN-US"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0cm 0cm 0cm">
            <p class="MsoNormal"><b><span
                  style="color:windowtext;mso-fareast-language:DE-CH"
                  lang="DE">Von:</span></b><span
                style="color:windowtext;mso-fareast-language:DE-CH"
                lang="DE"> Andy Lyons [<a class="moz-txt-link-freetext" href="mailto:lyons.andy@gmail.com">mailto:lyons.andy@gmail.com</a>] <br>
                <b>Gesendet:</b> Dienstag, 19. Mai 2015 09:27<br>
                <b>An:</b> André Zehnder<br>
                <b>Cc:</b> <a class="moz-txt-link-abbreviated" href="mailto:tlocoh-info@lists.r-forge.r-project.org">tlocoh-info@lists.r-forge.r-project.org</a><br>
                <b>Betreff:</b> Re: [tlocoh-info] auto.a() function
                suggests much too high a-values<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt">Hi André,<br>
          <br>
          Good questions. Your diagnosis shows that you understand
          what's going on. You're quite right that selecting a value for
          'a' is not intuitive, in part because it represents a
          cumulative distance of each point to several of its nearest
          neighbors, and in the case where time is incorporated in the
          selection of nearest neighbors (s>0), the distance is not a
          physical distance. <br>
          <br>
          The auto.a() function provides a starting point that has
          proven useful for many datasets, but it really is just that -
          a starting point to narrow down the range of 'a' values that
          provide a reasonable balance between over-estimation and
          under-estimation. The ultimate selection of 'a' should be
          based on your (admittedly subjective) assessment of minimizing
          spurious holes in the utilization distribution, and spurious
          cross-overs. Part of the subjectivity in selecting a parameter
          value (for any home range estimation method really) involves
          reflecting upon whether your research question requires better
          fidelity to the core area or overall 'home range'.  In other
          words, there is no recommended 'a' value. There are only
          recommended principles for selecting 'a' or 'k' (see appendix
          I of Lyons et al 2013), along with some tools (plots) to help
          you select a value. All of which is less convenient to be sure
          than a one-click solution, but hopefully keeps you close to
          your data and pushes you to think about what you want from
          your space use model. <br>
          <br>
          As to why the upper and lower ranges returned by the
          'auto.a()' function did a poor job for your dataset is hard to
          say, but it could be related to the geometry of the points or
          the sampling frequency.  Remember that <tt><span
              style="font-size:10.0pt">auto.a(ptp = 0.98, nnn = 2)</span></tt>
          returns the value of 'a' such that 98% of points have at least
          two nearest neighbors. If the distribution of points is wide
          ranging, this could result in a large "lower bound" that blows
          up the core areas. The suggestion to let <span lang="EN-US">k
            = sqrt(numberOfPoints)</span> is likewise a a starting point
          and not meant to be a recommended value. <br>
          <br>
          There is alternative function called <tt><span
              style="font-size:10.0pt">lxy.amin.add()</span></tt> to
          help identify upper and lower bounds for 'a'. But it is more
          of a convenience function and it operates on similar
          principles as auto.a(). There is also a relatively new
          function in tlocoh.dev that opens a GUI (Shinyapp) which is
          designed to help select parameter values. It isn't documented
          yet but see some sample code below.<br>
          <br>
          Hope this helps.<br>
          <br>
          Andy<br>
          <br>
          <br>
          <tt><span style="font-size:10.0pt">if (!require(tlocoh.dev))
              stop("Please install tlocoh.dev")</span></tt><span
            style="font-size:10.0pt;font-family:"Courier New""><br>
            <tt>## Loading required package: tlocoh.dev</tt><br>
            <tt>if (packageVersion("tlocoh.dev") < "1.2.02")
              stop("Please update your tlocoh.dev package")</tt><br>
            <br>
            <tt>## Load suggested packages</tt><br>
            <tt>pkgs <- c("rgdal", "raster", "shiny", "dismo")</tt><br>
            <tt>not.installed <- pkgs[!sapply(pkgs, function(p)
              require(p, character.only=T))]</tt><br>
            <br>
            <tt>## Create a hullset with evenly spaced parameter values
              (in this case k=4:20,</tt><br>
            <tt>## (could also be evenly spaced 'a' values, use
              something like a=seq(from=1000, to=15000, by=1000)</tt><br>
            <br>
            <tt>raccoon.lhs <- lxy.lhs(raccoon.lxy, s=0.05, k=4:20,
              iso.add=TRUE, status=FALSE)</tt><br>
            <br>
            <tt>## Download a background image for display</tt><br>
            <tt>raccoon.gmap <- lhs.gmap(raccoon.lhs, gmap="hybrid")</tt><br>
            <br>
            <tt>## Graphically select one of the parameter values by
              examining the isopleths, EAR plot, and ISO area plot</tt><br>
            <tt>raccoon.sel <- lhs.selection(raccoon.lhs)</tt><br>
            <tt>raccoon.sel <- lhs.shiny.select(raccoon.lhs,
              selection=raccoon.sel, gmap=raccoon.gmap)</tt><br>
            <br>
            <tt>## Apply selection</tt><br>
            <tt>raccoon.lhs <- lhs.select(racoon.lhs,
              selection=raccoon.sel)</tt><br>
          </span><br>
          <br>
          <span style="font-size:12.0pt;mso-fareast-language:DE-CH"><o:p></o:p></span></p>
        <div>
          <p class="MsoNormal">On 5/18/2015 10:38 AM, André Zehnder
            wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span lang="EN-US">Hi all,</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">I am performing a home
              range analysis with GPS data of some leopards and lions.
              The input data has a highly variable point density and
              result in quite large areas (roughly a magnitude of 500 to
              1’000 km2 for the 95% isopleth). In agreement with the
              tutorial, I begin with selecting the value for the
              temporal parameter s and then select suitable k values. As
              an orientation for that I use the rule of thumb ( k =
              sqrt(numberOfPoints)) and the plots. When a k-value has
              been chosen, the tutorial recommends to use the auto.a()
              function (lxy.nn.add(toni.lxy, s=0.003, a=auto.a(nnn=15,
              ptp=0.98))).</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">However, the
              recommended a-value is massively too high and results in a
              oversmoothed home range that lacks any details. The higher
              the s-value, the more severe is this issue. While the
              result of the suggested a-value still shows a few weak
              spatial details for s=0, almost circular home ranges
              result for all isopleths with s>0. I checked whether
              this issue occurs only for one dataset, but it is the same
              for all 5 datasets I have checked. I attached two images
              that present the result when using the recommended a-value
              (auto_) and one that presents a manually selected a-value
              (manually_). For example, for s=0.005, I would rather take
              an a-value between 150’000 and 190’000 than the
              recommended value of 1’150’000. The auto.a() function
              should thereby include at least k points for 90% of all
              hulls.</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">Therefore the
              question: Has anyone experienced the same issue or is it
              even a known technical problem with the package? My
              datasets contain 5’000 to 30’000 fixes, have some gaps and
              includes sometimes different sampling intervals. May the
              auto.a() function have severe problems due to that? The
              choice of an a-value is rather subjective and not really
              intuitive, especially when s>0. But when the auto.a()
              function can’t be used to get an approximate reference,
              what other measures are available to be able to justify
              your choice of the a-value?</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">PS: I use T-LoCoH
              version 1.34.00 with RStudio 0.98.1103.</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">Best regards,</span><o:p></o:p></p>
          <p class="MsoNormal"><span lang="EN-US">André Zehnder</span><o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:12.0pt;font-family:"Times New
              Roman",serif;mso-fareast-language:DE-CH"><br>
              <br>
              <br>
              <o:p></o:p></span></p>
          <pre>_______________________________________________<o:p></o:p></pre>
          <pre>Tlocoh-info mailing list<o:p></o:p></pre>
          <pre><a moz-do-not-send="true" href="mailto:Tlocoh-info@lists.r-forge.r-project.org">Tlocoh-info@lists.r-forge.r-project.org</a><o:p></o:p></pre>
          <pre><a moz-do-not-send="true" href="http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/tlocoh-info">http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/tlocoh-info</a><o:p></o:p></pre>
        </blockquote>
        <p class="MsoNormal"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman",serif;mso-fareast-language:DE-CH"><o:p> </o:p></span></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Tlocoh-info mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Tlocoh-info@lists.r-forge.r-project.org">Tlocoh-info@lists.r-forge.r-project.org</a>
<a class="moz-txt-link-freetext" href="http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/tlocoh-info">http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/tlocoh-info</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>