# Graph-based Method for App Usage Prediction with Attributed Heterogeneous Network Embedding
## 2 Related Work
### App Usage Prediction  
There have been many prior research works about predicting smartphone App usage, most of which are based on contextual information. An early representative type of methods are based on probabilistic graphical model, such as CPD (conditional probability distribution) model [8], Markov model [9; 10], and Bayesian Network [6; 11; 12]. Given the dependency of consecutive Apps and their immediate previous Apps in the App usage sequence, it is often assumed that Markovian property stands. For instance, [PERSON] et al. [10] proposed using Markovian models to learn the App usage sequences, and these models included first and second-order Markov models, along with a weighted linear combination of these two models. Considering more than one type of context like time and location and so on, some works take advantage of Bayesian Network to describe the relationship between the App running and these contexts. [PERSON] et al. [11] propose an effective personalized classification method to solve the App prediction that takes full advantage of human-engineered features and automatically derived features. In [12], [PERSON] et al. developed a dynamic home screen App (dynamic home) on Android and adopted a Naive Bayes classification model to predict App usage behaviors by considering possible sensors in a smart phone.  
In general, context-based recommendation technology requires the fusion of multi-party information, and the fusion process of heterogeneous data from multiple sources is complicated. Therefore, there are studies to directly design algorithms based on the context information of the application to predict the next application to be launched. [PERSON] et al. [13] applied the text compression algorithm named PPM to handling with the application startup sequence, and proposed the M algorithm. [PERSON] et al. [14] establish an online learning mechanism based on the transition probability between applications, predict the applications to be used and cache them in advance to reduce startup time and save equipment resource consumption. [PERSON] et al. [7] propose a heterogeneous graph embedding algorithm to map the context information and calculate each App's probability to be used.  
In addition, with the development of Neural Networks in recent years, some works began to adopt this method. [PERSON] et al. [15] proposed a LSTM based multi-label classification model for App usage prediction, which explores the temporal-sequence dependency and contextual information as features for prediction. [PERSON] et al. [16] revealed that the similarity of users' preferences is related to the similarity in their App usage context patterns. Thus, they propose a neural network that models both a user's preference over apps and the user's app usage context pattern to learn the embeddings of both users and Apps and then predicts a user's preference for a given App.  
In addition, methods based on frequent sequence pattern mining are also used in some works for App usage prediction [17; 18]. In [5], the authors construct the User-App Bipartite network based on the network footprint data and propose the App Usage prediction method based on link prediction. However, the prediction period was set to one day, which is far from practical, and the deep learning based on representation learning was also not involved.