Opportunistic Ride Sharing via Whereabouts Analysis