System and methods for relational time-series learning are provided. Unlike traditional time series forecasting techniques, which assume either complete time series independence or complete dependence, the disclosed system and method allow time series forecasting that can be performed on multivariate time series represented as vertices in graphs with arbitrary structures and predicting a future classification for data items represented by one of nodes in the graph. The system and methods also utilize non-relational, relational, temporal data for classification, and allow using fast and parallel classification techniques with linear speedups. The system and methods are well-suited for processing data in a streaming or online setting and naturally handle training data with skewed or unbalanced class labels.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method for parallel maximum similarity classification, comprising: maintaining a plurality of training data items, each of the training data items associated with one of a plurality of labels; receiving an incoming stream comprising one or more unlabeled data items; normalizing attributes of a plurality of training data items; processing at least one of the unlabeled data items using a plurality of processing units executed by one or more processors, each of the units associated with a private vector, comprising: initializing the private vectors; normalizing attributes of the received data item; calculating in parallel by the processing units a similarity score between the unlabeled data item and one or more of the training data items using a similarity function and storing each of the scores into the private vector associated with each of the processing units; summing the scores from all of the private vectors into a storage vector; and assigning the label associated with the largest score as the label of the unlabeled data item. 2. A method according to claim 1, wherein the similarity function is one of a radial basis function and polynomial function. 3. A method according to claim 1, wherein the similarity score is calculated between the unlabeled data item and each of the training data items. 4. A method according to claim 1, further comprising: creating a representation of a graph comprising a plurality of vertices, each of the vertices representing one of one of the unlabeled data items and one of the training data items; and identifying those of the training data items whose representations are within k-hops of the representations of each of the data items, wherein the similarity score is calculated between each of the unlabeled data items and the identified data items whose representations are within the k-hops from that data item. 5. A method according to claim 1, further comprising: maintaining a matrix comprising rows representing the training data items and columns representing the attributes of the training data items; maintaining a second matrix comprising rows representing one or more of the incoming data items and columns representing the attributes of the incoming data items; and using the matrices for the classification. 6. A method according to claim 5, wherein each of the processing units processes a block of the training data item matrix. 7. A method according to claim 1, further comprising: deriving additional attributes for each of the training data items based on the initial attributes and adding the additional attributes to the initial attributes to obtain the attributes of the training data items; and deriving additional attributes of that unlabeled data item based on the initial attributes of that unlabeled data item and adding the additional attributes to the initial attributes to obtain the attributes of that unlabeled data item. 8. A method according to claim 1, further comprising: sampling one or more unlabeled data items from the stream; identifying the sampled data items that are representative of characteristics of the stream; assigning one of the labels to each of the identified sampled data items; and setting the labeled sample data items as the training data items. 9. A computer-implemented method for relational classification via maximum similarity, comprising: receiving an incoming stream comprising one or more unlabeled data items, each associated one or more initial attributes; maintaining a plurality of training data items, each of the training data items associated with one of a plurality of labels and associated with one or more initial attributes; deriving additional attributes for each of the training data items based on the initial attributes; adding the additional attributes to the initial attributes to obtain attributes of the training data items; normalizing the attributes of the plurality of the training data items; creating a graph comprising a plurality of vertices, each of the vertices representing one of the unlabeled data items and the training data items; processing at least one of the unlabeled data items using a plurality of processing units executed by one or more processors, each of the units associated with a private vector, comprising: identifying those of the training data items whose representations are within k-hops of the representations of that unlabeled data item; initializing the private vectors; deriving additional attributes of that unlabeled data item based on the initial attributes of that unlabeled data item; adding the additional attributes to the initial attributes to obtain attributes of that unlabeled data item; normalizing attributes of the unlabeled data item; calculating in parallel by the processing units a similarity score between the unlabeled data item and each of the training data items using a similarity function and storing each of the scores into the private vector associated with each of the processing units; weighing the similarity scores, wherein the similarity scores between that unlabeled data item and those of the training data items that are within the k-hops of that unlabeled data item are weighed heavier than the similarity scores between that incoming data item and those of that are training data items that are not within the k-hops; summing the weighed scores from all of the private vectors into a storage vector; and assigning the label associated with the largest score as the label of the unlabeled data item. 10. A method according to claim 9, comprising: calculating a confidence level for each of the label assignments; selecting a portion of the incoming data items associated the label assignment with the confidence level exceeding a threshold; and confirming the label assignments for the selected data items and setting the data items with the confirmed labels as additional training data items; and revising the assignment of the labels to the remaining unlabeled data items using the additional training data items. 11. A method according to claim 9, wherein the similarity function is one of a radial basis function and polynomial function. 12. A method according to claim 9, further comprising: sampling one or more unlabeled data items from the stream; identifying the sampled data items that are representative of characteristics of the stream; assigning one of the labels to each of the identified sampled data items; and setting the labeled sample data items as the training data items. 13. A method according to claim 9, further comprising: maintaining a matrix comprising rows representing the training data items and columns representing the attributes of the training data items; maintaining a second matrix comprising rows representing one or more of the incoming data items and columns representing the attributes of the incoming data items; and using the matrices for the classification, wherein each of the processing units processes a block of the training data item matrix. 14. A computer-implemented method for relational time-series learning, comprising: receiving an incoming stream comprising one or more unlabeled data items, each associated with data regarding initial attributes of the unlabeled data items and connections of the unlabeled data items at a plurality of time points; maintaining a plurality of training data items, each associated with data regarding initial attributes of that training data item and connections of that training data items at the plurality of the time points; obtaining a plurality of adjacency matrices, each of the matrices representing a graph comprising a plurality of vertices connected by one or more edges, each of the vertices representing one of the unlabeled data items and the training data items, each of the graphs further representing the connections between the training data items and the unlabeled data items at one of the time points; associating a weight with each of the edges of each of the graphs based on the time point associated with that graph and combining the representations of the graphs with the weighted edges to create a representation of a summary graph; deriving additional attributes for each of the training data items at each of the time points based on the initial attributes of that training data items at that time point; adding the additional attributes of each of the training data items to the initial attributes of that training data item to obtain attributes of that training data item at each of the time points; deriving additional attributes for each of the unlabeled data items at each of the time points based on the initial attributes of that training data items at that time point; adding the additional attributes of each of the unlabeled data items to the initial attributes of that unlabeled data item to obtain attributes of that unlabeled data item at each of the time points; smoothing the attributes of the training data items and the unlabeled data items for all of the time points; normalizing the smoothed attributes of the training data items; identifying those of the training data items whose representations are within k-hops of the representations of each of the data items in the summary graph; processing at least one of the unlabeled data items using a plurality of processing units executed by one or more processors, each of the units associated with a private vector, comprising: initializing the private vectors; normalizing attributes of the unlabeled data item; calculating in parallel by the processing units a similarity score between the unlabeled data item and one or more of the identified training data items using a similarity function and storing each of the score into the private vector associated with each of the processing units; weighing the similarity scores, wherein the similarity scores between that unlabeled data item and those of the training data items that are within the k-hops of that unlabeled data item are weighed heavier than the similarity scores between that unlabeled data item and those of that are training data items that are not within the k-hops; summing the weighted scores from all of the private vectors into a storage vector; and predicting the label associated with the incoming data item based on the scores associated with the label at a future point of time. 15. A method according to claim 14, wherein the weighing of the edges is performed using one of an exponential processing kernel, a linear processing kernel, and an inverse linear processing kernel. 16. A method according to claim 14, further comprising: calculating a confidence level for each of the label assignments; selecting a portion of the incoming data items associated the label assignment with the confidence level exceeding a threshold; and confirming the label assignments for the selected data items and setting the data items with the confirmed labels as additional training data items; and revising the assignment of the labels to the remaining unlabeled data items using the additional training data items. 17. A method according to claim 14, further comprising: comparing the weight of each the graph edges to a threshold; and excluding those of the edges whose weight does not meet the threshold from the graph associated with the edges prior to the processing of each of the unlabeled data items. 18. A method according to claim 14, further comprising: setting a plurality of initial parameters, the parameters comprising a tightness parameter for the similarity function, a parameter for weighing the edges of the graphs, and a parameter for weighing the attributes; optimizing the parameters using one of the plurality of the graphs; and using the optimized parameters to create the summary graph, calculate the similarity scores, and calculate the weights. 19. A method according to claim 14, further comprising: sampling one or more unlabeled data items from the stream; identifying the sampled data items that are representative of characteristics of the stream; assigning one of the labels to each of the identified sampled data items; and setting the labeled sample data items as the training data items. 20. A method according to claim 14, wherein the similarity function is one of a radial basis function and polynomial function.