Have cable check the connections in your house. I'd bet your packet requests are getting lost due to noise and other stuff that can cause a retransmission of the data packets.
I had the similar problem not long ago and discovered that I had lost a ground on the cable modem powersupply. Well, actually, the problem was I bought a new power strip and unknown to me they had the white and black wire crossed in the strip. This caused a ground loop hum on the cable modem power supply which produced severe 60 cycle AC on the cable line. It didn't show up on the one TV I had connected to cable due to a high pass filter they had in line. Once I fixed the AC on the line, the speed returned to normal. And just for your information, the cable guy wanted to replace the modem as his solution. ( sell me a new one) The tell tale gadget I used to detect the real problem was a 99 cent hot box detector, the one with the three neon lights that will tell you what's not right with the outlet. It detected a white black wire reversed. Sure enough.
Point is, speed can be reduced by a number of problems, most of these are interferrence related that will cause the same packet to be sent over and over again until it gets through. The ping test will show that is happening but then you have to find out why.