Speedometer jumping around help

mine does the same, and occasionally I get a horrendous noise from the speedometer itself, but it is very intermittent. the other things I've observed:

1) I don't see any jerkiness of the motion of the odometer, it is smooth in operation
2) the Odometer reads about 3% low. on a trip last weekend, I observed the odometer and compared it to the mile markers on the interstate. 33 miles on the interstate registered 32 miles on the odometer.
3) the Speedometer reads a little more than 10% high. comparing to a GPS app on my phone, 60mph indicated in the car registers 54 mph on the GPS app, 67-68 in the car is 60mph road speed according to the GPS app, 80MPH in the car is 71-72 according to GPS, etc....

I could understand if the speedometer and odometer were off by the same amount (both 10% high, both 3% low), since they aren't, I'm assuming the issue isn't the cable, but the speedometer itself. does anyone have any advice on how to lube/correct the speedo to remedy this?