harmonic average is used instead of arithmetic mean because it corresponds better to travel times, which are the ultimate criterion of optimization in a real-world setting.
I'm wondering why you decided to use the harmonic mean as the objective to predict, as opposed to the simple arithmetic mean.
It seems to me that using the harmonic mean would be justified if cars were reporting their speed every fixed distance (e.g. every 50m).
In the simulation, however, cars report their speed every fixed time (every 10 seconds).
See Wikipedia for a brief discussion.
Moreover, when using the harmonic mean a single outlier that reports 0-speed is enough to ignore all others and set the objective to 0.
Since the objective is never 0 in the training set's selected road segments (or maybe I missed some?), I'm wondering whether-
1) you didn't choose any road segments with traffic lights
2) you actually used the arithmetic mean