1. A method for predicting future behavior, comprising: collecting historical sensor data related to a behavior; processing the historical sensor data into a plurality of intervals related to the behavior, each interval comprising a plurality of time slices; generating a plurality of distinct interval pairs, each interval pair comprising two intervals included in the plurality of intervals; for each respective interval pair included in the plurality of interval pairs, comparing time slices between intervals in the respective interval pair to yield a similarity measurement; generating one or more clusters of intervals based on the plurality of interval pairs and their respective similarity measurements; identifying a plurality of patterns based on the one or more clusters of intervals; comparing current data related to the behavior with the plurality of patterns to determine a best fit pattern that is most similar to the current data; and applying data in the best fit pattern to predict future data related to the behavior.