Um pouco improvável, talvez, mas como tac
irá lseek
do final do arquivo momentâneo, você definirá o ponto necessário no tempo e a partir daí voltará até 120 velocidades encontradas:
tac file | awk '/speed/ {SUM += $2; if (++C == 120) {print SUM/C; exit}}'
Ou para gerenciar entradas que podem ter menos de 120 ocorrências do padrão:
tac file | awk '/speed/ {SUM += $2; if (++C == 120) exit}
END {if (C) print SUM/C}'