Sunday, May 8, 2016

Modest schedule change

When I decided to practice the sabbath, I put it on the traditional sabbath (Saturday) because it seemed like I might be stressed if I had to take Sunday off and had something due on Monday. As I've been in school for a year now and I've never had anything due on a Monday, I'm going to move it to the line up with the more normal Christian observance of sundown Saturday to sundown Sunday.

This is a bigger deal than it may at first seem. Not which day it falls on; that's completely arbitrary. But the sabbath itself is no small thing to me. Even if you don't buy any of the traditional Judeo-Christian canon, there's plenty of current research indicating that taking a day off a week is a really, really good idea.

As with all disciplines, one needs to use some judgement. There are going to be cases where observing the discipline is worse in every way than breaking it. However, the point of discipline is rooted in the word itself. It comes from the Latin disciplina, which is a noun that broadly encompasses the idea that in order to learn something, you have to put your mind to it. So, it's not quite a law, but it's definitely more than a suggestion.

I've found that taking a day off each week this year has been a great way to make sure that other aspects of my life, most notably the spiritual side, are not obliterated by the single-minded pursuit of a worldly goal, laudable though it may be.

Saturday, May 7, 2016

Overkill

Didn't even get a post in yesterday and today I'm up until midnight again. Some of this is in response to some annoying run-time errors we're seeing on our Oracle platform at work, but mostly it's spending a lot of time messing around with the final project for Bayesian Stats.

I finished it this evening. I'll proof it on Monday before turning it in on Tuesday, but the work is done. I won't post it until the due date (next Friday), but when I do, there won't be much to explain why I spent so long on it.

In short, while I'm not trying to make this harder than it needs to be, I am pretty interested in actually learning this stuff. So, I don't always (ever?) go for the quickest path to an answer. I spend time thinking about ways to frame the problem. I try different solutions. I do a lot of editing.

From a purely cost/benefit standpoint, this approach doesn't make a whole lot of sense. I could get A's on a lot less effort. But, I'm really not caring that much about my GPA. A meaningful dissertation is as much about the journey as it is the destination. I need to keep myself in the mindset of learning rather than answering.

Obviously, if I was in a real crunch this semester, I'd cut corners where appropriate. As that's not the case, I don't mind a few extra hours running down some side avenues. I've actually learned quite a bit in the last week simply because I bothered to follow up on a few questions that weren't necessary to producing an answer, but presented themselves nonetheless.

Thursday, May 5, 2016

Numerical stability

The calcs we perform at work tend to be additive rather than multiplicative, so I generally don't think much about numerical stability. Got bit by it fairly hard tonight while implementing my Metropolis algorithm for the final project in Bayesian Stats. The problem is to fit an arbitrary data set to a poisson predictor model. No problem in theory, but when you compute the joint probability density, it boils down to zero pretty quickly.

Fortunately, there are ways around these problems. Namely, convert to logarithms. Then you're back to adding, which is nice and stable. So, that's what I did and it seems to work OK.

I'm a little surprised this wasn't mentioned when we were covering the problems in class. I'd expect a math major to figure it out pretty quickly, but many of the students are from other disciplines and are taking the class more for the practical methods than the underlying theory. They may have a tougher time. Well, I don't know if any of them read my blog, but I'm happy to give away that tidbit to any of them that do. The actual implementation in R, I'll keep under wraps until after the assignment is due.

Wednesday, May 4, 2016

Non-parametric priors

We had a colloquium today with a professor from Purdue. It was quite good. Rather than try to summarize it myself, I'll just repost the announcement:

SPEAKER: Prof. Vinayak Rao (Department of Statistics, Purdue University)
TITLE: Non-Parametric Bayes and Random Probability Measures
ABSTRACT: With large and complex datasets becoming commonplace, traditional probabilistic models with fixed and finite number of parameters can be too inflexible, suffering from issues of underfitting or overfitting.The Bayesian nonparametric approach is an increasingly popular alternative to parametric models, where a model with an unbounded complexity is used to represent an infinitely complex reality. Of course, any finite dataset has finite complexity, and the Bayesian approach of maintaining a posterior probability over the latent structure is used to mitigate possible overfitting. In this talk I will review the philosophy of nonparametric Bayes, and some methodology, including its workhorse, the Dirichlet process. I will also cover some work on constructing of dependent random probability measures (RPMs) which possess both flexible marginal distributions, as well as rich correlation structure. If time permits, I will should how computation via Markov chain Monte Carlo is straightforward and discuss some applications of these models to clustering and topic modeling.

