Day #236: Ugh, coder’s block
Okay, maybe not just coder’s block, but I feel like I’ve hit a wall. Every homework assignment I’m given for this class includes a “create your own problem and solve it,” element and for the first two assignments I feel like the topic sort of found me. We can talk about what those two projects were, but let’s first talk about this latest assignment.
For this assignment I need to find an interesting application for point process smoothing/filtering or point process expectation maximization. For those who aren’t taking the class, a point process is just a process that has two states. A state is literally a state of being, a light switch has an on state and an off state, this is a point process type system. Point processes are either on or off, a zero or a one, nothing in between.
Filtering is a way to clean data, it eliminates some of the variance, smoothing is the same as filtering, but in reverse time, so filtering goes from 0 -> N where N is whatever the length of the data you are working with is, while smoothing goes from N -> 0. Smoothing is great because it is better at eliminating the variance and getting you closer to the “true” value.
Expectation maximization on the other hand is a way to determine the best fit estimates for the variables in an equation that describes a process when we have hidden (unaccounted for) states or incomplete data. It is an iterative process that converges on a solution that best fits the data it is given, it is important to note that it finds the best local solution, not the global solution so there may be other solutions to your equation that are the true global best solution to your problem so it’s important to start the process off with a guess at the best solution and let the algorithm do the rest of the work.
Okay, now that we have a rough idea about what I am trying to do, I can say that I still have no clue what I want to do for my assignment. For the first assignment I designed a two dimensional kalman filter to determine the true state of a mouse cursor from a “noisy” measured state. The measured value has some random gaussian noise attached to it so it’s truly (okay, fine pseudo) random. Below is the solution to the code I created for that problem.
For the second problem, I came up with my famous flu pandemic model that inspired the instructor to give it to the rest of the class for our middle of the term project. Yeah, no pressure for the third assignment at all. If you don’t recall I’ve talked about that project before (along with my mouse cursor project). But to recap, I made a super “simple” model to track the infections using real CDC provided flu tracker data, this was right before the COVID-19 pandemic, or I would’ve used that data. Below we can see the estimated infected vs. the real measured infected data.
So while both the mouse cursor and flu modeling projects came fairly easy to me, to be honest I’m not even sure how I came up with the flu project originally, but whatever the case this project is just not getting anywhere. Normally I would search on line and attempt to find an interesting use case or something that fit the scope of the project we need to do, but I’m coming up with nothing. It’s so frustrating, maybe I’m overthinking it, but I just really want a good project for this assignment and time is running out.
I think I’m going to have to pull the bandaid off and use some of that invasive rat spinal data I got to create a prediction of what the rat is doing based on the signals recorded. What I would do with it fits the assignment, but it’s (once again) total and complete overkill for what we are supposed to be doing, which I did for the last two assignments AND this class project so I would like to not do that yet again. Ugh, well if I don’t come up with something, at least I have a backup plan.