-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmisc_projects.html
More file actions
254 lines (219 loc) · 13.3 KB
/
misc_projects.html
File metadata and controls
254 lines (219 loc) · 13.3 KB
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
<!DOCTYPE html>
<html>
<title>Nate Dailey</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="style.css">
<body>
<!-- Navbar (sit on top) -->
<div class="w3-top">
<div class="w3-bar w3-white w3-wide w3-padding w3-card">
<a href="index.html" class="w3-bar-item w3-button">Nate Dailey</a>
<!-- Float links to the right. Hide them on small screens -->
<div class="w3-right w3-hide-small">
<a href="experience.html" class="w3-bar-item w3-button">Experience</a>
<!-- <a href="about_me.html" class="w3-bar-item w3-button">About Me</a> -->
<a href="misc_projects.html" class="w3-bar-item w3-button">Projects</a>
</div>
</div>
</div>
<!-- Header -->
<header class="w3-display-container w3-content w3-wide" style="max-width:1500px;" id="home">
<img class="w3-hide-small" src="images/satellite_landscape.jpg">
<div class="w3-display-middle w3-margin-top w3-center">
<h1 class="w3-xxlarge w3-text-white"><b><span class="w3-hide-small w3-text-light-grey">Projects</span></b></h1>
</div>
</header>
<!-- Page content -->
<div class="w3-content w3-padding" style="max-width:1564px">
<!-- About Section -->
<div class="w3-container w3-padding-32" id="about">
<h1 class="w3-border-bottom w3-border-light-grey w3-padding-16">Structure-Level Risk Model for 2025 Palisades and Eaton Fires</h1>
<p>
This is an overview of my culminating project for my master's degree in data science and analytics (paper to be submitted in Spring 2026).
</p>
<h4 class="w3-border-bottom w3-border-light-grey w3-padding-16">Problem statement</h4>
This project builds structure-level models for the 2025 Eaton and Palisades fires to better understand the factors that contributed to their destructiveness.
Features in the model include structure density, presence of vegetation, topography, structure age, and wind alignment for predicting how a given structure fared in the respective conflagration.
<h3 class="w3-border-bottom w3-border-light-grey w3-padding-16">Damage maps for Eaton (left) and Palisades (right) fires</h3>
<img src="images/masters_project/eaton map.png" alt="eaton_map" width="37%">
<img src="images/masters_project/palisades map.png" alt="palisades_map" width="37%"><br><br>
Eaton Fire: 14,021 acres and 9,413 structures burned.<br>
Palisades Fire: 23,707 acres and 6,833 structures burned.
<h2 class="w3-border-bottom w3-border-light-grey w3-padding-16">Explanatory variables:</h2>
Each of the following variables includes
a zoomed-in view of a small subset of structures, shown to convey the typical range and spatial variability of each metric. Plots are from the Palisades Fire study area.
<h4 class="w3-border-bottom w3-border-light-grey w3-padding-16">Structure density</h4>
Number of neighboring structures within 250, 500, and 1,000 ft of each structure. Example figure uses 250 ft radius.<br>
<br><img src="images/masters_project/structures within 250ft.png" alt="structures within 250ft" width="33%"><br><br>
<h4 class="w3-border-bottom w3-border-light-grey w3-padding-16">Vegetation Density</h4>
Ratio of NDVI in given range within radii of 250, 500, and 1000 ft. Ranges of 0.2-0.8 and 0.3-0.8 used. Example figure demonstrates the ratio of pixels in the 0.2-0.8 range within a 250 ft radius.<br>
<br><img src="images/masters_project/ndvi ratio 0.2-0.8 in 250 ft radius.png" alt="ndvi 0.2-0.8 within 250ft" width="37%"><br>
<h4 class="w3-border-bottom w3-border-light-grey w3-padding-16">Year Built</h4>
Example figure shows year built variable.<br>
<br><img src="images/masters_project/year built.png" alt="year_built" width="32%"><br>
<h4 class="w3-border-bottom w3-border-light-grey w3-padding-16">Slope</h4>
For each structure, a 90° wedge is defined in the upslope direction, extending 100 ft from lower to higher elevation toward the structure and excluding the first 15 ft adjacent to the building.
The mean, max, and 90th percentile values of slope within this wedge are used as features.
The mean is shown in the figure, which also includes two visual examples of the wedges used for calculations.
This variable accounts for the tendency of fire to spread uphill.<br>
<br><img src="images/masters_project/mean slope.png" alt="upslope_wedge" width="37%"><br>
<h4 class="w3-border-bottom w3-border-light-grey w3-padding-16">Structure density in northeast</h4>
This predictor accounts for ember casting from other structures via Santa Anna winds.
It represents the number of structures in the northeast 45° wedge for each structure.
There are different features for wedge lengths of 250, 500, and 1000 ft. Figure demonstrates the number of structures in the 500 ft wedge.<br>
<!-- <img src="images/masters_project/wedge length examples.png" alt="wedge length examples" width="24%"><br> -->
<br><img src="images/masters_project/structs in 500 ft NE wedge.png" alt="structures in 500ft NE wedge" width="37%"><br>
<h4 class="w3-border-bottom w3-border-light-grey w3-padding-16">Vegetation in northeast</h4>
Ratio of NDVI in the range 0.2-0.8 in 45° northeast wedge, which represents ember casting from vegetation. Wedge lengths are 250, 500, and 1000 ft. Figure demonstrates 500 ft wedge.<br>
<br><img src="images/masters_project/ndvi 0.2-0.8 within 500ft NE wedge.png" alt="NDVI in 500ft NE wedge" width="37%"><br>
<h2 class="w3-border-bottom w3-border-light-grey w3-padding-16">Results</h2>
XGBoost was used to classify whether structures would burn or survive.
<h3 class="w3-border-bottom w3-border-light-grey w3-padding-16">Eaton Fire Results</h3>
<img src="images/masters_project/eaton xg boost results.png" alt="eaton_xgboost_results" width="25%"><br><br>
<h4>SHAP Plot</h4>
Variables are listed from top to bottom in the plot by decreasing impact in the model.
Note that the SHAP value (x-axis) represents the impact of each feature on the model output
(i.e. closer to -1 meaning the prediction was pushed toward unburned, and closer to 1 meaning the prediction was pushed toward burned).<br>
<img src="images/masters_project/eaton shap.png" alt="eaton_shap" width="45%"><br><br>
<h3 class="w3-border-bottom w3-border-light-grey w3-padding-16">Palisades Fire Results</h3>
<img src="images/masters_project/palisades xg boost results.png" alt="palisades_xgboost_results" width="25%"><br><br>
<h4>SHAP Plot:</h4>
<img src="images/masters_project/palisades shap.png" alt="palisades_shap" width="45%"><br><br>
Overall, structure density, structure area, vegetation density, and year built were among the most influential factors.
This is consistent with the results of Knapp et al. (2021), who found structure density to be the most important factor in predicting structure loss in the 2018 Camp Fire.
<br><br>
Full paper to be submitted in Spring 2026.
<h1 class="w3-border-bottom w3-border-light-grey w3-padding-16">Mappy</h1>
<p>
During August 2021 - May 2022, I worked at the Formal Analysis of Interactive Media (FAIM) Lab at Pomona College.
I assisted in the development of <i>Mappy</i>, a Rust program which interprets pixel data from emulated Nintendo
NES games. Mappy's main feature is to produce game maps, linking together different levels and rooms. I specifically
worked on Sprite Blobbing and Avatar Detection features, which involve tracking game sprites and grouping them
based on their movement and relation to user input. In fall 2021, we submitted a paper on Mappy to a small conference called AIIDE
(AI and Interactive Digital Entertainment). Not only was the paper accepted, but it also received an award for best paper at
the conference.
</p>
<a href="https://ojs.aaai.org/index.php/AIIDE/article/view/18892/18657">Click here to read the paper.</a>
<br><br>
<img src="images/rust_logo.jpg" alt="rust_logo.png" width="15%">
<h1 class="w3-border-bottom w3-border-light-grey w3-padding-16">Triumvirate Arena</h2>
<p>
Triumvirate Arena is a battle card game featuring three players: Nate, Chloe, and Grace. Each player type has three
signature moves which might increase or decrease your health/mana, and/or do damage to the other player. The goal of
this two player game is to reduce the opponent's health to zero. This project was part of the Spring 2022 Game Engine Programming class at Pomona College.
</p>
<p>
We wrote Triumvirate Arena in Rust, completely from scratch, without a pre-made game engine (using Bitblt and Vulkan shaders). In our team of 3 (myself, Chloe,
and Grace), I worked on gameflow mechanics (health/mana interactions, turn taking); player moves; and creating original music,
while my partners worked on other mechanics.
</p>
<p>
<img src="https://media.giphy.com/media/HGYiv56I6W1ADz2wTC/giphy.gif" alt="gameflow gif" width="40%">
</p>
<p>
<a href="https://github.com/csaa2019/triumvirate-2d-game">Click here for the Triumvirate Arena repository,</a>
in order to see the code and more gameplay examples!
</p>
<br>
<p>
<b>Features:</b>
<ul>
<li>Two player turn taking</li>
<li>Choose player</li>
<li>Choose move</li>
<li>Animated health bars</li>
<li>Fonts + text writing</li>
<li>Bitblt images</li>
<li>Original music</li>
<li>Sound effects for selecting moves, players, etc.</li>
<li>Main/end screen</li>
<li>Get info screens for players and moves</li>
<li>Health and mana tracking (generation and subtraction moves)</li>
<li>Health and mana requirements for moves</li>
</ul>
</p>
<h1 class="w3-border-bottom w3-border-light-grey w3-padding-16">JumpyBall</h2>
<p>
JumpyBall is a 3D parkour game. The player navigates through levels by jumping across platforms, avoiding the ground,
and working their way to the end gem.
</p><p>
We used the Frender game engine (created by Professor Joseph Osborn), which assisted with the 3D rendering. We created
the physics, collision system and assets from scratch.
</p><p>
In JumpyBall, I primarily worked on asset creation and the collision system. I created all of the 3D models in Blender
and wrote a Python script to create a set of bounding boxes for objects on the map (used for collision system). This project
was also part of the Spring 2022 Game Engine Programming class at Pomona College.
</p>
<br>
<a href="https://www.youtube.com/watch?v=OYXQprO6SmI">Click here to watch the JumpyBall trailer!</a>
<br>
<br>
<img class="w3-hide-small" src="images/jumpyball1.png" alt="Image" width="25%" height="25%">
<img class="w3-hide-small" src="images/jumpyball2.png" alt="Image" width="25%" height="25%">
<p>
<br>
<b>Features</b>:
<ul>
<li>Jumping (double jump)</li>
<li>Rolling</li>
<ul>
<li>Mid air rolling</li>
<li>Roll while jumping</li>
</ul>
<li>Collision</li>
<ul>
<li>Bounding boxes for every object in scene, created via Blender Python script</li>
<li>AABB-Sphere collision</li>
</ul>
<li>Camera (mouse responsive out of window)</li>
<li>Level Switching</li>
<ul>
<li>Switch between levels (and beat the game) by collecting gems</li>
<li>Level restart when player falls</li>
</ul>
<li>Modeling</li>
<ul>
<li>Made-from-scratch 3d models of ball, landing objects, and world</li>
</ul>
<li>Textures</li>
<ul>
<li>Cosmetic map textures (ex. lava ground, space sphere)</li>
<li>Ball texture</li>
<li>Landing object textures (pillars and cubes)</li>
</ul>
<li>Music (original JumpyBall music)</li>
</ul>
</p>
<!-- EBAY Section -->
<img src="images/ebay_logo_cropped.jpg" alt="ebay_logo.png" width="25%">
<h1 class="w3-border-bottom w3-border-light-grey w3-padding-16">eBay Delivery Prediction Project</h1>
<p>
During Fall 2021, I worked in a team of 5 to create a neural network that predicts the delivery time of items sold on eBay (based on features such as declared handling days,
item category, weight, etc.).
</p>
<p>
<ul>
<li>Data cleaning</li>
<li>Neural Network in PyTorch</li>
<li>XGBoost and CatBoost models</li>
</ul>
</p>
<a href="https://milliemince.github.io/eBay-shipping-predictions/">Standalone website</a><br>
<a href="https://github.com/milliemince/eBay-shipping-predictions">Repository</a><br>
<hr>
<div id="animation_yoyo"></div>
<br><br>
<!-- End page content -->
</div>
<!-- Footer -->
<footer class="w3-center w3-black w3-padding-16">
<div>
<a href="experience.html" class="w3-button" style="border:2px solid rgb(163, 64, 255);">Experience</a>
<!-- <a href="about_me.html" class="w3-button" style="border:2px solid rgb(252, 201, 32);">About Me</a> -->
<a href="misc_projects.html" class="w3-button" style="border:2px solid rgb(255, 70, 101);">Projects</a>
</div>
</footer>
</body>
<script src="script.js"></script>
</html>