Afterwards, I talked with him a bit about the work I'm doing. I think I'd like to learn more about the Dirichlet process. As with Metropolis, it's one of those things where it just doesn't seem like it will work. But, it does. I like counter-intuitive stuff like that.

Tuesday, May 3, 2016

Crunch time

Yep. One week to go and I'm definitely feeling it. It doesn't help that we've started in with the overtime at work again (not my idea, I assure you). Anyway, I got a good chunk of my last Stats assignment done tonight and I think I'm in pretty good shape for finals (though, I'll certainly put in some practice to be sure). So, it's a bit less frantic than last semester, but still a crunch.

I'll be putting down the research for a week while I get the rest of this stuff knocked out.

Monday, May 2, 2016

Building a committee

I met with the department head today, who is also a Stats guy. We talked for a while on my research and what I was trying to accomplish this summer. He's interested. As with my primary adviser, he only has limited availability this summer, but he agreed to look over my work as time permits. He also gave me a good starting reference for clustering. So, while what I really wanted was for him to agree to a directed readings course this summer, I didn't come away empty handed. If nothing else, he'll be familiar with my work when I inevitably ask him to be on my dissertation committee next year.

Sunday, May 1, 2016

Roller Coaster Race

Run May 1, 2016.

It's good to give back from time to time; running races don't just happen themselves. I try to volunteer for several local events each year. While I rarely feel put out by this, the deal offered to "volunteers" for this year's Roller Coaster Race at Six Flags St. Louis erased any chance of claiming altruistic points. In exchange for manning a 5K water stop, I got breakfast and park entry. That's a pretty sweet trade. Yaya's younger than the volunteer age limit but, as she's got more race support experience than many Race Directors, I have no qualms about bringing her along so we can enjoy the rides together. It helps that she looks a lot older than she is. I don't have to lie because nobody asks.

We have to get up mighty early to get to the park by 6:30AM. It's a bit chilly and I make the mistake of wearing my Milwaukee Marathon shirt. As it's long-sleeved, it's perfect for the conditions, but it also tips off that I've got a clue and I'm immediately promoted from course marshall to aid station captain. There is 1 station that is hit twice, shortly after 1 and 2 miles. This means there will be some time when we've got runners coming from both directions.

In addition to Yaya, I'm given three other teenage girls as assistants. Fortunately, they are all game and we get the station set up fairly quickly. I'm told the race attendance is a bit over 400. Given the conditions, I decide we should pour 300 cups for the group going out and 200 for those coming back. We'll then continue filling as needed when we see how many people actually take water.

The first few runners aren't terribly interested in taking anything so early. However, by the time the bulk of the field hits, it's clear that we're going to need a lot more than 300 cups. This isn't just joggers being anal about hydration. Standing around, we failed to notice how humid it was (hard to believe we missed this as the entire area was shrouded in fog an hour before the start). The runners really are sweating profusely, even though temps are still in the low 60's.

We quickly scramble assignments with two handing out water, two filling, and one manning the other side which is now seeing the leaders coming back. After about five minutes of this, it also becomes clear that the field size is considerably larger than what we had been told (post-race investigation reveals it to be 650). A quick inventory shows that even if we can keep up with the pouring, we're going to run out of cups.

A quick text to the RD (How did anybody pull off races before text messaging?) prompts reinforcements bearing more cups. With the extra help, we are able to keep up with demand and after another frantic ten minutes or so, we are down to just the stragglers coming back in. We get things cleaned up while they trickle through and pack up the station less than two hours after beginning setup.

Despite the crunch, this was pretty much a cakewalk compared to what goes into running an ultra aid station. After some bagels and cookies, Yaya and I proceed to ride every roller coaster in the park (there are nine of them). More than adequate compensation for a couple hours supporting the sport.