least-squares analysis