In general, weak magnets should make it read closer to the correct speed the slower you go. Two things come to mind when the the gauge shows faster then actual speed, one is dirt in the needle head, and the other is wrong gearing in the trans. To know which it is, you must drive a known distance using GPS or highway markers to determine what the odometer shows, at least 10 miles, 50 would be better. Remember, the odometer is a direct reading of the gearing.

Dirty cables and fittings should be corrected before testing to insure a smooth operation. Dry lubricant only in the cable, and sewing machine grade oils in the speedometer head.

If the odometer doesn't read accurately, correct the gearing or rebuild the speedometer head.

http://www.wallaceracing.com/speedo-calculator.php
http://www.transmissioncenter.net/speedometer_calibration_______va.htm
http://www.bgsoflex.com/speedo1.html