forked from privefl/rmarkdown-website-template
-
Notifications
You must be signed in to change notification settings - Fork 2
/
wt3.html
623 lines (551 loc) · 22.7 KB
/
wt3.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
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta http-equiv="X-UA-Compatible" content="IE=EDGE" />
<title>Work Term 3</title>
<script src="site_libs/header-attrs-2.21/header-attrs.js"></script>
<script src="site_libs/jquery-3.6.0/jquery-3.6.0.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="site_libs/bootstrap-3.3.5/css/cosmo.min.css" rel="stylesheet" />
<script src="site_libs/bootstrap-3.3.5/js/bootstrap.min.js"></script>
<script src="site_libs/bootstrap-3.3.5/shim/html5shiv.min.js"></script>
<script src="site_libs/bootstrap-3.3.5/shim/respond.min.js"></script>
<style>h1 {font-size: 34px;}
h1.title {font-size: 38px;}
h2 {font-size: 30px;}
h3 {font-size: 24px;}
h4 {font-size: 18px;}
h5 {font-size: 16px;}
h6 {font-size: 12px;}
code {color: inherit; background-color: rgba(0, 0, 0, 0.04);}
pre:not([class]) { background-color: white }</style>
<script src="site_libs/navigation-1.1/tabsets.js"></script>
<link href="site_libs/highlightjs-9.12.0/textmate.css" rel="stylesheet" />
<script src="site_libs/highlightjs-9.12.0/highlight.js"></script>
<link href="site_libs/font-awesome-6.4.0/css/all.min.css" rel="stylesheet" />
<link href="site_libs/font-awesome-6.4.0/css/v4-shims.min.css" rel="stylesheet" />
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
ul.task-list{list-style: none;}
</style>
<style type="text/css">code{white-space: pre;}</style>
<script type="text/javascript">
if (window.hljs) {
hljs.configure({languages: []});
hljs.initHighlightingOnLoad();
if (document.readyState && document.readyState === "complete") {
window.setTimeout(function() { hljs.initHighlighting(); }, 0);
}
}
</script>
<style type = "text/css">
.main-container {
max-width: 940px;
margin-left: auto;
margin-right: auto;
}
img {
max-width:100%;
}
.tabbed-pane {
padding-top: 12px;
}
.html-widget {
margin-bottom: 20px;
}
button.code-folding-btn:focus {
outline: none;
}
summary {
display: list-item;
}
details > summary > p:only-child {
display: inline;
}
pre code {
padding: 0;
}
</style>
<style type="text/css">
.dropdown-submenu {
position: relative;
}
.dropdown-submenu>.dropdown-menu {
top: 0;
left: 100%;
margin-top: -6px;
margin-left: -1px;
border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover>.dropdown-menu {
display: block;
}
.dropdown-submenu>a:after {
display: block;
content: " ";
float: right;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
border-width: 5px 0 5px 5px;
border-left-color: #cccccc;
margin-top: 5px;
margin-right: -10px;
}
.dropdown-submenu:hover>a:after {
border-left-color: #adb5bd;
}
.dropdown-submenu.pull-left {
float: none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
left: -100%;
margin-left: 10px;
border-radius: 6px 0 6px 6px;
}
</style>
<script type="text/javascript">
// manage active state of menu based on current page
$(document).ready(function () {
// active menu anchor
href = window.location.pathname
href = href.substr(href.lastIndexOf('/') + 1)
if (href === "")
href = "index.html";
var menuAnchor = $('a[href="' + href + '"]');
// mark the anchor link active (and if it's in a dropdown, also mark that active)
var dropdown = menuAnchor.closest('li.dropdown');
if (window.bootstrap) { // Bootstrap 4+
menuAnchor.addClass('active');
dropdown.find('> .dropdown-toggle').addClass('active');
} else { // Bootstrap 3
menuAnchor.parent().addClass('active');
dropdown.addClass('active');
}
// Navbar adjustments
var navHeight = $(".navbar").first().height() + 15;
var style = document.createElement('style');
var pt = "padding-top: " + navHeight + "px; ";
var mt = "margin-top: -" + navHeight + "px; ";
var css = "";
// offset scroll position for anchor links (for fixed navbar)
for (var i = 1; i <= 6; i++) {
css += ".section h" + i + "{ " + pt + mt + "}\n";
}
style.innerHTML = "body {" + pt + "padding-bottom: 40px; }\n" + css;
document.head.appendChild(style);
});
</script>
<!-- tabsets -->
<style type="text/css">
.tabset-dropdown > .nav-tabs {
display: inline-table;
max-height: 500px;
min-height: 44px;
overflow-y: auto;
border: 1px solid #ddd;
border-radius: 4px;
}
.tabset-dropdown > .nav-tabs > li.active:before, .tabset-dropdown > .nav-tabs.nav-tabs-open:before {
content: "\e259";
font-family: 'Glyphicons Halflings';
display: inline-block;
padding: 10px;
border-right: 1px solid #ddd;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open > li.active:before {
content: "\e258";
font-family: 'Glyphicons Halflings';
border: none;
}
.tabset-dropdown > .nav-tabs > li.active {
display: block;
}
.tabset-dropdown > .nav-tabs > li > a,
.tabset-dropdown > .nav-tabs > li > a:focus,
.tabset-dropdown > .nav-tabs > li > a:hover {
border: none;
display: inline-block;
border-radius: 4px;
background-color: transparent;
}
.tabset-dropdown > .nav-tabs.nav-tabs-open > li {
display: block;
float: none;
}
.tabset-dropdown > .nav-tabs > li {
display: none;
}
</style>
<!-- code folding -->
</head>
<body>
<div class="container-fluid main-container">
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-bs-toggle="collapse" data-target="#navbar" data-bs-target="#navbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.html">Brandon Edwards</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li>
<a href="about.html">
<span class="fa fa-user"></span>
About
</a>
</li>
<li>
<a href="software.html">
<span class="fa fa-code"></span>
Software
</a>
</li>
<li>
<a href="writing.html">
<span class="fa fa-pencil"></span>
Writing
</a>
</li>
<li>
<a href="cv_brandon_edwards.pdf">
<span class="fa fa-file"></span>
CV
</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="https://github.com/BrandonEdwards">
<span class="fa fa-github"></span>
</a>
</li>
<li>
<a href="https://www.linkedin.com/in/brandonpmedwards/">
<span class="fa fa-linkedin"></span>
</a>
</li>
</ul>
</div><!--/.nav-collapse -->
</div><!--/.container -->
</div><!--/.navbar -->
<div id="header">
<h1 class="title toc-ignore">Work Term 3</h1>
</div>
<p><img src="img/WOTH-map.png" /></p>
<div id="introduction" class="section level1">
<h1>Introduction</h1>
<p>My third co-op work term took place at the National Wildlife Research
Centre in Ottawa, ON. Here, I was an employee of Environment and Climate
Change Canada - Canadian Wildlife Service. This was actually a position
I had heard about indirectly from my previous co-op work terms with
Dr. Daniel Gillis and Dr. Shoshanah Jacobs, and this work term proved to
be another “game changer” in how my undergraduate career trajectory was
shaped.</p>
</div>
<div id="about-the-employer" class="section level1">
<h1>About the Employer</h1>
<p><img src="img/eccc.png" /> <img src="img/cws.gif" /></p>
<p>Environment and Climate Change Canada (ECCC) is a branch of the
Canadian government that deals with all aspects of the environment,
including weather, harvesting, waste, and species at risk. One of the
divisions of ECCC is the Canadian Wildlife Service (CWS), which is the
division that specifically deals with harvesting animals and managing
and conservation species at risk.</p>
<p>One of the major projects that CWS oversees (in conjunction with the
United States Geological Survey, USGS) is the North American Breeding
Bird Survey (BBS). The BBS is a long-running program that aims to model
population trajectories of the birds of North America. Dr. Adam Smith,
the senior biostatistician at CWS, works with folks at the USGS to
develop sophisticated Bayesian models to make predictions about the
trends of various bird species over the next decade. Dr. Smith’s field
of biostatistics (especially as it pertains to birds) was of great
interest to me, which pushed me to pursue a co-op work term at CWS.</p>
</div>
<div id="job-description" class="section level1">
<h1>Job Description</h1>
<p>Dr. Smith and I communicated back and forth over the months leading
up the work-term. He identified several projects that he either led or
was involved with that might be of interest to me. In the end, we
settled on a project that would have me developing and testing a new
type of model for for BBS data. I would be investigating the use of a
Bayesian Generalized Additive Model (GAM), and that investigation would
see me gain experience using probabilistic programming languages such as
JAGS and would also have me gain a large amount of experience in the
world of Bayesian modelling.</p>
<p>Additionally, roughly a month into the work-term, I approached
Dr. Smith with a second project that I was willing to take the lead on
which involved the development of an R package to allow other
researchers to perform their own BBS analyses. This happened to be
something Dr. Smith was interested in doing for a while but hadn’t had
the time to do, so I was able to take the lead on a project of my own
design.</p>
</div>
<div id="goals" class="section level1">
<h1>Goals</h1>
<div id="bayesian-modelling" class="section level3">
<h3>Bayesian Modelling</h3>
<p>The main theme of this co-op work term was Bayesian modelling, so
three out of five work term goals encompassed distinct areas of Bayesian
modelling that I was looking to learn.</p>
<div id="motivation" class="section level5">
<h5>Motivation</h5>
<p>One of the first major areas of Bayesian modelling I had to gain
experience in was the background information and motivation surrounding
Bayesian modelling and Bayesian statistics. In most undergraduate
courses, Bayesian statistics is only touched on briefly in upper year
courses, so this was very much a self guided process. Dr. Smith was kind
enough to lend me some valuable resources for the summer for me to
references, including books and papers by Andrew Gelman, a prominant
researcher in Bayesian modelling.</p>
<p>For a given data set or problem, accomplishing this goal would mean I
would be able to explain and defend the use of Bayesian data analysis to
analyse the data at hand.</p>
</div>
<div id="mathematics" class="section level5">
<h5>Mathematics</h5>
<p>Bayesian statistics is rooted heavily in assumptions made regarding
the distribution of data. Without going into too much “mathy” detail,
Bayesian modelling, in a sense, looks to combine these distributions
from all covariates of a given dataset into one new distribution that
the response variable takes on. This allows the researcher to make more
intuitive statements about the response, such as “we are 95% certain
that the response lies between x and y”.</p>
<p>With all this in mind, referencng the resources that Dr. Smith lent
me allowed me to gain a deeper understanding the mathematics behind
finding this joint distribution and the underlying assumptions needed to
find this distribution.</p>
</div>
<div id="computational-techniques" class="section level5">
<h5>Computational Techniques</h5>
<p>Bayesian modelling requires a lot more computational background and
ability than traditional least squares regression. For example, one
needs to know probabilistic programming languages such as JAGS or Stan
and how to call these languages through R, and one needs to know some
basics of the computation of Markov Chains. Again, through the resources
Dr. Smith lent me for the summer, I was able to work through some
examples in the books to gain a sense of how Bayesian models should be
coded in JAGS and how to properly use R as an interface to call and run
these models.</p>
</div>
</div>
<div id="understandng-data" class="section level3">
<h3>Understandng Data</h3>
<p>The BBS data set is an absolutely enormous data set, consisting of
close to 7 million data points across over 40 potential covariates. As
such, improving my quantitative literacy was crucial in being able to
fully understand how I might be able to develop models to make
meaningful statements about the data. With this, I actively researched
how BBS data was collected (especially how it’s collected in the field)
and processed at USGS offices. Knowing this background information on
the data also allowed me to achieve some checkpoints in my <em>Bayesian
Modelling</em> goals as it helped me think about what distributions some
covariates may come from.</p>
</div>
<div id="r-package-development" class="section level3">
<h3>R Package Development</h3>
<p>This was probably my most ambitious goal for this workterm, but one
that I felt tied all my other goals together. Wrting an R package would
require me to have a thorough understanding the Bayesian mathematics and
computation techniques needed for BBS analysis, as well as a thorough
understanding of the data itself. Through this, I was able to create an
R package that allows a researcher to download and prepare raw BBS data,
as well as model and analyze this data.</p>
<p>This goal also allowed me to gain experience with software
development for an end-user, something that, being in a computer science
program (compared to software engineering) I did not have much
experience with before.</p>
</div>
</div>
<div id="academic-relation" class="section level1">
<h1>Academic Relation</h1>
<p>This work term was most related to my statistics minor and ecology
“interest”, but many foundational computer science courses came into
play.</p>
<div id="computer-science" class="section level3">
<h3>Computer Science</h3>
<p>Object-oriented programming (CIS*2430) and Data Structures (CIS*2520)
were the most useful classes for this work term. Principles of OOP were
explored heavily in the development of the R package, especially when it
comes to manipulating large classes of, say, MCMC objects. Further, R
has several different “environments” that are available to either the
user, the package, or both, that had to be carefully manipulated, so my
background with OOP served me well for that portion of the package
design. Data structures was useful</p>
</div>
<div id="statistics" class="section level3">
<h3>Statistics</h3>
<p>As mentioned, this work term more directly related to my courses in
statistics, especially Introductory Mathematical Statistics II
(STAT*3110) and Linear Algebra I (MATH*1160). Bayesian statistics was a
small portion of STAT*3110, but ended up playing a large role in at
least providing me some very high-level background information about how
prior and posterior distributions are related to each other. Further,
that course had heavy content on distributions and how to derive them,
so this was a rather important concept in decding on prior distributions
for parameters. MATH*1160 played a key role in developing and
understanding the GAM basis function for the GAM model. Although the
linear algebra needed for the GAM basis function was beyond the scope of
MATH*1160, I still had some of the tools and background knowledge needed
to research more advanced topics such as Singular Value Decomposition
and Outer Products.</p>
</div>
<div id="ecology" class="section level3">
<h3>Ecology</h3>
<p>After my previous work terms, I aimed to make my undergraduate more
of a “computational ecology” major. This work term allowed me to explore
concepts that I learned in Ecology (BIOL*2060) and Populations,
Communities, and Ecosystems (BIOL*3060).</p>
</div>
</div>
<div id="opportunities" class="section level1">
<h1>Opportunities</h1>
<div id="international-ornithological-congress-2018"
class="section level3">
<h3>International Ornithological Congress 2018</h3>
<p>Once again, I had the opportunity to participate in a large
conference related to research I was interested in. This time, the
conference was the 2018 International Ornithological Congress which took
place in Vancouver, BC. This was a gathering of ornithologists from all
around the world to present their research.</p>
<p>For this conference, I was able to participate in three separate
presentations. The first one actually was related to work done by my
previous co-op which I presented at the concurrent Waterbirds Society
meeting. Then, I was accepted to present a lightning talk at the Society
of Canadian Ornithologists/Societie des ornithologistes du Canada Early
Career Researchers workshop. A lightning talk is a talk that can be a
maximum of 5 minutes, so it was a very interesting opportunity to
improve my scientific communication skills to provide a succinct summary
of my research. For the lightning talk, I presented an early view of the
R package bbsBayes.</p>
<p>Finally, I presented a poster at the main poster session of the IOC,
where I was able to network with hundreds of researchers that were
interested in my background of computer science and statistics and how
I’m applying that to ornithology. The <a
href="Poster_small_flat.pdf">poster</a> I presented was related to the
development of the Bayesian GAM model and some of the rather interesting
results that came from it.</p>
</div>
<div id="government-lab-work" class="section level3">
<h3>Government Lab Work</h3>
<p>One of the more unique experiences from this co-op was the
opportunity to work in a government lab as a public servant. There were
a variety of similarities and differences between government reserach
and research in an institution setting such as a University. However,
the opportunity to work in a government lab opened the doors to possible
jobs at the National Wildlife Research Centre in the future.</p>
</div>
<div id="research-papers" class="section level3">
<h3>Research Papers</h3>
<p>One primary goal that I did not list on my co-op work term goals was
to produce another academic paper based on the research I would be doing
over the summer. At this point, it appears that I will actually be able
to be involved with 2 papers, one that I will be a primary author of.
The first paper (that I will be primary author of) will be a software
paper fully describing bbsBayes and giving a worked example of how to
use it. The second paper relates to the results of the Bayesian GAM and
what implications the use of it could have for future BBS analyses. Both
these papers allowed me a unique chance to co-author with scientists
that I have followed for the last few years, and it was a great
experience to see how their academic process worked.</p>
</div>
<div id="future-work" class="section level3">
<h3>Future Work</h3>
<p>This co-op work term opened up the doors for some potential future
collaborations or work at the National Wildlife Research Centre with
Dr. Smith. One opportunity that is quickly approaching is graduate
school, and since Dr. Smith is an adjunct professor at Carleton
University, he has the ability to be a co-supervisor for grad studies.
Further, since Dr. Smith does close work with USGS, this allows me to
potentially gain contacts there for future work or reserach
collaborations.</p>
</div>
</div>
<div id="conclusion" class="section level1">
<h1>Conclusion</h1>
<p>This work-term provided me the opportunity to work in a field that is
directly related to my interest of quantitative ecology. Prior to the
work term, I didn’t realize that I would be working with scientists that
directly create important reports such as the State of the Birds of
North America, or scientists directly involved with species at risk
policy. Working closely with these scientists allowed me to gain a great
perspective of all the things that go into natural resource policy,
especially from a quantitative side.</p>
<p>As of this work term, <a
href="https://github.com/BrandonEdwards/bbsBayes">bbsBayes</a> is
quickly approaching beta testing for the general public to test the
package. Dr. Smith and I plan on releasing a full version of the package
near the end of 2018. This also means that I will be able to publish the
software paper related to the package.</p>
<p>Finally, one of the major things this position allowed me to
accomplish was to solidify my decision to switch majors. Prior to this
work term, I had contemplated switching out of Computer Science and into
Mathematical Science to pursue a more statistics-oriented undergraduate
course. With the math-heavy work that this job provided me, I realized
how much I enjoyed doing statistics, and it fully backed up my choice to
switch out of computer science and into statistics.</p>
<p>With that in mind, that means that this will actually be my last
co-op work term report, as the Mathematical Science major at Guelph does
not have co-op. Despite that, the opportunities that co-op has offered
me has fully shaped my undergraduate career trajectory into something
completely relevent to the fields of work I want to get into. Despite
losing co-op, I know I will gain the necessary skills I need in the Math
Science major to evenutally succeed in a quantitative ecology field.</p>
</div>
<div id="acknowledgements" class="section level1">
<h1>Acknowledgements</h1>
<p>Thank you, Dr. Adam Smith, for the amazing work term! I could not
have asked for a better experience at NWRC. Thank you trusting in me to
take on not one, but two major projects over the course of a summer, and
trusting that I will succeed in both. I look forward to future
collaborations with you!</p>
<p>I thank the thousands of skilled volunteers who have contributed to
the Breeding Bird Survey over the years, as well as those who have
served as provincial and territorial coordinators.</p>
<p>I acknowledge that the National Wildlife Research Centre resides on
the traditional and unceded territory of the Algonquin nation.</p>
</div>
</div>
<script>
// add bootstrap table styles to pandoc tables
function bootstrapStylePandocTables() {
$('tr.odd').parent('tbody').parent('table').addClass('table table-condensed');
}
$(document).ready(function () {
bootstrapStylePandocTables();
});
</script>
<!-- tabsets -->
<script>
$(document).ready(function () {
window.buildTabsets("TOC");
});
$(document).ready(function () {
$('.tabset-dropdown > .nav-tabs > li').click(function () {
$(this).parent().toggleClass('nav-tabs-open');
});
});
</script>
<!-- code folding -->
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
</body>
</html>