Attack speed is calculated against the baseline of each weapon (or possibly the stance itself).
While the value shown on the equipment screen is called 'Speed', it would be more appropriate to call it 'Delay', in terms of what it means in the calculations. This article will use the term 'delay' to refer to the actual numeric value that the game would show as 'speed'.
Dual-wielded weapons usually have 75% of the delay of their single-wielded counterparts.
Example known value: Dagger baseline delay using Escrima is 73.
The base delay is then reduced by the percentage bonus for the stance. For example, Escrima has a 15% attack speed bonus at level 25, so base delay is multiplied by 0.85, to 62.05. (Note: decimals are kept.)
That value is then reduced by weapon and gear mods. All haste in gear is added up and factored in at this stage. A dagger with +25% attack speed combined with gloves with a +10% attack speed bonus gives a total of +35% attack speed. The above is thus multiplied by 0.65, to 28.23275.
That value is then reduced by outside buffs such as Accelerando or an Enchanted Orb of Speed. They are all added together before multiplying. Level 10 Accelerando is +20% attack speed, reducing the above value to 22.5862. That will show on the equipment screen as a 22 Speed. Accelerando + an Enchanted Orb of Speed (+10%) would be 30% total, reducing the delay to 19.762925 (showing up as 19 on the equipment screen).