<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>