Okay, so I’ve been recording data on my moods. I think I’ve gone over the current methodology already, but allow me to reiterate. Skip to the the graph if you’ve seen it or don’t care. I have set up my Droid phone to ping me every hour using the Calendar app. I think that ties in to Google Calender, so I guess I’m shoving some screwy stuff into the data hoover that is Google, but I’m too small to affect them.
Anyway, when I get an alert (or as soon as I can afterwards, or whenever I feel an extreme emotion) I record three things about my mood: my energy level, whether it’s a good or bad mood, and the context of the mood. Note that “energy level” isn’t as much my general energy level as the energy level of my mood: anger is an energetic bad mood, mellow is a low energy good mood. I record all this using the Tap Log app on my phone. I’ll talk about how I code the context later, because I changed it this week. That’s also why I don’t analyze it here, but that is definitely in the plans for later.
The Tap Log data is then exported to a csv file and downloaded onto my laptop. I extract the mood data and analyze it using Python 2.7 (I’m also tracking everything I eat and all my exercise in Tap Log, and may start tracking other things in the near future). I would use Python 3.0, but I’m the generating graphs in matplotlib, which is dragging it’s feet about upgrading to Python 3.0.
Without further methodological blathering, here’s the graph(s):
To explain: the solid blue line is the good/bad mood scale. When it goes up I’m in a good mood, when it goes down I’m in a bad mood. The red dots are my energy levels. I could have done a red line, but I wanted to emphasize that the energy level is a descriptor of the mood, not a separate thing being tracked. It also serves to mark when the data is recorded. Time is the horizontal axis, marked in hours on a 24-hour clock. The dashed horizontal lines mark the average for the day, blue for good/bad and red for energy. The last graph summarizes those daily averages across the week. Note that the averages are weighted by the time between points: it’s not the sum of the ratings divided by the number of ratings, it’s the area under the rating line divided by the length of the time period rated.
The alert among you have noticed that the graph is neither an American week (starting on Sunday) nor a British week (starting on Monday). It starts on Wednesday, because it’s a me week. Python’s datetime module plus a little curiosity equals the fact that I was born on a Wednesday. The graph starts on a Wednesday too, and represents the 2207th week of my life.
There are some problems with the graph. Obviously, it’s biased by my perceptions of my mood. But then what is our mood but our perception of it? It exists nowhere but in our perceptions, so it is inherently subjective. A more important problem is that I often don’t here the alert from my phone, and missing the alert is correlated with noisy environments: the train and the bus. If the train or the bus significantly effect my mood, it will bias things. It’s likely they do, because it’s when I spend most of my time programming and writing, two things I enjoy. I’m working on that, trying to pay more attention to the time when I’m commuting.
When I first looked at the graph, I thought it was too busy: three lines and a sequence of dots, encoding two dimensional data across time with averages. After working with it for a while I think that’s not so much of a problem. Some graphs are complicated and you need some experience with them to extract information from them. But if you can extract that information it justifies the complexity. I have some other graphs that I am planning to use for the monthly summaries, but those will have to wait until I have a month’s worth of data. And until I can define a me month in the similar way to the me week. Those graphs will not have the time information, but will give a better representation of the two dimensions the moods are being coded in.
As I said I’m tracking the context of my moods. That’s one of the first things I want to look for correlations with my mood. I tried to do it with a few single keywords, and one or two modifiers. But on analyzing the codings I did, there were often times that needed more than one of them, and others were really combinations of two others. So now I am using multiple keywords, but I just start using them this week, so an analysis of them will have to wait for at least a week, more if I want a good amount of data for all the categories.