|
|||||
The Relay ModelThe club put together a team to participate in "The Relay" over the weekend of April 8/9 2006. You can read more about this on click here. In planning our efforts, there were reasonable questions being asked by different members of the team such as:
And of course, the answer to these and other questions is of course with “The Relay Model". Eh? It’s a Perl Script and you can download it (address below). Now before you instantly go to your email systems and flame me about Perl, I refuse to enter any religious wars about the relative merits of different Scripting Languages. I used Perl because I like it. You use the tools you prefer and I'll be happy to publish your script on stevenscreekstriders.org Don't forget this article is about running, not software. Every runner in "The Relay" is expected to register individually for their team. I guess the purpose of this is to ensure that everybody has ticked the box to say they've read and agree to the indemnity, however other useful information is also recorded during registration. The most useful metric in this context is the pace/mile for the athlete. I think most of us just guess because we don't know the course, terrain, the weather, the surface, the effect of tiring, the effect of running at night and so on. So remembering that every leg is around 10k, I think most of us add 15-30 seconds/mile to our current form for the 10K and put that into the box. And that's what the model uses for starting data. Then the model has factors for time of day and terrain. Every leg of "The Relay" is rated "Easy", "Moderate", "Hard" or "Very Hard". I reckon that deals with terrain and so the model has a variable $hard which accounts for this. I used the following:
$hard = 0.95 if $effort eq "E" ;
$hard = 1.0 if $effort eq "M" ;
$hard = 1.1 if $effort eq "H" ;
$hard = 1.2 if $effort eq "VH" ;
Now what about tiring? Well, model uses variable $tiring:
$tiring = 0.97 if $leg == 1 ;
$tiring = 1.00 if $leg == 2 ;
$tiring = 1.02 if $leg == 3 ;
So, it says - you'll run faster than you think on Saturday, about what your pace during the night, and you'll be slowest on Sunday. Sounds reasonable? I think so.
So what does the model do? Well it applies all this stuff and predicted our progress as follows:
Runner Start Pace Dist Run Fins Actual Error
Clock /mile mile minClock Clock
Elvira 12:00 8.29 4.80 39 12:39 12:38 +1
Cindy 12:39 9.21 4.70 43 13:23 13:23 +-
Bill 13:23 7.37 4.10 30 13:53 13:54 -1
John 13:53 6.30 7.40 46 14:40 14:42 -2
Peggy 14:40 7.83 5.00 39 15:19 15:24 -5
Dennis 15:19 7.39 4.50 33 15:52 15:56 -4
-------------------------------------------
Robin 15:52 7.76 6.90 53 16:45 16:53 -8
Steve 16:45 8.73 7.40 64 17:50 18:07 -17
Larry 17:50 9.21 5.60 51 18:42 19:00 -18
Patrick 18:42 8.73 8.90 77 19:59 20:10 -11
Jim 19:59 8.00 7.10 56 20:56 21:03 -7
Gerardo 20:56 8.54 4.80 40 21:37 21:43 -6
Elvira 21:37 9.00 6.00 54 22:31 22:33 -2
Cindy 22:31 11.00 5.00 55 23:26 23:25 +1
Bill 23:26 8.80 6.50 57 00:23 00:19 +4
John 00:23 6.17 5.30 32 00:56 00:54 +2
Peggy 00:56 8.08 4.90 39 01:36 01:34 +2
Dennis 01:36 8.82 5.80 51 02:27 02:22 +5
-------------------------------------------
Robin 02:27 8.80 7.00 61 03:28 03:23 +5
Steve 03:28 9.90 5.90 58 04:27 04:31 +4
Larry 04:27 10.00 6.50 65 05:32 05:38 +6
Patrick 05:32 7.12 4.20 29 06:02 06:07 +5
Jim 06:02 7.12 3.70 26 06:28 06:33 +5
Gerardo 06:28 8.00 5.90 47 07:15 07:23 +12
Elvira 07:15 8.72 5.50 47 08:03 08:06 +3
Cindy 08:03 9.69 4.20 40 08:44 08:51 +7
Bill 08:44 7.75 5.60 43 09:27 09:39 +12
John 09:27 7.29 5.10 37 10:05 10:17 +12
Peggy 10:05 10.40 3.00 31 10:36 10:46 +10
Dennis 10:36 9.81 3.10 30 11:06 11:17 +11
-------------------------------------------
Robin 11:06 8.16 6.20 50 11:57 12:00 +3
Steve 11:57 8.72 4.70 40 12:38 12:46 +8
Larry 12:38 9.69 6.30 61 13:39 13:46 +7
Patrick 13:39 9.18 6.20 56 14:36 14:32 +4
Jim 14:36 8.42 6.50 54 15:30 15:20 +10
Gerardo 15:30 7.75 4.70 36 16:07 15:58 +11
I think you'll agree, this is good. It predicted our finish within 11 minutes - and every handover with the same accuracy. Even in "mid-flight" the maximum difference was 18 minutes. And what else does the model do? Well it also analyses actual performance and calculates actual runner pace/mile with their estimate before the event. I will boast that my estimate of 8.00 mins/mile was the most acurate of the 12. Run the code if you want to see how the others did. Another feature of the model is to use a "linear" model. This doesn't bother to factor in tiring or hardness. That model also works well and predicted our finish within 20 minutes. And lastly, converting the model data into HTML for publication on the web is tedious to say the least. So the model as a variable $bHTML to say "report in HTML - which automates this task. Code available from: TheRelay.txt Robin (Relay Captain, Webmaster and model bore) |
|||||
|