S-NNLS: an Efficient Non-Negative Least Squares Algorithm for Sequential Data