This paper reviews how different types of models have been used in the literature, then proceeds to define the models and analyze them theoretically, in terms of both their statistical and computational aspects, and performs extensive experimental comparison on the task of model fitting.