Using a space filling design and Google Maps to plan my commute: Part 1
Can a space filling design help make my commute to work easier? (Photo by Geoffrey Arduini via Unsplash: https://unsplash.com/geoffreyarduini)
Whenever I’m getting ready to go to or from work, I always have a notion that if I leave by a certain time, my drive will be smoother due to less traffic. Of course, even if I leave at the same time every day, my drive time is still going to vary. When Google Maps recently provided the feature to give an estimated travel time range for a future trip, I decided to see if I could find anything interesting about my daily commute. This also seemed like a perfect opportunity to try out the new space filling design features in JMP 12.
While I don’t know all of the details of how the time is estimated, I can treat the response as coming from a computer simulator with a deterministic response: If I put in the same departure time/day over and over, I keep getting the same expected time. So, it’s a waste of resources to use replicate runs. I collected the data all in one sitting, since it’s unclear to me how/when Google Maps updates these estimates.
To demonstrate the utility of the space filling design, let’s assume that all I have available to me is the total travel time based on the time I leave in the morning and the time that I leave work in the evening (i.e., I don’t have the individual morning/evening trip times available). I then want a design that has a good mix of morning and evening departure times, ideally over different weekdays. My morning departure can occur between 7:30 a.m. and 9:00 a.m., while the evening departure is between 4:30 p.m. and 6:00 p.m. For simplicity, I let the time variables range from 0 to 90, representing the number of minutes from the start of the range.
Suppose I only have the resources to collect data from 150 points. Why even use a space filling design, when I could just spread out the points over evenly spaced intervals? Since I can specify departure times in increments of whole minutes, to collect data over the whole range would require 91 x 91 x 5 = 41,405 points. Even using 10 minute increments, I would need 11 x 11 x 5 = 605 points, and I lose any chance of observing if travel times change in between the 10 minute intervals. I also want to make sure that I don’t use the same times on each day, because if there are no differences between days, I would be collecting the same results each time.
In JMP, I go to DOE -> Space Filling Design and change the continuous factors to morning and evening with ranges of 0 to 90. I add a five-level categorical factor for day (note this feature is only available beginning in JMP 12):
When I hit Continue to go to the next screen, the only option with categorical factors is Fast Flexible Filling, which uses the MaxPro criterion in JMP 12 to better explore the boundaries. The morning and evening times will come out as fractions, which I’ll need to round off when collecting the data, but let’s take a look at the 150-run design I found. Ignoring the days, we get a good mix of departure times:
And if we look at the departure times day by day, we also see a good spread:
The observant reader may notice the scale on the axes is no longer from 0-90. This is a matter of changing the Column Info and is best left for another blog post if there’s any interest (just leave me a comment to let me know).
Now that we’ve created a design, it is time to collect some data. My next blog post will show the analysis to see if anything interesting results.