What would make even more sense is to progressively change the lights to give the driver a better sense of the timing.
For example, in 2s intervals:
Green -> Green + Yellow -> Yellow + Red -> Red
This way, you not only know from a glance how stale the yellow is, but also you get a better indication of the timing. When a light simply goes Green -> Yellow -> Red, you have no frame of reference from which to gauge how long it will stay yellow, especially since every light has different timing.
You could even go one further, using blinking lights:
Solid green -> Green + Yellow (yellow blinks 3 times), Yellow + Red (red blinks 3 times) -> Solid red
And to improve traffic startup, you could do the opposite (Red -> Red + Yellow -> Green), as is done in many European countries.
For example, in 2s intervals:
Green -> Green + Yellow -> Yellow + Red -> Red
This way, you not only know from a glance how stale the yellow is, but also you get a better indication of the timing. When a light simply goes Green -> Yellow -> Red, you have no frame of reference from which to gauge how long it will stay yellow, especially since every light has different timing.
You could even go one further, using blinking lights:
Solid green -> Green + Yellow (yellow blinks 3 times), Yellow + Red (red blinks 3 times) -> Solid red
And to improve traffic startup, you could do the opposite (Red -> Red + Yellow -> Green), as is done in many European countries.