1. A method performed by a mobile device, the method comprising: receiving a plurality of sensor values detected by one or more sensors onboard the mobile device over a period of time; calculating, by one or more processors of the mobile device, a plurality of derived values from the plurality of sensor values represented in a base feature vector; generating one or more abstract values by selectively combining the derived values, the one or more abstract values usable to discriminate between a plurality of possible activities, the plurality of possible activities being grouped into at least two tiers including a first tier and a second tier that is lower than the first tier; and identifying, by the one or more processors, a presumed activity from the possible activities based on a level of similarity between the one or more abstract values and expected values of each of the plurality of possible activities that correspond to the one or more abstract values, wherein identifying the presumed activity comprises: determining whether the presumed activity belongs to the first tier by applying a first linear discriminant analysis transformation matrix to the base feature vector; and determining whether the presumed activity belongs to the second tier by applying a second linear discriminant analysis transformation matrix to the base feature vector, the second linear discriminant analysis transformation matrix being different from the first linear discriminant analysis transformation matrix.