The research of location recommendation system is an important topic in the field of LBSN (Location-Based Social Network). Recently, more and more researchers began focusing on researching how to recommend locations based on user’s life behavior. In this paper, we proposed a new model recommending locations based on user’s periodic behaviors. In view of multiple periodic behaviors existing in time series, an algorithm which can mine all periods in time series is proposed in this paper. Based on the periodic behaviors, we recommend locations using item-based collaborative filtering algorithm. In this paper, we will also introduce our recommendation system which can collect users’ GPS trajectory, mine user’s multiple periods, and recommend locations based user’s periodic behavior.
LBSN (Location-Based Social Network) is a new kind of social network which combines the user’s friendship and the user’s position. There are two hot research hotspots in the filed of LBSN: recommendation system and mining user’s life pattern. For recommending system, the user can get more suggestion for deciding where he can choose to go to. For mining life pattern, the recommendation system can better understand the use’s preference. Periodic behavior is a kind of life pattern. In this paper, we proposed a new kind of recommendation model based on the user’s periodic behaviors. For solving the problem of mining multiple periods, we proposed a new algorithm which can mine multiple periods in the time sequence.
The research of recommendation systems in the field of LBSN has attracted many researchers’ attention and produced a lot of research results. Currently, the recommendation system of LBSN is divided into good friends recommended [
With the gradual accumulation of user’ location data, the research of users’ life behavior has aroused the interest of some researchers and has produced the relevant research results. Rekimoto et al. proposed a user interest point travel sequence mining algorithm based on GPS trajectory and proposed an algorithm which can predict the next destination based on the user’s current location [
Periodic behavior is a kind of life behavior. The user arriving in a certain area periodically is called a periodic behavior. For example, a user goes shopping every weekend and a user reaches the company for working every Friday to Monday. In order to obtain periods, we should use some period mining algorithm. In this paper, we proposed a new algorithm for mining periods and proposed a new model for recommending locations based on users’ periodic behaviors.
Recently, some researchers have proposed some period mining algorithms. Li et al. used the periodogram and self-correlation method for mining the user periodic behaviors [
In real life, some users go to a certain area with multiple periods. For example, a user goes to an area not only every Friday but also every two weeks on Monday. In this paper, we proposed a period acquisition algorithm which can mine multiple periods in time sequence correctly. In our research, we found that there are multiple periods existing in some time sequence generated by users. For example, a teacher not only comes to a campus every Monday but also comes to this campus on Tuesday every two weeks. For this teacher, there are two periodic behavior in his daily work behavior. The classical algorithm, periodogram and self-correlation function, cannot mine all correct periods because multiple periods affect each other while mining periods. In our experience, they cannot mine multiple periods in the time sequence generated by restrict multiple periodic behaviors. The main thought of periodogram is DFT (Discrete Fourier Transform), and an explanation of DFT is that a Fourier coefficient is a relativity between its sine curve and original time sequence. So it cannot avoid the interference of other periodic behaviors. Self-correlation function calculates correlation of time sequence with different time delay and cannot avoid the interference of other events happening in other time stamps. These two algorithms cannot get the start time stamp and all time stamps at which a periodic behavior happened, so we cannot know the time stamp at which the periodic behavior happened. In this paper, we proposed a multiple period acquisition algorithm which can not only mine all periodic behaviors but also get the time stamp at which a periodic behavior happened. So it can help us to predict a user’s future behavior based on these periodic behaviors.
After mining the user’s periodic behaviors, we have done some researches on how to recommend location based on the user’s periodic behaviors. In the field of location recommendation system, some researchers have proposed some models based on the user’s preference and friendships. But we found few location recommendation models based on the user’s periodic behaviors during our search work. Collaborative filtering is a famous recommendation algorithm. Item CF and User CF are the basic algorithms of collaborative filtering. In this paper, because there are no friendships in our data, we use Item CF for recommending location based on the users’ preference and the periodic behaviors. We designed and developed a recommendation system. This system includes an android application for showing recommending locations and collecting GPS trajectory and the server for mining periodic behaviors and recommending locations for the users based on the users’ periodic behaviors.
The rest of the paper is organized as follows. Section
In users’ daily life, the user comes to a certain area not only with single period but also with multiple periods. The search of periodic behavior has attracted many researchers’ attention. Recently, some algorithms proposed for mining periods are not accurate for mining multiple periods. In this section, we will introduce the proposed algorithm for mining multiple periods. For solving the problem of mining multiple periods, we proposed a new algorithm based on the thought of matrix, the thought of item hitting, and the thought of changing the matrix dynamically for reducing the execution time. Using this algorithm, we can mine all periods from time sequence.
This algorithm [
Input: Out put: (1) time-stamps the target state happened (3)
In Algorithm
In the time sequence, the period of a target sate is greater than 1 and less than len
The time sequence is “0001100101010011.” The target state is “1.” The time stamps at which the target state happened are
In the above analysis, the time interval between any time stamps can be calculated as the suspected periods of this algorithm. While storing all suspected periods, if we choose a set or a list for storing the suspected time, the complexity of accessing the target item is
The progress of establishing suspected periods stored matrix can be shown in Algorithm
Input: Output: (1) number of the row and column in the matrix (2) (3) (4) (5) (6) (7) map.put (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23)
From lines (
According to the time sequence shown in Example
In this step, the multiple periods mining algorithm will mine all true periods stored in the matrix step by step. The algorithm proposed in this paper will count the times the suspected period happened actually by using item hitting method. Then, the algorithm calculates the period of the target period. If the support is more than the threshold, the target period is a true period and the matrix is changed dynamically for reducing execution time. If not, the algorithm will judge the next suspected period.
During mining all true periods, the values stored in the matrix are called suspected periods. The row number of the suspected period is the first time the target state happened in this period and the column number is the second time. After mining a true period, the algorithm then changes the hitting item in the matrix to be zero. Then, the next steps will not judge the same periodic behavior. If the current item is not a true period, the algorithm will judge the next item. After judging all suspected periods stored in the matrix, the algorithm will stop and generate all mined true periods of this time sequence. The main thought of mining periods from the matrix can be shown in Algorithm
Input: Output: Begin (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) DynamicChangeMatrix (19) (20) (21) end
In Algorithm
After executing the hitting method, the algorithm will execute the code from lines (
Input: Output: None Begin (1) (2) (3) (4) (5) (6) (7) End
In Algorithm
In Algorithm
In this example, we will continue to use the time sequence of Example
The state of the matrix after judging M[3][4] and M[3][7] is as follows:
The process of this example is shown as follows.
(1) For the value of M
(2) The algorithm will execute hitting method based on the period of 4 and this periodic behavior starts from the third locations of time series. We can get that the support value is 1 which is more than the support threshold. So M
In Section
In the field of recommendation system, Item Collaboration Filter is a hot recommendation model. During the past several years, many companies recommended items to the users by using this algorithm. The thought of this model is that the users may buy the similar items. In this paper, we think that the users may go to the shops which are near the areas the users arrive at periodically. After mining users’ periodic behaviors, we can recommend locations to the target user according the period and the latitude and longitude of the periodic arrival area. We choose the Item CF algorithm for calculating the user’s preference of a certain location. For recommending locations to the user personally, in this paper, we choose the user’s taste and the distance between the shop and the center of the periodic arrival area as this model’s characteristics.
According to the thought of item-based collaborative filtering algorithm, in this paper, we use cosine-based similarity algorithm to calculate the similarity between two items. The formula is shown in formula (
After calculating the similarity of the shops, in this paper, we calculate the user’s preference of a shop by using formula (
After calculating the user’s preference of these shops, we can sort these shops according to preference. And then we can give this user some suggestions for deciding which shop this user can go to. In real life, we may go to the same shop for shopping or having a dinner. In our project, we do not filter out the shops this user has been to. In Section
In this section, we will use the algorithm proposed in this chapter to conduct multiple periodic behavior mining experiment. We use the check-in data collected in a company. In this section, we give the comparative experiment analysis of the multiple periods mining algorithm proposed in this paper. Then, we will introduce the shops recommendation systems based on the user’s periodic behaviors.
In this section, we mined periodic behaviors by using periodogram and the algorithm proposed in this paper. The time sequence is shown in (
The power spectrum of periodogram.
The time sequence is as follows:
Firstly, we mine multiple periodic behaviors by using the proposed algorithm in this paper. The result can be seen in Table
The result of the proposed algorithm.
Periods | Time stamps |
---|---|
7 | 2,16,30,44,72, |
14 | 5,12,26,33,40,47,54,61,68,75, |
Then, we mine the periodic behaviors by using the algorithm of periodogram. The result of density of power spectrum is shown in Figure
In this experiment, we found that the periodogram cannot mine all true periods because of spectral leakage. The period of 14 cannot be divided by 77 (the length of this time sequence). So when we mine periodic behavior by periodogram, we cannot get the period of 14 directly. And the periodogram cannot tell us when the behavior happens in a period. Based on this period, we cannot predict the user’s behavior in future. The proposed algorithm in this paper solved this problem.
In our location recommendation experiment, we use the GPS trajectory collected in our system as our experiment’s data. We mine the user’s periodic behavior by using the method proposed in Section
The result of recommendation experiment.
The list of recommending shops is as follows: Locations List KFC Green Tea Northeast Restaurant Boiled dumplings ⋮
In our system, we developed the mobile application and the server-side application. In the mobile side, the application includes GPS trajectory collection module and the location recommendation module. In the server side, the application includes the GPS trajectory storage module, the stay-points mining module, the frequent arrival area mining module, and the periodic behavior mining module. For recommending location to the users, we also developed the location recommendation module based on the user’s periodic behaviors in the server side. In Figure
The architecture of our system.
In our system, we design the data processing flow as shown in Figure
The data processing flow of our system.
After mining the user’s periodic arrival areas and the periods, we designed the location recommendation module based on the user’s periodic behaviors. For each periodic arrival area, we generated the recommending location list by using item-based CF algorithm. In the server side, the system can predict the user’s future arrival area based on the periodic behavior. After predicting the future arrival area, this system pushes the recommending location list to the mobile application. The user can consider these locations as a future choice. As introduced above, the architecture of the data processing flow can be seen in Figure
In this paper, we proposed a new periods mining algorithm which can mine all periods in the time sequence and proposed a periodic behaviors based recommendation method for recommending the locations to the users. From this paper, we can see that our periods mining algorithm is more accurate than some other algorithms and the recommending model is more accurate than the raw item-based CF algorithm. But in this paper we do not consider the effect of the user’s friendship in our recommending methods. And we found that the group’s periodic behavior is also a true phenomenon in our daily life. So in the future, we will go on doing some research in a location recommending methods based on the friendship and the user’s periodic behaviors. And we will do some research on how to mine the group’s periodic behaviors.
This paper is extended from the paper named “Mining Multiple Periods in Event Time Sequence” in APSCC 2015.
The authors declare that there is no conflict of interests regarding the publication of this paper.
This work is partially supported by the National Natural Science Funds of China under Grants no. 61173042 and no. 61472004, Hong Kong, Macao, and Taiwan Science and Technology Cooperation Program of China under Grant no. 2013DFM10100, and Special Fund Project of Shanghai Economic and Information Committee under Grant no. CXY-2013-40.