-
Notifications
You must be signed in to change notification settings - Fork 0
/
manual-residency-efficiency.html
307 lines (215 loc) · 14.8 KB
/
manual-residency-efficiency.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
<!DOCTYPE html>
<html lang="en">
<!-- Start Head -->
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="Description" content="R package actel.">
<title>residency() efficiency</title>
<!-- Favicon -->
<link rel="shortcut icon" type="image/icon" href="assets/images/actel_favicon.ico"/>
<!-- Font Awesome -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
<!-- Slick slider -->
<link href="assets/css/slick.css" rel="stylesheet">
<!-- Theme color -->
<link id="switcher" href="assets/css/theme-color/default-theme.css" rel="stylesheet">
<!-- Modal popup -->
<link href="assets/css/modal.css" rel="stylesheet">
<!-- Main Style -->
<link href="assets/css/style.css" rel="stylesheet">
<link href="assets/css/section_image_bg.css" rel="stylesheet">
<link href="assets/css/basic_typography.css" rel="stylesheet">
<link href="assets/css/dropdown_menu.css" rel="stylesheet">
<link href="assets/css/tables.css" rel="stylesheet">
<link href="assets/css/buttons.css" rel="stylesheet">
<link href="assets/css/size_responsiveness.css" rel="stylesheet">
<link href="assets/css/prism.css" rel="stylesheet">
<!-- Fonts -->
<!-- Poppins For Title -->
<link href="https://fonts.googleapis.com/css?family=Poppins" rel="stylesheet">
<!-- navBar -->
<link href="assets/css/navBar_for_white_bg.css" rel="stylesheet">
<link href="assets/css/navBar-second_for_white_bg.css" rel="stylesheet">
<!-- Code colouring -->
<link rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/styles/default.min.css">
</head>
<!-- End Head -->
<!-- Start Body -->
<body>
<div class="page-container">
<!--START SCROLL TOP BUTTON -->
<a class="scrollToTop" href="#">
<i class="fa fa-angle-up"></i>
</a>
<!-- END SCROLL TOP BUTTON -->
<!-- Start NavBar -->
<div class="navBar" id="navBar">
<a href="index.html">Home</a>
<a href="news.html">News</a>
<button onclick="toogleManualNavBarResponsive()"><strong>Manual</strong> <i class="fa-solid fa-caret-down"></i></button>
<a href="mailto:hflavio@dal.ca" onclick="closeNavBarDropdown()">Need help?<i class="fa fa-envelope" style="padding-left: 10px"></i></a>
<a href="javascript:void(0);" style="font-size:15px;" class="icon" onclick="toogleNavBarResponsive()"><i class="fa fa-bars"></i></a>
</div>
<!-- End NavBar -->
<!-- Start manual NavBar -->
<div class="navBar-second" id="navBar-manual">
<a href="manual-index.html">Section index</a>
<a href="manual-data.html">Input data</a>
<a href="manual-explore.html"><code>explore()</code></a>
<a href="manual-migration.html"><code>migration()</code></a>
<a href="manual-residency.html"><code><strong>residency()</strong></code></a>
<a href="manual-manual.html">Manual mode</a>
<a href="manual-beyond.html">Beyond the three analyses</a>
<a href="javascript:void(0);" style="font-size:15px;" class="icon" onclick="toogleManualNavBarResponsive()"><i class="fa-solid fa-arrow-left"></i></a>
</div>
<!-- End manual NavBar -->
<!-- Start Main Content -->
<main>
<!-- Start About -->
<section class="section-white-bg">
<div class="container">
<div class="section-white-bg-area">
<h2>Multi-way efficiency</h2>
<div class="manual">
<p>
Before starting efficiency estimations, actel gathers detailed information on the array structure of your study area. Let's use the study area below as an example.
</p>
<div class="image-margins">
<img src="assets/images/manual/multi_way_efficiency.svg" alt="drawing"/>
</div>
<p>With this spatial.txt file:
</p>
<pre>
A -- B -- C -- G
A -- D -- E -- G
D -- F -- G
D -- B
C -- E
C -- F
E -- F
</pre>
<p>Using array B as an example, actel finds out which arrays are directly connected to B, and which would be the shortest path (in number of arrays) between B and the remaining arrays. If there are multiple paths with the same number of array jumps, actel stores them all. Let's have a look in more detail:</p>
<ol>
<li>B is connected directly to A, C and D.</li>
<li>There are two equally long paths between B and E:
<p><code>B -> C -> E</code></p>
<p><code>B -> D -> E</code></p>
</li>
<li>The same applies between B and F:
<p><code>B -> C -> F</code></p>
<p><code>B -> D -> F</code></p>
</li>
<li>However, there is only one shortest path between B and G:
<p><code>B -> C -> G</code></p>
<p>(the animal could go through D and E/F, but that would require one more array jump)</p>
</li>
</ol>
<p>Now, why is this relevant? If a tag is detected at B and then, for example, at F, the animal is equally likely to have gone through C or D. This means we cannot choose a most likely path. However, if a tag is detected at B and then at G, we can assume it is more likely that array C failed, than that the tag passed through two arrays undetected (i.e. D and E or F).</p>
</div>
</div>
<div class="section-white-bg-area">
<h2>Assigning successful events</h2>
<div class="manual">
<p>To count the number of successful events, actel assigns one point for every time the tags shift positions. This means that, if a tag has multiple detection events in one single array, it counts as a single point, but if a tag goes somewhere else and returns to the initial array, it will count as two points in the initial array. Let's see some movement tables as examples:</p>
<table><thead><tr><th>Array</th><th>Detections</th><th>First.station</th><th>Last.station</th><th>First.time</th><th>Last.time</th><th>...</th></tr></thead><tbody><tr><td>A</td><td>1</td><td>St.1</td><td>St.1</td><td>2019-06-13 22:26:37</td><td>2019-06-13 22:26:37</td><td>...</td></tr><tr><td>D</td><td>1</td><td>St.4</td><td>St.4</td><td>2019-07-13 22:26:38</td><td>2019-07-13 22:26:38</td><td>...</td></tr><tr><td>D</td><td>1</td><td>St.4</td><td>St.4</td><td>2019-07-14 13:26:39</td><td>2019-07-14 13:26:39</td><td>...</td></tr><tr><td>D</td><td>1</td><td>St.4</td><td>St.4</td><td>2019-07-14 20:26:40</td><td>2019-07-14 20:26:40</td><td>...</td></tr><tr><td>E</td><td>1</td><td>St.5</td><td>St.5</td><td>2019-07-15 10:26:41</td><td>2019-07-15 10:26:41</td><td>...</td></tr><tr><td>C</td><td>1</td><td>St.3</td><td>St.3</td><td>2019-08-30 22:26:42</td><td>2019-08-30 22:26:42</td><td>...</td></tr></tbody></table>
<p>In this example, the tag was detected at A, D, E and C. Even though there are three movement events at D, since they are sequential, they will count as a single successful detection.
</p>
<table><thead><tr><th>Array</th><th>Detections</th><th>First.station</th><th>Last.station</th><th>First.time</th><th>Last.time</th><th>...</th></tr></thead><tbody><tr><td>A</td><td>1</td><td>St.1</td><td>St.1</td><td>2019-06-13 22:26:37</td><td>2019-06-13 22:26:37</td><td>...</td></tr><tr><td>D</td><td>1</td><td>St.4</td><td>St.4</td><td>2019-07-13 22:26:38</td><td>2019-07-13 22:26:38</td><td>...</td></tr><tr><td>E</td><td>1</td><td>St.5</td><td>St.5</td><td>2019-07-14 13:26:39</td><td>2019-07-14 13:26:39</td><td>...</td></tr><tr><td>D</td><td>1</td><td>St.4</td><td>St.4</td><td>2019-07-14 20:26:40</td><td>2019-07-14 20:26:40</td><td>...</td></tr><tr><td>A</td><td>1</td><td>St.1</td><td>St.1</td><td>2019-07-15 10:26:41</td><td>2019-07-15 10:26:41</td><td>...</td></tr><tr><td>A</td><td>1</td><td>St.1</td><td>St.1</td><td>2019-08-30 22:26:42</td><td>2019-08-30 22:26:42</td><td>...</td></tr></tbody></table>
<p>In this case, the tag is detected at A, D and E. However, unlike the example above, there are multiple occasions when the tag was detected at A and D (i.e., the tag was elsewhere in between). As such, this tag would award one point to array E and two points to arrays A and D.</p>
</div>
</div>
<div class="section-white-bg-area">
<h2>Assigning failed events</h2>
<div class="manual">
<p>When a tag is detected at more than one array, actel checks if consecutive events are at neighbouring arrays or not. If the two consecutive arrays are neighbours, everything is in order, but if not, actel proceeds to finding out which arrays have failed. If there is one single shortest path between the two arrays, actel attributes a "surely missed" point to the arrays constituting that path. If there are more than one equally short paths between the two arrays, actel attributes a "potentially missed" point to all the arrays involved in those paths. Here is an example:</p>
<table><thead><tr><th>Array</th><th>Detections</th><th>First.station</th><th>Last.station</th><th>First.time</th><th>Last.time</th><th>...</th></tr></thead><tbody><tr><td>A</td><td>1</td><td>St.1</td><td>St.1</td><td>2019-06-13 22:26:37</td><td>2019-06-13 22:26:37</td><td>...</td></tr><tr><td>D</td><td>1</td><td>St.4</td><td>St.4</td><td>2019-07-13 22:26:38</td><td>2019-07-13 22:26:38</td><td>...</td></tr><tr><td>G</td><td>1</td><td>St.7</td><td>St.7</td><td>2019-07-14 13:26:39</td><td>2019-07-14 13:26:39</td><td>...</td></tr><tr><td>C</td><td>1</td><td>St.3</td><td>St.3</td><td>2019-07-14 20:26:40</td><td>2019-07-14 20:26:40</td><td>...</td></tr><tr><td>A</td><td>1</td><td>St.1</td><td>St.1</td><td>2019-07-15 10:26:41</td><td>2019-07-15 10:26:41</td><td>...</td></tr></tbody></table>
<p>Let's go by events:</p>
<ol>
<li>The tag moved from A to D.
<p>These two arrays are neighbours, so everything is ok.</p>
</li>
<li>The tag moved from D to G.
<p>These two arrays are not neighbours, and there are two equally long paths between them. As such, actel will attribute one "potentially missed" point to arrays E and F.</p>
</li>
<li>The tag moved from G to C.
<p>These two arrays are neighbours, so everything is ok.</p>
</li>
<li>The tag moved from C to A.
<p> These two arrays are not neighbours, and there is only one shortest path between them. As such, actel will attribute one "surely missed" point to array B.</p>
</li>
</ol>
<p>The process for this tag is then finished.</p>
</div>
</div>
<div class="section-white-bg-area">
<h2>Minimum and maximum efficiency</h2>
<div class="manual">
<p>Actel repeats the processes above for all tags, and compiles a table of successful, surely missed and potentially missed events. Then, we have what we need to calculate efficiency:</p>
<p><code>max_efficiency = 1 - (s / (r + s))</code></p>
<p><code>min_efficiency = 1 - ((s + p) / (r + s + p))</code></p>
<p>Where:</p>
<p><code>r</code> = recorded events</p>
<p><code>s</code> = surely missed events</p>
<p><code>p</code> = potentially missed events</p>
<p>All the information used to calculate the efficiency is stored in the <a href="manual-residency-results.html#efficiency"><code>efficiency</code> object</a>.</p>
<h3>Intra-array efficiency</h3>
<p>Intra array efficiency calculations are also performed following the equations provided by <a href="https://www.researchgate.net/publication/256443823_Using_mark-recapture_models_to_estimate_survival_from_telemetry_data" target="_blank">Perry et al. (2012)</a>. Specifically, actel splits the array's receivers in "original" and "replicates" (depending on what you specified in the <a href="manual-migration.html#replicates">replicates argument</a>), and compares the tags detected at both of these elements. The results of the intra-array calculations for each array are then stored in the <a href="manual-migration-results.html#intra-array"><code>intra.array.CJS</code> list</a>.</p>
</div>
</div>
</div>
</section>
<!-- End Actions -->
</main>
<!-- End main content -->
<!-- Start footer -->
<footer id="st-footer">
<div class="container">
<div class="st-footer-area">
<div class="row">
<div class="col-md-6">
<div class="st-footer-left">
<p class="st-copy-right">actel: Simplifying acoustic telemetry data analysis</p>
</div>
</div>
<div class="col-md-6">
<div class="st-footer-right">
<div class="st-social-media">
<a href="mailto:hflavio@dal.ca" target="_blank" rel="noopener noreferrer"><i class="fa fa-envelope"></i></a>
<a href="https://ecoevo.social/@HugoMFlavio" target="_blank" rel="noopener noreferrer"><i class="fa-brands fa-mastodon"></i></a>
</div>
</div>
</div>
</div>
</div>
</div>
</footer>
<!-- End footer -->
<!-- Start JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<!-- Slick slider -->
<script type="text/javascript" src="assets/js/slick.min.js"></script>
<!-- Ajax contact form -->
<script type="text/javascript" src="assets/js/app.js"></script>
<!-- Modal popup -->
<script type="text/javascript" src="assets/js/modal.js"></script>
<!-- Custom js -->
<script type="text/javascript" src="assets/js/custom.js"></script>
<script type="text/javascript" src="assets/js/navBar.js"></script>
<!-- Code colouring -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.7.0/highlight.min.js"></script>
<script>hljs.highlightAll();</script>
<!-- Live reload (For testing) -->
<script>document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] + ':35729/livereload.js?snipver=1"></' + 'script>')</script>
<!-- End JavaScript -->
</div>
</body>
<!-- End Body -->
</html>