Speed calculation using Accelerometer
You really can't calculate speed from accelerometers, in practice.

The accelerometer is actually just a gravity-tilt sensor when used on earth. 

Any error is a tilt error.

Now imagine you have an absolutely flat, horizontal formica table with a ball bearing sitting on it.
Your error is just like putting a couple of coins under the legs at one end, and tilting it ever so slightly. 

After a couple of seconds the ball bearing is shooting off the edge of the table at speed.

This is exactly what is happening to you.