# Dynamic Group Recommendation Algorithm Based on Member Activity Level

Authors: Junjie Jia; Yewang Yao; Zhipeng Lei; Pengtao Liu
Journal: Scientific Programming
 (2021)

---

## Abstract

The rapid development of social networks has led to an increased desire for group entertainment consumption, making the study of group recommender systems a hotspot. Existing group recommender systems focus too much on member preferences and ignore the impact of member activity level on recommendation results. To this end, a dynamic group recommendation algorithm based on the activity level of members is proposed. Firstly, the algorithm predicts the unknown preferences of members using a time-series-oriented rating prediction model. Secondly, considering the dynamic change of member activity level, the group profile is generated by designing a sliding time window to investigate the recent activity level of each member in the group at the recommended moment, and preference is aggregated based on the recent activity level of members. Finally, the group recommendations are generated based on the group profile. The experimental results show that the algorithm in this paper achieves a better recommendation result.


---

## Body

## 1. Introduction

Recommender systems solve the problem of information overload and help users to choose from the options in our day to day life [1]. The traditional recommender systems use mathematical tools to analyze users’ historical behavior records, and then draw their preferences to recommend products and services to them. Today, the traditional recommender systems have been widely used in many fields such as e-commerce [2], social networks [3, 4], and online entertainment [5, 6]. However, traditional recommender systems only focus on single-user recommendation scenarios. In some practical scenarios, we may need to generate recommendations to a group of multiple users, such as recommending TV shows to a family group and gathering places and dishes to a colleague group. Based on these practical scenarios, group recommender systems have become a new research hotspot.At present, researches on group recommender systems mainly focus on preference aggregation strategies, i.e., how to aggregate preferences of members to alleviate the preference conflict problem in the group as much as possible, so that the recommendations can meet the needs of all/most members. To solve this problem, various aggregation models have been proposed by scholars, such as the average strategy [7], the least misery strategy [8], the most pleasure strategy [9], the most respected strategy [10], etc. Although these studies have promoted the process of preference aggregation to different degrees from different perspectives, unfortunately, none of them has considered the issue of the degree of interaction between group members and the recommender system. In the actual recommendation scenario, there are usually significant differences in the degree of interaction between group members and the recommender system, i.e., there is a difference in the activity level of the members. In this paper, we constructed a model for calculating the activity level of members by the degree of their interaction with the recommender system, which will be described in detail in Section 4.2.2.Meanwhile, some progress has been made in the study of group behavior in social psychology. Among them, Back [11] argues that the formation of group behavior depends on the mutual stimulation of participants, while special members such as leaders or active members of the group play a leading role in the formation of group behavior. Also, the Symbolic Interaction Theory of Blumer [12] argues that member behaviors are constantly reflected and contagious in the group, and will eventually achieve consistency in group behavior. This coincides with the claims made by Le Bon and Allport, where Le Bon [13] argues that individuals in a group will tend to be consistent with others when making choices and judgments, and Allport [14] argues that there is a greater similarity in the thoughts of group members after a long period of interaction and bonding. Therefore, by transferring the research results of social psychology on group behavior to group recommender systems, it is natural to conclude that the thoughts and behaviors of active members in a group will spread continuously in group decision-making, and make the decision result consistent by influencing the rest of the group members, which in turn tends to favor the active members. Therefore, in the preference aggregation process of the group recommender system, we need to pay more attention to the preferences of the active members in the group, while making appropriate trade-offs for the preferences of the inactive ones.In addition to the above theoretical aspects, from the perspective of practical application, there are two other reasons for appropriately discarding the preferences of inactive members. First, there are already fierce preference conflicts in the group, so it is inevitable to ignore the personal preferences of other members while considering the preferences of inactive members too much, which will easily lead to unfairness. Second, inactive members may not care about recommendations because of low-level interaction with the recommender system, even if the final recommendations include the items loved by them. Therefore, it is helpful to improve the quality of group recommendations by detecting the activity level of members in the group, analyzing the recent activity level of each member before preference aggregation, and accordingly increasing the influence of active members in the preference aggregation process.We proposed a Dynamic Group Recommendation Algorithm Based on Member Activity Level (DMA) to overcome this potential problem and improve the quality of recommendations. Since the existing group recommendation algorithms generate group profiles directly based on member profiles, these methods would make the recommender system focus too much on member profiles and ignore the bias effect of member activity level on recommendations. Therefore, we firstly proposed the concept of activity level and designed a sliding time window. After that, we analyzed the activity level of members in the sliding time window at the recommended time and generated a group profile based on “the member with higher activity level plays a more important role in group decision-making” by assigning different weights to different members of the group for preference aggregation. Finally, group recommendations are generated by the Top-N recommendation method on the basis of the group profile. Compared to other aggregation strategies, our algorithm reduced the interference of inactive members on the recommendation results based on the influence of active members in the group on the global group profile.The main contributions of this paper are as follows:(1)
We developed a method to calculate member activity levels and incorporated the obtained member activity levels into the preference aggregation process to generate a more accurate group profile.(2)
We proposed a dynamic group recommendation algorithm based on member activity level, which generates dynamic recommendations for the group by analyzing the recent activity levels of each member in the group at the recommendation moment.The remainder of the paper is organized as follows. Section2 briefly presents some research literature related to group recommendation algorithm. Section 3 briefly introduces the relevant techniques used in this paper. Section 4 provides a detailed description of the DMA algorithm. Section 5 presents several experimental datasets, experimental results, and analyses. Finally, we gave few future directions and concluded in Section 6.


## 2. Related Work

In the study of group recommendation algorithms, most of the current work focuses on preference aggregation of group members, and the main focus of the research is on designing effective preference aggregation methods and preference aggregation strategies to alleviate the preference conflicts among members as much as possible, so that the needs of each member in the group can be considered.In the process of preference aggregation, the aggregation methods can be divided into model aggregation and recommendation aggregation depending on when the aggregation occurs, as shown in Figures1 and 2. Model aggregation [15] refers to aggregating the preferences of group members to generate group preferences, and then using personalized recommendation methods to obtain a group recommendation list based on group preferences; recommendation aggregation [16] refers to firstly using personalized recommendation methods to generate recommendations for each group member, and then aggregating the recommendations of each member to generate a group recommendation list. The recommendation aggregation is further divided into rating aggregation [17] and ranking aggregation [18].Figure 1
Model aggregation.Figure 2
Recommendation aggregation.Both aggregation methods have their advantages in terms of recommendation effectiveness, but the recommendation aggregation method has higher flexibility compared to model aggregation and is more conducive to recommendation efficiency and interpretation of recommendation results [19]. Besides, experiments by De Pessemier et al. [20] showed that the accuracy of recommendation aggregation is higher when using singular value decomposition-based algorithms. Since the group recommendation algorithm proposed in this paper is based on the singular value decomposition method, the recommendation aggregation method is used in this paper for group recommendation.Although there is some influence of the preferred aggregation method on the recommendation results of the group, it can be seen through Figures1 and 2 that the choice and design of the aggregation strategy usually affects the satisfaction of the group members with the recommendation results to a greater extent [21, 22]. There are many kinds of research on aggregation strategies, and in addition to the basic aggregation strategies mentioned above [7–10], there exist various combined models and weighted models of aggregation strategies. Among the combined models of multiple aggregation strategies, Chen et al. [23] proposed a satisfaction balancing strategy, which improved the satisfaction of group members by weighting the combination of the average strategy and the least misery strategy. Jameson [24] combined the average and the median strategies in the preference aggregation process to avoid the interference of malicious users on group preferences. Tao et al. [25] used the most respected strategy and the average strategy on both sides of the disagreement threshold to generate the corresponding recommendation lists under different group features, respectively. Such methods make up for the shortcomings of a single aggregation strategy by combining multiple strategies and improve the recommendation effect. However, this kind of method lacks consideration of features and influence of group members, so some scholars proposed weighted models. Ardissono et al. [26] performed preference aggregation by analyzing the demographic information of group members and assigning different weights to different categories of members. Yuan et al. [27] argued that the process of group decision-making is more influenced by the experts in the group and therefore expert users have a higher weight in group decision-making. Wang et al. [28] assign weights to each group member based on their contribution to generating the group profile in the preference aggregation process, which in turn generates a group recommendation list. Berkovsky and Freyne [29] built a group model by weighting each member based on the role model and rating participation of each user in the group, and experiments showed that the method can effectively improve the recommendation effect. However, its calculation of member participation over the whole time series not only increases the computational effort of the recommender system but also ignores the dynamic changes of member participation, which is biased for the instantaneous recommendation requirements.Although the above group recommendation algorithms have been designed to solve the preference aggregation problem from different perspectives, few algorithms take into account the interest drift of group members. Meanwhile, time-series-oriented personalized recommendation algorithms have been widely studied in recent years due to their ability to capture the evolution of users’ interests in the temporal dimension and to mine users’ potential preferences, and generate recommendations from a dynamic perspective. For example, Ding and Li [30] simulated the natural forgetting pattern of the human brain by designing a temporal decay function and incorporated the function into a rating prediction formula to predict users’ unknown preferences. Along with the upsurge of matrix factorization models in the field of recommender systems, numerous time-series-oriented recommendation studies have gradually used matrix factorization models to predict user preferences. Among them, Sun et al. [31] proposed a recommendation algorithm based on the user’s temporal behavior, which searches the nearest neighbor relationship between users and items based on the temporal information of user ratings and adds them to the probability matrix factorization to obtain the recommendation results. Zhang et al. [32] constructed a user-item-time model by integrating temporal weights into an intensive predicted rating matrix obtained from probability matrix factorization to generate recommendations. Although the above algorithms can effectively predict user ratings, they lack consideration of item factors in the factorization process. Therefore, Koren [33] relied on the powerful scalability of matrix factorization to model the temporal parameters jointly with the SVD++ model into the timeSVD++ model based on taking into account the long-term and short-term changes of user interest and item popularity, which can effectively capture the local changes of user interest and precisely predict user preferences, and this paper mainly refers to this part of the work in predicting the unknown preferences of members.In summary, we take into account the drift of group members’ interests and dynamic changes of their activity level, combine the existing time-series-oriented recommendation algorithms, and choose a more effective recommendation aggregation method for group recommendation, expecting to generate a more precise group profile through more detailed mining of group members’ preferences and activity level, to achieve a higher quality recommendation effect.


## 3. Relevant Technology

This section firstly provides an overview of the technologies used in the paper, then gives a formal description of the group recommender system, and finally defines the problem of this paper.


### 3.1. Nonnegative Matrix Factorization

Nonnegative Matrix Factorization (NMF) was proposed by Lee and Seung [34] in Nature, which decomposes the original matrix into two smaller matrices and assumes that the smaller matrices satisfy nonnegative constraints, making the decomposition results more interpretable, e.g., pixel values cannot be negative, ratings of items are also generally positive, etc. In terms of the user-item rating matrix, NMF can be expressed as follows:(1)Rm×n≈Um×kVk×n,∀Uik∈Um×k,s.t.Uik≥0,∀Vkj∈Vk×n,s.t.Vkj≥0,where Rm×n denotes the original user-item rating matrix; Um×k and Vk×n denote the decomposed user matrix and item matrix, respectively; Uik and Vkj denote the elements in matrices Um×k and Vk×n; m and n are the number of users and items; and k is the number of latent factors.To maximize the approximation of the product ofUm×k and Vk×n to the original rating matrix Rm×n, the following objective function is established and solved according to the multiplicative iteration rule proposed by Lee and Seung [35].(2)minU,V≥0ΦU,V=12∑i,jRij−UVij2+γU22+V22,where Rij denotes the elemental values in the original rating matrix and γ is the regularization coefficient.


### 3.2. K-Means

K-means clustering is an unsupervised machine-learning algorithm that maps different data points into different clusters by iteratively solving for a given data, where the data points in the same cluster have similar features and the features of the data points between different clusters are different.The specific steps of K-means clustering are as follows: (1) randomly select k points as the initial clustering centers; (2) calculate the distance between each data point to the k clustering centers and assign it to the center with the closest distance; (3) update the clustering centers and calculate the mean point of each cluster as the new clustering center; (4) judge whether the termination condition is reached: if the condition is reached, return the clustering result; otherwise, repeat Steps (2)–(4), where the termination condition can be that the clustering center no longer changes, the error sum of squares is locally minimized, or the number of iterations reaches an agreed threshold.


### 3.3. Group Recommender System

In this subsection, we provided a simple formal definition of a group recommender system in terms of its general steps.Definition 1.
A groupG is a collection of several users with preferences, G=ui|0<i≤n, where ui denotes the group members and n is the group size.Definition 2.
Group preferencesrGi=∑u∈Gωuirui, where rGi denotes the preference of group G on item i obtained by aggregating members ratings; rui denotes the rating of the member u on the item i; and ωui is the weight of member u in a group G when aggregating preferences on the item i. Different weights can represent different preference aggregation strategies. For example, when ωui≡1/G, the above equation can represent the average strategy; when the weight of a member is constant 1 and the weight of other members is constant 0, the above equation can represent the most respected person strategy.Definition 3.
Top-N group recommendation: The group recommender system generally adds the items with the top n highest group ratings from the candidate item set to the group recommendation list, and the candidate item set is the set of items that has not been rated by any member of the group. For a given group G, a group recommendation list IG can be generated from the candidate item set I as follows:(3)IG=N,∀i∈I∀j∈Is.t.rGi≥rGj,i∈IG,j∉IG,and the items in IG are listed in descending order by group rating.


### 3.4. Problem Definition

Given ratingsruit (ruit∈1,5) for item i by user u at moment t, a higher ruit indicates that user u is more interested in item i. ruit=null indicates no rating. Then, we stored ruit as a triple u,i,t in the set K=u,i,t|ruit∈1,5andif∃ruit′∈1,5andt′>tthenu,i,t=u,i,t′. The u,i,t in K stores only the ratings of user u for the most recent moment for item i.In this paper, our task is to detect potential groupG based on known ratings and obtain the predicted rating r^vjt of group member v for candidate item j. After that, we will generate a group profile at the recommended time trec by obtaining the group rating rGitrec via aggregating the predicted ratings of members, and then the top-N group recommendations will be generated based on the group profile.


## 3.1. Nonnegative Matrix Factorization

Nonnegative Matrix Factorization (NMF) was proposed by Lee and Seung [34] in Nature, which decomposes the original matrix into two smaller matrices and assumes that the smaller matrices satisfy nonnegative constraints, making the decomposition results more interpretable, e.g., pixel values cannot be negative, ratings of items are also generally positive, etc. In terms of the user-item rating matrix, NMF can be expressed as follows:(1)Rm×n≈Um×kVk×n,∀Uik∈Um×k,s.t.Uik≥0,∀Vkj∈Vk×n,s.t.Vkj≥0,where Rm×n denotes the original user-item rating matrix; Um×k and Vk×n denote the decomposed user matrix and item matrix, respectively; Uik and Vkj denote the elements in matrices Um×k and Vk×n; m and n are the number of users and items; and k is the number of latent factors.To maximize the approximation of the product ofUm×k and Vk×n to the original rating matrix Rm×n, the following objective function is established and solved according to the multiplicative iteration rule proposed by Lee and Seung [35].(2)minU,V≥0ΦU,V=12∑i,jRij−UVij2+γU22+V22,where Rij denotes the elemental values in the original rating matrix and γ is the regularization coefficient.


## 3.2. K-Means

K-means clustering is an unsupervised machine-learning algorithm that maps different data points into different clusters by iteratively solving for a given data, where the data points in the same cluster have similar features and the features of the data points between different clusters are different.The specific steps of K-means clustering are as follows: (1) randomly select k points as the initial clustering centers; (2) calculate the distance between each data point to the k clustering centers and assign it to the center with the closest distance; (3) update the clustering centers and calculate the mean point of each cluster as the new clustering center; (4) judge whether the termination condition is reached: if the condition is reached, return the clustering result; otherwise, repeat Steps (2)–(4), where the termination condition can be that the clustering center no longer changes, the error sum of squares is locally minimized, or the number of iterations reaches an agreed threshold.


## 3.3. Group Recommender System

In this subsection, we provided a simple formal definition of a group recommender system in terms of its general steps.Definition 1.
A groupG is a collection of several users with preferences, G=ui|0<i≤n, where ui denotes the group members and n is the group size.Definition 2.
Group preferencesrGi=∑u∈Gωuirui, where rGi denotes the preference of group G on item i obtained by aggregating members ratings; rui denotes the rating of the member u on the item i; and ωui is the weight of member u in a group G when aggregating preferences on the item i. Different weights can represent different preference aggregation strategies. For example, when ωui≡1/G, the above equation can represent the average strategy; when the weight of a member is constant 1 and the weight of other members is constant 0, the above equation can represent the most respected person strategy.Definition 3.
Top-N group recommendation: The group recommender system generally adds the items with the top n highest group ratings from the candidate item set to the group recommendation list, and the candidate item set is the set of items that has not been rated by any member of the group. For a given group G, a group recommendation list IG can be generated from the candidate item set I as follows:(3)IG=N,∀i∈I∀j∈Is.t.rGi≥rGj,i∈IG,j∉IG,and the items in IG are listed in descending order by group rating.


## 3.4. Problem Definition

Given ratingsruit (ruit∈1,5) for item i by user u at moment t, a higher ruit indicates that user u is more interested in item i. ruit=null indicates no rating. Then, we stored ruit as a triple u,i,t in the set K=u,i,t|ruit∈1,5andif∃ruit′∈1,5andt′>tthenu,i,t=u,i,t′. The u,i,t in K stores only the ratings of user u for the most recent moment for item i.In this paper, our task is to detect potential groupG based on known ratings and obtain the predicted rating r^vjt of group member v for candidate item j. After that, we will generate a group profile at the recommended time trec by obtaining the group rating rGitrec via aggregating the predicted ratings of members, and then the top-N group recommendations will be generated based on the group profile.


## 4. Proposed Model

For the problem of preferences conflict in group recommender systems, we proposed the concept of activity level and quantified the importance of different members in group decision-making with it. Based on this, we weighted the preferences of each member according to their activity level and aggregated them to generate group recommendations by simulating the group decision-making process in real scenarios. The general framework of our algorithm is shown in Figure3.Figure 3
Dynamic group recommendation algorithm framework.According to Figure3, it can be seen that the algorithm we proposed mainly consists of the following modules:(1)
Group Mining. The group mining module is implemented based on NMF dimension reduction and K-means clustering, and is mainly used to detect groups that are more similar internally, which is the potential basis of our research.(2)
Group Modeling. The group modeling module firstly uses the timeSVD++ model to fill the rating matrix to get the filled matrix, then mines the member preferences from the filled matrix, and finally uses the preference aggregation strategy proposed in this paper to aggregate the member preferences to generate the group profile, which is the core of our research.(3)
Group Recommendation. The group recommendation module generates recommendations for the group based on the already generated group profile using the Top-N recommendation method, which is the main purpose of our research.The above is the main content of this paper. In the following parts, this section will be carried out in accordance with the above modules.


### 4.1. Group Mining

The literature [36] proposed a group mining algorithm, which detected potential groups by K-means clustering of the user rating vectors after filling the blank ratings with predicted ratings. However, the user rating vector is generally of high dimensionality, and it may affect the clustering process with the curse of dimensionality when directly input into the K-means algorithm. Therefore, in this paper, we proposed a new group mining algorithm based on the literature [36]. The algorithm firstly decomposed the user-item rating matrix with NMF, and then the decomposed user matrix was input into the K-means clustering algorithm to mine potential groups. Since NMF can achieve a low-dimensional representation of high-dimensional data while maintaining the essence of the original data, it has been widely applied in the fields of image analysis, text clustering, and data mining [37]. The user feature vectors in the user matrix decomposed by NMF represent the preferences of users for different implicit item factors. Therefore, it can be input into K-means to cluster users with similar interests into the same group and users with different interests into different groups while alleviating the effect of the curse of dimensionality. In this paper, the cosine distance is used as a distance measure in the clustering process, and the formula for calculating the cosine distance is as follows:(4)distA⟶,B⟶=1−cosθ=1−A⟶⋅B⟶A⟶⋅B⟶,where A⟶ and B⟶ denote two vectors, θ denotes the angle between the vectors, and A⟶ denotes the norm of the vector A⟶.The group mining algorithm is described in detail as Algorithm1 [36].Algorithm 1:Group mining algorithm.
Input: Rating matrixRm×n, Latent factor number k, Group number g.Output:g groups.Step 1:Um×k←Rm×n←NMF;Step 2:Um×k←K-means;Step 3: Returng groups.


### 4.2. Group Modeling

The purpose of group modeling is to calculate a group rating for each candidate item and then decide which items should be recommended to the group. To generate a group profile, the profiles of the members in the group need to be aggregated, and since the member profiles are often very sparse, the unknown preferences in the member profiles need to be predicted before aggregation to get the corresponding predicted ratings. Therefore, in this subsection, we first outline how to use the timeSVD++ model to predict member unknown preferences, which is the basis for generating a group profile. Then, we will detail how to integrate the activity level into the preference aggregation process to generate a group profile, which is the core of this section and also the main innovation of this paper.


#### 4.2.1. Unknown Preferences Prediction

In group recommender systems, predicting the unknown preferences of members is the basis for generating group profiles, so the unknown ratings of group members need to be predicted before building the group model. Since user preferences drift dynamically over time and the popularity of items changes over time, better prediction accuracy will be achieved by considering the time factor when predicting unknown ratings of members, which will facilitate the building of a more precise group model. In this part of the study, we mainly referred to the work of the literature [33].The literature [33] proposed the timeSVD++ model based on the consideration that preferences of users for items have a time effect, which transforms the variables into a function about time t. While alleviating data sparsity, the interest drift of users can be accurately captured, thereby achieving a better prediction accuracy. The main functions in the paper are as follows:(1)
Two main temporal effects are included in the user preference baseline predictor: one is the change in user bias over time; the other is the effect of item bias over time.(5)buit=μ+but+bit,wherebuit denotes the baseline estimate of the user u for the item i at a time t; μ is the overall average rating; and but , bit are time-varying, real-valued functions that represent user bias and item bias subject to time effects, respectively.(2)
Item Bias. By splitting the timeline into many bins, the item bias is split into a stationary part and a time-changing part.(6)bit=bi+bi,Bint,wherebi denotes the stationary part and bi,Bint denotes the time-changing part of the item bias.(3)
User Bias. Considering the long-term and short-term changes of user bias affected by time, i.e., user bias may change gradually over time or suddenly on a certain day, but is divided into two parts: static and dynamic, and the dynamic includes long-term changes (gradual drift) and short-term changes (sudden drift).(7)but=bu+αu⋅devut+bu,t,wherebu denotes the static part of the user bias; αu⋅devut+bu,t denotes the dynamic part, bu,t denotes the sudden drift in the dynamic change, αu⋅devut denotes the gradual drift in the dynamic change, αu denotes the parameter assigned to the user u, and devut is a time drift function as follows:(8)devut=signt−tu⋅t−tuβ,wheret−tu measures the time distance between t and tu; β is a parameter.The prediction of unknown user ratings is completed by solving the following objective function to obtain the predicted ratings.(9)min∑u,i,t∈Kruit−μ−bu−αu⋅devut−bu,t−bi−bi,Bint2+λbu2+αu2+bu,t2+bi2+bi,Bint2,where λ is the regularization coefficient.A filled matrixRFm×n is generated by filling in the blank in the original rating matrix Rm×n. The filled matrix contains the preference information of all users. We exactly mined the member preferences (both known and predicted preferences) using the rating information of all users. Compared to using only the ratings of group members to predict unknown preferences, this has the advantage of generating more accurate predicted ratings by modeling the entire data without having to drop most of the data. Eventually, the member preferences rfut=rfuit|i∈I are obtained by extracting the rows in the filled matrix to which the member belongs.


#### 4.2.2. Preferences Aggregation

Member preference aggregation is a key problem in constructing a group model, and we structured the group model by integrating activity level into the preference aggregation process. Meanwhile, we treated the activity level as a counting problem within a time interval, and the time information in the member preferences is usually in the form of timestamps, so a time window is designed to process them. In the later section, this section first defines the member activity level within a time window and then describes how to structure the group model by preference aggregation based on the member activity level.(1) Member Activity Level. In recommender systems, activity level refers to the degree of user interaction with the recommender system, which is most intuitively reflected by the number of historical ratings of users. However, for group recommender systems, it is not appropriate to analyze the activity level of group members over the entire time series when performing activity-level investigations. Because the activity level of members is dynamic, members who were active a long time ago may not be active now, and similarly, members who were inactive a long time ago may become active now. That is, the degree of interaction of group members with the recommender system becomes less and less reliable for calculating the current activity level as the time span increases. Moreover, assuming that recommendations are generated to the group at the time trec, it is also usually difficult to predict member activity level after time trec due to various possible abrupt conditions. Therefore, our investigation of the member activity level is set to a recent period at the moment of recommendation, based on which a sliding time window is designed, as shown in Figure 4.Figure 4
Sliding time window.In Figure4, firstly, the maximum and minimum timestamps are selected from the rating data, which are denoted as tmax and tmin, respectively. tmax indicates the time closest to the current time, while tmin indicates the time farthest from the current time. Then, the time interval tmax−tmin is split into many small periods, each representing one day (i.e., 86400 seconds), called short windows, denoted by Δt. η short windows form a long window, denoted T (i.e., T=ηΔt), and the long window is set to slide forward with time. Finally, suppose that items are recommended to the group at the moment trec. In order to analyze the activity level of each member in the time period closer to trec, we would simply slide the long window to the moment trec and then investigate the activity level of the group members within that window. By the way, the size of the long window depends on specific industry patterns.Now, for the difference in the number of user ratings, the activity level of each member under the current moment is calculated by analyzing the number of ratings of each member and the total number of ratings of the group within the sliding time window at the recommended moment. For generating recommendations to the group at the timetrec, the activity level of each member is defined as follows:(10)AuGtrec=Rut∑u∈GRut,t∈trec−T,trec,where AuGtrec denotes the activity level of the member u in the group G at the recommended moment trec, Rut denotes the number of historical ratings of the member u in the period t, and T is the sliding time window length.Since the value oft is in a time range, the specific representation of Rut is as follows:(11)Rut=∑t=trec−Ttrecfruit,fruit=1,ruit>00,else,t∈trec−T,trec,where fx is an indicator function indicating whether the user u has a rating record in the time range t∈trec−T,trec.To verify whether there is a difference between the number of user ratings, the number of ratings for all users in the MovieLens dataset and for members of several groups mined by the method in Section4.1 was analyzed, with higher numbers of ratings indicating more active users. At the same time, the recommended moment trec is randomly selected to count the number of users corresponding to each number of ratings in the random period. The smaller the number of users under the same number of ratings, the greater the difference between the activity level of group members in that period; to verify the differences between the activity level of ratings of group members in the recent past at the moment of recommendation, the sliding time window length is set to 90 days, i.e., 7776000 seconds. The results are shown in Figures 5 and 6.Figure 5
Statistics of the number of users under each rating number in MovieLens.Figure 6
Statistics of the number of users corresponding to the number of ratings within 90 days in MovieLens.Figure5 shows the statistics of the number of user ratings in MovieLens. It can be seen that the number of ratings varies significantly among users, with some users having only a few rating records and some users having more than 700 rating records. Among all users, the number of ratings of users follows long-tailed distribution, indicating that a few users have a high number of ratings, while most users have a low number of ratings. In different groups, it can be seen that the number of users corresponding to different numbers of ratings is generally lower, which indicates that the number of ratings varies among members in the group, i.e., there is a difference between the activity level of different members. Figure 6 presents the statistics of the number of user ratings over 90 days, and it can be seen that the number of ratings for most group members is completely different over time, except for a small number of very inactive users who have a small number of rating records. This shows that there is a significant difference between the activity level of each member in the group within a period. Therefore, it is necessary to analyze the activity level of each member before preference aggregation. Furthermore, the vertical combination of Figures 5 and 6 shows that compared to Figure 5, where some members have the same number of ratings, Figure 6 completely shows that the number of ratings varies among group members, so it is realistic and logical to investigate the recent activity level of members.(2) Preferences Aggregation. The activity-level formula indicates that the higher the number of ratings a member has within a long window, the higher is his or her activity level in the group, and the more important is he or she in the preference aggregation process. Therefore, after the activity level of each member in the group is calculated, the activity level of each member can be regarded as his or her weight for preference aggregation to generate group preferences, as follows:(12)rGitrec=∑u∈GAuGtrec⋅rfuit,where rGitrec denotes the rating for the item i by the group G at the recommended moment trec, i.e., the group preference.According to equation (12), the modeling of the group G is accomplished in the process of calculating the ratings of the group for all candidate items.


### 4.3. Group Recommendation

The final implementation of the group recommender system is to generate a group-oriented recommendation list. After calculating the ratings of the group for all candidate items through Section4.2, the Top-N recommendation algorithm can be used to select the N candidates with the highest group ratings to be added to the group’s recommendation list. The dynamic group recommendation algorithm based on member activity level (DMA) is described as Algorithm 2 [28].Algorithm 2:DMA algorithm.
Input: GroupG, Rating matrix Rm×n, Number of latent factors k, Candidate item set I, Recommended time trec, Sliding time window length η, Number of recommended items N.Output: Group recommendation listIG.Step 1:RFm×n←Rm×n←timeSVD++;Step 2:RFGG×n←RFm×n;Step 3: Foru in G:Step 4:AuGtrec=Rut/∑u∈GRut,t∈trec−T,trec;Step 5: End For;Step 6: Fori in I:Step 7:rGitrec=∑u∈GAuGtrec⋅rfuit;Step 8: End For;Step 9: sortedrGitrec by descending order;Step 10: selectN highest items;Step 11: ReturnIG.


## 4.1. Group Mining

The literature [36] proposed a group mining algorithm, which detected potential groups by K-means clustering of the user rating vectors after filling the blank ratings with predicted ratings. However, the user rating vector is generally of high dimensionality, and it may affect the clustering process with the curse of dimensionality when directly input into the K-means algorithm. Therefore, in this paper, we proposed a new group mining algorithm based on the literature [36]. The algorithm firstly decomposed the user-item rating matrix with NMF, and then the decomposed user matrix was input into the K-means clustering algorithm to mine potential groups. Since NMF can achieve a low-dimensional representation of high-dimensional data while maintaining the essence of the original data, it has been widely applied in the fields of image analysis, text clustering, and data mining [37]. The user feature vectors in the user matrix decomposed by NMF represent the preferences of users for different implicit item factors. Therefore, it can be input into K-means to cluster users with similar interests into the same group and users with different interests into different groups while alleviating the effect of the curse of dimensionality. In this paper, the cosine distance is used as a distance measure in the clustering process, and the formula for calculating the cosine distance is as follows:(4)distA⟶,B⟶=1−cosθ=1−A⟶⋅B⟶A⟶⋅B⟶,where A⟶ and B⟶ denote two vectors, θ denotes the angle between the vectors, and A⟶ denotes the norm of the vector A⟶.The group mining algorithm is described in detail as Algorithm1 [36].Algorithm 1:Group mining algorithm.
Input: Rating matrixRm×n, Latent factor number k, Group number g.Output:g groups.Step 1:Um×k←Rm×n←NMF;Step 2:Um×k←K-means;Step 3: Returng groups.


## 4.2. Group Modeling

The purpose of group modeling is to calculate a group rating for each candidate item and then decide which items should be recommended to the group. To generate a group profile, the profiles of the members in the group need to be aggregated, and since the member profiles are often very sparse, the unknown preferences in the member profiles need to be predicted before aggregation to get the corresponding predicted ratings. Therefore, in this subsection, we first outline how to use the timeSVD++ model to predict member unknown preferences, which is the basis for generating a group profile. Then, we will detail how to integrate the activity level into the preference aggregation process to generate a group profile, which is the core of this section and also the main innovation of this paper.


### 4.2.1. Unknown Preferences Prediction

In group recommender systems, predicting the unknown preferences of members is the basis for generating group profiles, so the unknown ratings of group members need to be predicted before building the group model. Since user preferences drift dynamically over time and the popularity of items changes over time, better prediction accuracy will be achieved by considering the time factor when predicting unknown ratings of members, which will facilitate the building of a more precise group model. In this part of the study, we mainly referred to the work of the literature [33].The literature [33] proposed the timeSVD++ model based on the consideration that preferences of users for items have a time effect, which transforms the variables into a function about time t. While alleviating data sparsity, the interest drift of users can be accurately captured, thereby achieving a better prediction accuracy. The main functions in the paper are as follows:(1)
Two main temporal effects are included in the user preference baseline predictor: one is the change in user bias over time; the other is the effect of item bias over time.(5)buit=μ+but+bit,wherebuit denotes the baseline estimate of the user u for the item i at a time t; μ is the overall average rating; and but , bit are time-varying, real-valued functions that represent user bias and item bias subject to time effects, respectively.(2)
Item Bias. By splitting the timeline into many bins, the item bias is split into a stationary part and a time-changing part.(6)bit=bi+bi,Bint,wherebi denotes the stationary part and bi,Bint denotes the time-changing part of the item bias.(3)
User Bias. Considering the long-term and short-term changes of user bias affected by time, i.e., user bias may change gradually over time or suddenly on a certain day, but is divided into two parts: static and dynamic, and the dynamic includes long-term changes (gradual drift) and short-term changes (sudden drift).(7)but=bu+αu⋅devut+bu,t,wherebu denotes the static part of the user bias; αu⋅devut+bu,t denotes the dynamic part, bu,t denotes the sudden drift in the dynamic change, αu⋅devut denotes the gradual drift in the dynamic change, αu denotes the parameter assigned to the user u, and devut is a time drift function as follows:(8)devut=signt−tu⋅t−tuβ,wheret−tu measures the time distance between t and tu; β is a parameter.The prediction of unknown user ratings is completed by solving the following objective function to obtain the predicted ratings.(9)min∑u,i,t∈Kruit−μ−bu−αu⋅devut−bu,t−bi−bi,Bint2+λbu2+αu2+bu,t2+bi2+bi,Bint2,where λ is the regularization coefficient.A filled matrixRFm×n is generated by filling in the blank in the original rating matrix Rm×n. The filled matrix contains the preference information of all users. We exactly mined the member preferences (both known and predicted preferences) using the rating information of all users. Compared to using only the ratings of group members to predict unknown preferences, this has the advantage of generating more accurate predicted ratings by modeling the entire data without having to drop most of the data. Eventually, the member preferences rfut=rfuit|i∈I are obtained by extracting the rows in the filled matrix to which the member belongs.


### 4.2.2. Preferences Aggregation

Member preference aggregation is a key problem in constructing a group model, and we structured the group model by integrating activity level into the preference aggregation process. Meanwhile, we treated the activity level as a counting problem within a time interval, and the time information in the member preferences is usually in the form of timestamps, so a time window is designed to process them. In the later section, this section first defines the member activity level within a time window and then describes how to structure the group model by preference aggregation based on the member activity level.(1) Member Activity Level. In recommender systems, activity level refers to the degree of user interaction with the recommender system, which is most intuitively reflected by the number of historical ratings of users. However, for group recommender systems, it is not appropriate to analyze the activity level of group members over the entire time series when performing activity-level investigations. Because the activity level of members is dynamic, members who were active a long time ago may not be active now, and similarly, members who were inactive a long time ago may become active now. That is, the degree of interaction of group members with the recommender system becomes less and less reliable for calculating the current activity level as the time span increases. Moreover, assuming that recommendations are generated to the group at the time trec, it is also usually difficult to predict member activity level after time trec due to various possible abrupt conditions. Therefore, our investigation of the member activity level is set to a recent period at the moment of recommendation, based on which a sliding time window is designed, as shown in Figure 4.Figure 4
Sliding time window.In Figure4, firstly, the maximum and minimum timestamps are selected from the rating data, which are denoted as tmax and tmin, respectively. tmax indicates the time closest to the current time, while tmin indicates the time farthest from the current time. Then, the time interval tmax−tmin is split into many small periods, each representing one day (i.e., 86400 seconds), called short windows, denoted by Δt. η short windows form a long window, denoted T (i.e., T=ηΔt), and the long window is set to slide forward with time. Finally, suppose that items are recommended to the group at the moment trec. In order to analyze the activity level of each member in the time period closer to trec, we would simply slide the long window to the moment trec and then investigate the activity level of the group members within that window. By the way, the size of the long window depends on specific industry patterns.Now, for the difference in the number of user ratings, the activity level of each member under the current moment is calculated by analyzing the number of ratings of each member and the total number of ratings of the group within the sliding time window at the recommended moment. For generating recommendations to the group at the timetrec, the activity level of each member is defined as follows:(10)AuGtrec=Rut∑u∈GRut,t∈trec−T,trec,where AuGtrec denotes the activity level of the member u in the group G at the recommended moment trec, Rut denotes the number of historical ratings of the member u in the period t, and T is the sliding time window length.Since the value oft is in a time range, the specific representation of Rut is as follows:(11)Rut=∑t=trec−Ttrecfruit,fruit=1,ruit>00,else,t∈trec−T,trec,where fx is an indicator function indicating whether the user u has a rating record in the time range t∈trec−T,trec.To verify whether there is a difference between the number of user ratings, the number of ratings for all users in the MovieLens dataset and for members of several groups mined by the method in Section4.1 was analyzed, with higher numbers of ratings indicating more active users. At the same time, the recommended moment trec is randomly selected to count the number of users corresponding to each number of ratings in the random period. The smaller the number of users under the same number of ratings, the greater the difference between the activity level of group members in that period; to verify the differences between the activity level of ratings of group members in the recent past at the moment of recommendation, the sliding time window length is set to 90 days, i.e., 7776000 seconds. The results are shown in Figures 5 and 6.Figure 5
Statistics of the number of users under each rating number in MovieLens.Figure 6
Statistics of the number of users corresponding to the number of ratings within 90 days in MovieLens.Figure5 shows the statistics of the number of user ratings in MovieLens. It can be seen that the number of ratings varies significantly among users, with some users having only a few rating records and some users having more than 700 rating records. Among all users, the number of ratings of users follows long-tailed distribution, indicating that a few users have a high number of ratings, while most users have a low number of ratings. In different groups, it can be seen that the number of users corresponding to different numbers of ratings is generally lower, which indicates that the number of ratings varies among members in the group, i.e., there is a difference between the activity level of different members. Figure 6 presents the statistics of the number of user ratings over 90 days, and it can be seen that the number of ratings for most group members is completely different over time, except for a small number of very inactive users who have a small number of rating records. This shows that there is a significant difference between the activity level of each member in the group within a period. Therefore, it is necessary to analyze the activity level of each member before preference aggregation. Furthermore, the vertical combination of Figures 5 and 6 shows that compared to Figure 5, where some members have the same number of ratings, Figure 6 completely shows that the number of ratings varies among group members, so it is realistic and logical to investigate the recent activity level of members.(2) Preferences Aggregation. The activity-level formula indicates that the higher the number of ratings a member has within a long window, the higher is his or her activity level in the group, and the more important is he or she in the preference aggregation process. Therefore, after the activity level of each member in the group is calculated, the activity level of each member can be regarded as his or her weight for preference aggregation to generate group preferences, as follows:(12)rGitrec=∑u∈GAuGtrec⋅rfuit,where rGitrec denotes the rating for the item i by the group G at the recommended moment trec, i.e., the group preference.According to equation (12), the modeling of the group G is accomplished in the process of calculating the ratings of the group for all candidate items.


## 4.2.1. Unknown Preferences Prediction

In group recommender systems, predicting the unknown preferences of members is the basis for generating group profiles, so the unknown ratings of group members need to be predicted before building the group model. Since user preferences drift dynamically over time and the popularity of items changes over time, better prediction accuracy will be achieved by considering the time factor when predicting unknown ratings of members, which will facilitate the building of a more precise group model. In this part of the study, we mainly referred to the work of the literature [33].The literature [33] proposed the timeSVD++ model based on the consideration that preferences of users for items have a time effect, which transforms the variables into a function about time t. While alleviating data sparsity, the interest drift of users can be accurately captured, thereby achieving a better prediction accuracy. The main functions in the paper are as follows:(1)
Two main temporal effects are included in the user preference baseline predictor: one is the change in user bias over time; the other is the effect of item bias over time.(5)buit=μ+but+bit,wherebuit denotes the baseline estimate of the user u for the item i at a time t; μ is the overall average rating; and but , bit are time-varying, real-valued functions that represent user bias and item bias subject to time effects, respectively.(2)
Item Bias. By splitting the timeline into many bins, the item bias is split into a stationary part and a time-changing part.(6)bit=bi+bi,Bint,wherebi denotes the stationary part and bi,Bint denotes the time-changing part of the item bias.(3)
User Bias. Considering the long-term and short-term changes of user bias affected by time, i.e., user bias may change gradually over time or suddenly on a certain day, but is divided into two parts: static and dynamic, and the dynamic includes long-term changes (gradual drift) and short-term changes (sudden drift).(7)but=bu+αu⋅devut+bu,t,wherebu denotes the static part of the user bias; αu⋅devut+bu,t denotes the dynamic part, bu,t denotes the sudden drift in the dynamic change, αu⋅devut denotes the gradual drift in the dynamic change, αu denotes the parameter assigned to the user u, and devut is a time drift function as follows:(8)devut=signt−tu⋅t−tuβ,wheret−tu measures the time distance between t and tu; β is a parameter.The prediction of unknown user ratings is completed by solving the following objective function to obtain the predicted ratings.(9)min∑u,i,t∈Kruit−μ−bu−αu⋅devut−bu,t−bi−bi,Bint2+λbu2+αu2+bu,t2+bi2+bi,Bint2,where λ is the regularization coefficient.A filled matrixRFm×n is generated by filling in the blank in the original rating matrix Rm×n. The filled matrix contains the preference information of all users. We exactly mined the member preferences (both known and predicted preferences) using the rating information of all users. Compared to using only the ratings of group members to predict unknown preferences, this has the advantage of generating more accurate predicted ratings by modeling the entire data without having to drop most of the data. Eventually, the member preferences rfut=rfuit|i∈I are obtained by extracting the rows in the filled matrix to which the member belongs.


## 4.2.2. Preferences Aggregation

Member preference aggregation is a key problem in constructing a group model, and we structured the group model by integrating activity level into the preference aggregation process. Meanwhile, we treated the activity level as a counting problem within a time interval, and the time information in the member preferences is usually in the form of timestamps, so a time window is designed to process them. In the later section, this section first defines the member activity level within a time window and then describes how to structure the group model by preference aggregation based on the member activity level.(1) Member Activity Level. In recommender systems, activity level refers to the degree of user interaction with the recommender system, which is most intuitively reflected by the number of historical ratings of users. However, for group recommender systems, it is not appropriate to analyze the activity level of group members over the entire time series when performing activity-level investigations. Because the activity level of members is dynamic, members who were active a long time ago may not be active now, and similarly, members who were inactive a long time ago may become active now. That is, the degree of interaction of group members with the recommender system becomes less and less reliable for calculating the current activity level as the time span increases. Moreover, assuming that recommendations are generated to the group at the time trec, it is also usually difficult to predict member activity level after time trec due to various possible abrupt conditions. Therefore, our investigation of the member activity level is set to a recent period at the moment of recommendation, based on which a sliding time window is designed, as shown in Figure 4.Figure 4
Sliding time window.In Figure4, firstly, the maximum and minimum timestamps are selected from the rating data, which are denoted as tmax and tmin, respectively. tmax indicates the time closest to the current time, while tmin indicates the time farthest from the current time. Then, the time interval tmax−tmin is split into many small periods, each representing one day (i.e., 86400 seconds), called short windows, denoted by Δt. η short windows form a long window, denoted T (i.e., T=ηΔt), and the long window is set to slide forward with time. Finally, suppose that items are recommended to the group at the moment trec. In order to analyze the activity level of each member in the time period closer to trec, we would simply slide the long window to the moment trec and then investigate the activity level of the group members within that window. By the way, the size of the long window depends on specific industry patterns.Now, for the difference in the number of user ratings, the activity level of each member under the current moment is calculated by analyzing the number of ratings of each member and the total number of ratings of the group within the sliding time window at the recommended moment. For generating recommendations to the group at the timetrec, the activity level of each member is defined as follows:(10)AuGtrec=Rut∑u∈GRut,t∈trec−T,trec,where AuGtrec denotes the activity level of the member u in the group G at the recommended moment trec, Rut denotes the number of historical ratings of the member u in the period t, and T is the sliding time window length.Since the value oft is in a time range, the specific representation of Rut is as follows:(11)Rut=∑t=trec−Ttrecfruit,fruit=1,ruit>00,else,t∈trec−T,trec,where fx is an indicator function indicating whether the user u has a rating record in the time range t∈trec−T,trec.To verify whether there is a difference between the number of user ratings, the number of ratings for all users in the MovieLens dataset and for members of several groups mined by the method in Section4.1 was analyzed, with higher numbers of ratings indicating more active users. At the same time, the recommended moment trec is randomly selected to count the number of users corresponding to each number of ratings in the random period. The smaller the number of users under the same number of ratings, the greater the difference between the activity level of group members in that period; to verify the differences between the activity level of ratings of group members in the recent past at the moment of recommendation, the sliding time window length is set to 90 days, i.e., 7776000 seconds. The results are shown in Figures 5 and 6.Figure 5
Statistics of the number of users under each rating number in MovieLens.Figure 6
Statistics of the number of users corresponding to the number of ratings within 90 days in MovieLens.Figure5 shows the statistics of the number of user ratings in MovieLens. It can be seen that the number of ratings varies significantly among users, with some users having only a few rating records and some users having more than 700 rating records. Among all users, the number of ratings of users follows long-tailed distribution, indicating that a few users have a high number of ratings, while most users have a low number of ratings. In different groups, it can be seen that the number of users corresponding to different numbers of ratings is generally lower, which indicates that the number of ratings varies among members in the group, i.e., there is a difference between the activity level of different members. Figure 6 presents the statistics of the number of user ratings over 90 days, and it can be seen that the number of ratings for most group members is completely different over time, except for a small number of very inactive users who have a small number of rating records. This shows that there is a significant difference between the activity level of each member in the group within a period. Therefore, it is necessary to analyze the activity level of each member before preference aggregation. Furthermore, the vertical combination of Figures 5 and 6 shows that compared to Figure 5, where some members have the same number of ratings, Figure 6 completely shows that the number of ratings varies among group members, so it is realistic and logical to investigate the recent activity level of members.(2) Preferences Aggregation. The activity-level formula indicates that the higher the number of ratings a member has within a long window, the higher is his or her activity level in the group, and the more important is he or she in the preference aggregation process. Therefore, after the activity level of each member in the group is calculated, the activity level of each member can be regarded as his or her weight for preference aggregation to generate group preferences, as follows:(12)rGitrec=∑u∈GAuGtrec⋅rfuit,where rGitrec denotes the rating for the item i by the group G at the recommended moment trec, i.e., the group preference.According to equation (12), the modeling of the group G is accomplished in the process of calculating the ratings of the group for all candidate items.


## 4.3. Group Recommendation

The final implementation of the group recommender system is to generate a group-oriented recommendation list. After calculating the ratings of the group for all candidate items through Section4.2, the Top-N recommendation algorithm can be used to select the N candidates with the highest group ratings to be added to the group’s recommendation list. The dynamic group recommendation algorithm based on member activity level (DMA) is described as Algorithm 2 [28].Algorithm 2:DMA algorithm.
Input: GroupG, Rating matrix Rm×n, Number of latent factors k, Candidate item set I, Recommended time trec, Sliding time window length η, Number of recommended items N.Output: Group recommendation listIG.Step 1:RFm×n←Rm×n←timeSVD++;Step 2:RFGG×n←RFm×n;Step 3: Foru in G:Step 4:AuGtrec=Rut/∑u∈GRut,t∈trec−T,trec;Step 5: End For;Step 6: Fori in I:Step 7:rGitrec=∑u∈GAuGtrec⋅rfuit;Step 8: End For;Step 9: sortedrGitrec by descending order;Step 10: selectN highest items;Step 11: ReturnIG.


## 5. Experiment and Analysis

This section first introduces the datasets and evaluation metrics we used in the experiment, then introduces the baseline algorithms and experimental setup, and finally analyses the results as well as the parameters.


### 5.1. Datasets

In the experimental part, we choose the MovieLens dataset (https://grouplens.org/datasets/movielens) and the Netflix dataset (https://www.kaggle.com/netflix-inc/netflix-prize-data) as the experimental datasets. The MovieLens dataset and the Netflix dataset contain information about ratings given by users to movies, the time of ratings, and the tags of users and movies, which are common datasets for relevant scientific experiments in recommendation system studies, and their specific information is shown in Table 1. In the experiment, both datasets are randomly divided into a training set and a test set in the ratio of 8 : 2, and the algorithm model is first trained on the training set, and then the trained model is verified and analyzed on the test set.Table 1
Statistics of the datasets.
Dataset#Users#Items#RatingsRating rangeSparsity (%)ML-100K9431682100000[1, 5]93.7Netflix48018917770100480507[1, 5]98.8


### 5.2. Evaluation Metrics

We use the normalized discounted cumulative gain (nDCG) [20] as an evaluation metric for the accuracy of the group recommendation algorithm, which fully takes into account the influence of item ranking on the recommendation results. The formula is as follows:(13)DCG@N=rel1+∑i=2Nrelilog2i,nDCG@N=DCG@NIDCG@N,where DCG@N denotes the satisfaction of a user with the true ratings of the N items in the recommendation list relative to their positions in the list, and reli denotes the rating of the user for the item ranked i in the recommendation list. IDCG@N is the value of DCG@N in the best scenario, i.e., the recommendation list is ranked in the descending order of ratings for the individual user.nDCG@N is the ratio of DCG@N and IDCG@N, which is between 0 and 1. And, the higher the nDCG@N, the higher the user satisfaction with the recommendation list and the better the recommendation performance. In the experiments, the value of nDCG@N is calculated for each member of the group, and the nDCG@N value of the group is expressed as the mean value.F-measure is used to evaluate the missing prediction and group rating classification for members [28], and it is another metric we use to measure the performance of group recommendations. F-measure is calculated by the following formula:(14)F=2TP2TP+FN+FP,where TP denotes the number of items in the recommendations where all member ratings are greater than the threshold and the group ratings are also greater than the threshold, FN denotes the number of items in the recommendations where all member ratings are greater than the threshold and the group ratings are less than the threshold, and FP denotes the number of items in the recommendations where some member ratings are below the threshold and the group ratings are above the threshold.


### 5.3. Baselines and Experimental Setup

To verify the effectiveness of the DMA, we selected eight of the more successful and popular methods as baselines for comparison, as shown in Figure7. Among them, in the predicting user rating (i.e., rating matrix filled) stage, the comparison algorithms are the timeSVD++ model and the SVD model; in the phase of generating group ratings, the comparison algorithms are the average strategy (AVG) [7], the least misery strategy (LM) [8], and the most pleasure strategy (MP) [9]. Also, for comparison with the latest group recommendation algorithms, we selected the WBF algorithm proposed by Ortega et al. [38] and the MCS algorithm proposed by Wang et al. [28]. Below are the labels and descriptions we use to denote each of these baselines.(i)
AVG: Use the average strategy to generate a group profile where the group rating for a candidate item is equal to the average of the ratings of the members.(ii)
LM: Use the least misery strategy to generate a group profile where the group rating for a candidate item is equal to the minimum value of the ratings of the members.(iii)
MP: Use the most pleasure strategy to generate a group profile where the group rating for a candidate item is equal to the maximum of the ratings of the members.(iv)
WBF [38]: Add weight to each item based on the number of times each item has been rated by group members, and use a weighted ridge regression method to solve for the group rating.(v)
MCS [28]: Add weight to each member based on their contribution to the group, and the group rating is equal to the weighted average of the member ratings.Figure 7
Experimental setup.In summary, the baseline algorithms we set up are SVD_AVG, SVD_LM, and SVD_MP algorithms based on SVD; timeSVD++_AVG, timeSVD++_LM, and timeSVD++_MP algorithms based on timeSVD++; and the latest group recommendation algorithms WBF and MCS in the literature. For the DMA and SVD_Act algorithms, they correspond to the group recommendation algorithm based on member activity level after the rating matrix is filled by timeSVD++ and SVD, respectively.In terms of the experimental setup, we set up three group mining algorithms in our experiments, so that the above group recommendation methods have experimented under different group sizes mined by different group mining algorithms to verify their robustness and the effectiveness of the group mining algorithms proposed in this paper.


### 5.4. Experimental Results and Parameter Analysis

#### 5.4.1. Experimental Results Analysis

To verify the improvement of the DMA algorithm, we conducted experiments at each group size corresponding to different group mining algorithms in the MovieLens dataset and the Netflix dataset and calculated their correspondingnDCG@10 and F-measure. To facilitate comparison, a consistent parameter was set in the SVD model and the timeSVD++ model, and Table 2 shows the details of the parameters we set in our experiments. As for the WBF and MCS algorithms, we referred to the experimental parameters in the relevant papers.Table 2
Details of experimental parameters.
ParameterMovieLensNetflixk (number of factors)2010λ (regularization coefficient)0.0040.002Max. iterations500500Threshold (in F-measure)33η (sliding window length)9090Tables3 and 4, respectively, show the experimental results of nDCG@10 under different group sizes corresponding to different group mining algorithms in the MovieLens and Netflix datasets. The group size is set to 5, 10, and 20, respectively, the recommended moment trec is selected randomly, and the number of recommendations N is set to 10.Table 3
Experimental results of nDCG@10 in MovieLens.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.8970.8780.8590.8010.8070.7910.1530.1760.159SVD_LM0.9110.8810.8390.8300.8390.8160.2130.2280.174SVD_MP0.8830.8230.7710.8110.7850.7380.1640.1570.102SVD_Act0.8810.8710.9150.8230.8200.8370.1600.1810.154timeSVD++_AVG0.90.8910.8680.8260.8310.8060.1720.2360.201timeSVD++_LM0.9150.8930.8630.8430.8530.8400.1960.2440.183timeSVD++_MP0.8960.8540.7790.8360.8150.7680.1920.1670.125WBF [34]0.8930.8970.8780.8780.8890.8500.1820.2160.185MCS [24]0.9010.8840.8670.8850.8760.8530.2090.2150.158DMA0.8920.9060.9290.8510.8770.8750.1970.2280.176Table 4
Experimental results of nDCG@10 in Netflix.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.8750.8540.8160.7860.8010.7680.1450.1650.116SVD_LM0.8920.8870.8560.8200.7980.7860.2240.2150.185SVD_MP0.8350.8140.7760.7140.7010.7180.1530.1530.118SVD_Act0.8640.8580.8740.8040.7930.7820.1730.1510.158timeSVD++_AVG0.8840.8730.8530.7900.8040.7720.1720.1790.126timeSVD++_LM0.9070.8850.8730.8370.8180.7900.2160.2390.179timeSVD++_MP0.8430.8260.7880.7520.7370.7280.1860.1630.120WBF [34]0.8970.8900.8620.8570.8270.8160.1790.2020.169MCS [24]0.9150.8970.8540.8740.8260.8040.2140.2050.163DMA0.8850.9150.9030.8440.8540.8260.1890.2140.172In the results shown in Tables3 and 4, DMA and SVD_Act are our proposed group recommendation algorithms. The following contents can be analyzed from the experimental results in Tables 3 and 4. Firstly, our proposed algorithm achieves better accuracy in group recommendations, further revealing the effectiveness of considering the activity level of group members when generating group recommendations. Secondly, the accuracy of the group recommendations generated by using the timeSVD++ model for rating prediction and combining with the corresponding rating aggregation strategies is significantly higher than that of the recommendations generated by using the SVD model. This is because the timeSVD++ model can accurately capture the interest drift of users and predict their preferences more precisely. Again, among the groups detected by different group mining algorithms, the group mining algorithm proposed in this paper presents better recommendation accuracy for the corresponding group size. This is because the proposed group mining algorithm can detect groups that are more similar internally, which results in fewer preference conflicts inside them, thus achieving higher recommendation accuracy. Finally, it can be observed that as the group size increases, the recommendation accuracy roughly presents a decreasing trend. The possible reason is that as the number of users in the group increases, the conflict within the group becomes all the more fierce, and the preferences become more difficult to aggregate, thus leading to a decrease in accuracy. But at the same time, as the number of members increases, the difference in activity level is bound to be exposed. Our algorithm slows down the decreasing trend of recommendation accuracy by analyzing the recent activity level of group members and aggregating the ratings based on it, which indicates the effectiveness of our algorithm from the side.Tables5 and 6, respectively, show the experimental results of F-measure under different group sizes corresponding to different group mining algorithms in the MovieLens and the Netflix datasets. The group size is set to 5, 10, and 20, respectively; the recommended moment trec is selected randomly; and the number of recommendations N is set to 10.Table 5
Experimental results of F-measure in MovieLens.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.7110.6530.5160.6120.5580.4320.1540.1280.101SVD_LM0.7020.5220.4620.5790.5360.4130.1050.0820.079SVD_MP0.6830.5170.4720.6170.5440.5020.1690.1340.119SVD_Act0.6980.5380.4960.5830.5600.5130.1350.1270.092timeSVD++_AVG0.7290.6720.5190.6250.5620.4530.1910.1690.139timeSVD++_LM0.7080.5430.4700.5850.5310.4220.1900.1540.118timeSVD++_MP0.6930.5470.4840.6220.5730.4960.2040.1690.115WBF [34]0.7420.6520.5780.6230.5620.4990.3420.3230.272MCS [24]0.7320.6780.6060.6460.5850.5160.3520.3110.264DMA0.7440.6640.6280.6130.5820.5480.3390.3260.289Table 6
Experimental results of F-measure in Netflix.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.5120.4670.4280.4320.3880.3280.1300.1340.114SVD_LM0.4840.4260.3790.3760.3140.2750.1470.1410.117SVD_MP0.4760.4180.3860.3350.3010.2840.1090.1070.098SVD_Act0.4620.4380.4010.3520.3170.2950.1310.1220.101timeSVD++_AVG0.5380.5190.4750.4630.4150.3670.1390.1420.125timeSVD++_LM0.5280.4870.4430.4240.3730.3390.1450.1360.130timeSVD++_MP0.5220.4630.4160.3970.3520.3160.1190.1090.098WBF [34]0.6040.5360.4830.4730.4250.3720.2440.2050.156MCS [24]0.6220.5610.5010.4950.4310.3950.2650.1990.164DMA0.6170.5720.5270.4620.4360.4140.2600.2360.191The experimental results of the F-measure are presented in Tables5 and 6. Firstly, compared with other baselines, our proposed algorithm obtains higher F-measures for different group sizes in different datasets in general, indicating that our algorithm performs better compared with other algorithms. Secondly, the F-measure obtained by combining the timeSVD++ model with the baseline algorithms is higher than those of the corresponding SVD model. One possible reason is that the timeSVD++ model can generate more accurate user ratings, which provides a better basis for subsequent rating aggregation, illustrating that predicting more accurate user preferences is an essential prerequisite for group preference aggregation. Again, compared to the MovieLens dataset, the F-measure computed in the Netflix dataset is lower overall, which may be caused by the Netflix dataset being too sparse. On the one hand, data sparsity leads to lower prediction accuracy; on the other hand, data sparsity also leads to poor performance of the group mining algorithm. Finally, it can be seen that among the three different group generation strategies, the value of F-measure under the groups detected by the group mining algorithm in this paper is higher, which further demonstrates the effectiveness of our proposed group mining algorithm. Therefore, in order to conduct subsequent experiments under more ideal conditions, all the groups we have used in the subsequent experiments are generated by our proposed group mining algorithm.


#### 5.4.2. Parameter Analysis

(1) Number of Latent Factorsk. In the singular value decomposition, the value of k affects the accuracy of the prediction ratings. A small set of the k value will result in the latent features not being adequately represented, while a large set will increase the computational complexity. Therefore, we fixed the number of recommendations N as 10, the group size as 20, the sliding window length η as 90, and set k=5,10,15,20,25,30, to explore the specific effect of k on each group recommendation algorithm. Because the MCS algorithm is not based on singular value decomposition, it is out of the scope of this experiment. The experimental results are shown in Figure 8.Figure 8
Performance comparison of different algorithms at different values ofk in two datasets. (a) MovieLens-nDCG@10, (b) MovieLens-F, (c) Netflix-nDCG@10, and (d) Netflix-F.
(a)(b)(c)(d)We can draw the following conclusions based on the experimental results of Figure8 in both datasets. Firstly, the recommendation performance of the group recommendation algorithm based on the latent factor decomposition is significantly influenced by the value of k. This is reflected in the fact that the recommended performance becomes better when the value of k is gradually increased in the case of a smaller value than the optimal value, and it reaches the best value when k takes the optimal value at the same time. When it continues to increase with a value of k greater than the optimal value, the recommended performance starts to decrease. This may be due to the difference in the accuracy of the predicted ratings generated from different k values. The reason for this phenomenon may be due to the differences in data features in the two datasets. Again, it can be observed from the experimental results that the algorithm proposed in this paper achieves a better recommendation performance when all k values are optimal. Finally, considering the above analysis, we set k to 20 in the MovieLens dataset and k to 10 in the Netflix dataset in the subsequent experiments.(2) Number of RecommendationsN. In this experiment, the number of recommendations is set to N=10,20,30,40, and the remaining parameters are the same as above, to explore the specific effect of the number of recommendations on the performance of the group recommendation algorithm, and the experimental results are shown in Figure 9.Figure 9
Performance comparison of different algorithms on different number of recommendations in two datasets. (a) MovieLens-nDCG@10, (b) MovieLens-F, (c) Netflix-nDCG@10, and (d) Netflix-F.
(a)(b)(c)(d)According to the experimental results in Figure9, firstly, the algorithm performance shows an inverse ratio with the number of recommendations in both datasets. When the number of recommendations increases, the performance of the algorithms gradually decreases without exception. The possible reason is that the number of items liked by all members in the group is small, and when the number of recommendations increases, the items recommended afterward do not meet the needs of most members, thus leading to a decrease in recommendation performance. Secondly, it can also be seen from Figure 9 that the rate of decline of nDCG@10 is faster when the number of recommendations is between 10 and 20, while the rate of decline becomes slower after exceeding 20, which may be due to the small difference in the degree of preference of group members for subsequent recommended items. Finally, the algorithm of this paper shows better recommendation performance than other algorithms under the corresponding different recommendation quantities, which further verifies the effectiveness of the algorithm of this paper.(3) Sliding Time Window Length η. This experiment sets the sliding time window length to η=10,30,60,90,180,360, and the rest of the parameters are kept the same as above to explore the effect of the sliding time window length on our algorithm, and the experimental results are shown in Figure 10.Figure 10
Performance comparison of different algorithms at different lengths of sliding windows in two datasets. (a) MovieLens-nDCG@10, (b) MovieLens-F, (c) Netflix-nDCG@10, (d) Netflix-F.
(a)(b)(c)(d)According to the experimental results in Figure10, it can be seen that the algorithm in this paper is significantly influenced by the sliding long window. Firstly, when the sliding time window is small, the recommendation performance of the algorithm in this paper is poor. The possible reason is that the activity level calculated by the algorithm in this paper is more one-sided in the short sliding time window, which cannot capture the real activity level of the group members, thus making the recommended items more inclined to the very small number of recently active members and ignoring most of the rest members, which leads to the poor recommendation performance. Secondly, as the sliding time window gradually increases, the recommendation performance of the algorithm in this paper increases significantly and outperforms other baseline algorithms at a sliding time window size of 90. The baseline algorithms are not affected by the sliding time window because they do not take the time factor into account. Finally, as the sliding time window continues to increase, the recommendation performance of the algorithm in this paper gradually decreases, probably because after the sliding time window is set too large, the algorithm mines the activity level of group members too far away from the current moment, which has a biased impact on the investigation of the recent activity level, resulting in the inability to distinguish the difference of the recent activity level, thus leading to a decrease in the recommendation effect. To summarize the results of this experiment, the algorithm in this paper can achieve better recommendation results when the appropriate sliding time window size is set.


## 5.1. Datasets

In the experimental part, we choose the MovieLens dataset (https://grouplens.org/datasets/movielens) and the Netflix dataset (https://www.kaggle.com/netflix-inc/netflix-prize-data) as the experimental datasets. The MovieLens dataset and the Netflix dataset contain information about ratings given by users to movies, the time of ratings, and the tags of users and movies, which are common datasets for relevant scientific experiments in recommendation system studies, and their specific information is shown in Table 1. In the experiment, both datasets are randomly divided into a training set and a test set in the ratio of 8 : 2, and the algorithm model is first trained on the training set, and then the trained model is verified and analyzed on the test set.Table 1
Statistics of the datasets.
Dataset#Users#Items#RatingsRating rangeSparsity (%)ML-100K9431682100000[1, 5]93.7Netflix48018917770100480507[1, 5]98.8


## 5.2. Evaluation Metrics

We use the normalized discounted cumulative gain (nDCG) [20] as an evaluation metric for the accuracy of the group recommendation algorithm, which fully takes into account the influence of item ranking on the recommendation results. The formula is as follows:(13)DCG@N=rel1+∑i=2Nrelilog2i,nDCG@N=DCG@NIDCG@N,where DCG@N denotes the satisfaction of a user with the true ratings of the N items in the recommendation list relative to their positions in the list, and reli denotes the rating of the user for the item ranked i in the recommendation list. IDCG@N is the value of DCG@N in the best scenario, i.e., the recommendation list is ranked in the descending order of ratings for the individual user.nDCG@N is the ratio of DCG@N and IDCG@N, which is between 0 and 1. And, the higher the nDCG@N, the higher the user satisfaction with the recommendation list and the better the recommendation performance. In the experiments, the value of nDCG@N is calculated for each member of the group, and the nDCG@N value of the group is expressed as the mean value.F-measure is used to evaluate the missing prediction and group rating classification for members [28], and it is another metric we use to measure the performance of group recommendations. F-measure is calculated by the following formula:(14)F=2TP2TP+FN+FP,where TP denotes the number of items in the recommendations where all member ratings are greater than the threshold and the group ratings are also greater than the threshold, FN denotes the number of items in the recommendations where all member ratings are greater than the threshold and the group ratings are less than the threshold, and FP denotes the number of items in the recommendations where some member ratings are below the threshold and the group ratings are above the threshold.


## 5.3. Baselines and Experimental Setup

To verify the effectiveness of the DMA, we selected eight of the more successful and popular methods as baselines for comparison, as shown in Figure7. Among them, in the predicting user rating (i.e., rating matrix filled) stage, the comparison algorithms are the timeSVD++ model and the SVD model; in the phase of generating group ratings, the comparison algorithms are the average strategy (AVG) [7], the least misery strategy (LM) [8], and the most pleasure strategy (MP) [9]. Also, for comparison with the latest group recommendation algorithms, we selected the WBF algorithm proposed by Ortega et al. [38] and the MCS algorithm proposed by Wang et al. [28]. Below are the labels and descriptions we use to denote each of these baselines.(i)
AVG: Use the average strategy to generate a group profile where the group rating for a candidate item is equal to the average of the ratings of the members.(ii)
LM: Use the least misery strategy to generate a group profile where the group rating for a candidate item is equal to the minimum value of the ratings of the members.(iii)
MP: Use the most pleasure strategy to generate a group profile where the group rating for a candidate item is equal to the maximum of the ratings of the members.(iv)
WBF [38]: Add weight to each item based on the number of times each item has been rated by group members, and use a weighted ridge regression method to solve for the group rating.(v)
MCS [28]: Add weight to each member based on their contribution to the group, and the group rating is equal to the weighted average of the member ratings.Figure 7
Experimental setup.In summary, the baseline algorithms we set up are SVD_AVG, SVD_LM, and SVD_MP algorithms based on SVD; timeSVD++_AVG, timeSVD++_LM, and timeSVD++_MP algorithms based on timeSVD++; and the latest group recommendation algorithms WBF and MCS in the literature. For the DMA and SVD_Act algorithms, they correspond to the group recommendation algorithm based on member activity level after the rating matrix is filled by timeSVD++ and SVD, respectively.In terms of the experimental setup, we set up three group mining algorithms in our experiments, so that the above group recommendation methods have experimented under different group sizes mined by different group mining algorithms to verify their robustness and the effectiveness of the group mining algorithms proposed in this paper.


## 5.4. Experimental Results and Parameter Analysis

### 5.4.1. Experimental Results Analysis

To verify the improvement of the DMA algorithm, we conducted experiments at each group size corresponding to different group mining algorithms in the MovieLens dataset and the Netflix dataset and calculated their correspondingnDCG@10 and F-measure. To facilitate comparison, a consistent parameter was set in the SVD model and the timeSVD++ model, and Table 2 shows the details of the parameters we set in our experiments. As for the WBF and MCS algorithms, we referred to the experimental parameters in the relevant papers.Table 2
Details of experimental parameters.
ParameterMovieLensNetflixk (number of factors)2010λ (regularization coefficient)0.0040.002Max. iterations500500Threshold (in F-measure)33η (sliding window length)9090Tables3 and 4, respectively, show the experimental results of nDCG@10 under different group sizes corresponding to different group mining algorithms in the MovieLens and Netflix datasets. The group size is set to 5, 10, and 20, respectively, the recommended moment trec is selected randomly, and the number of recommendations N is set to 10.Table 3
Experimental results of nDCG@10 in MovieLens.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.8970.8780.8590.8010.8070.7910.1530.1760.159SVD_LM0.9110.8810.8390.8300.8390.8160.2130.2280.174SVD_MP0.8830.8230.7710.8110.7850.7380.1640.1570.102SVD_Act0.8810.8710.9150.8230.8200.8370.1600.1810.154timeSVD++_AVG0.90.8910.8680.8260.8310.8060.1720.2360.201timeSVD++_LM0.9150.8930.8630.8430.8530.8400.1960.2440.183timeSVD++_MP0.8960.8540.7790.8360.8150.7680.1920.1670.125WBF [34]0.8930.8970.8780.8780.8890.8500.1820.2160.185MCS [24]0.9010.8840.8670.8850.8760.8530.2090.2150.158DMA0.8920.9060.9290.8510.8770.8750.1970.2280.176Table 4
Experimental results of nDCG@10 in Netflix.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.8750.8540.8160.7860.8010.7680.1450.1650.116SVD_LM0.8920.8870.8560.8200.7980.7860.2240.2150.185SVD_MP0.8350.8140.7760.7140.7010.7180.1530.1530.118SVD_Act0.8640.8580.8740.8040.7930.7820.1730.1510.158timeSVD++_AVG0.8840.8730.8530.7900.8040.7720.1720.1790.126timeSVD++_LM0.9070.8850.8730.8370.8180.7900.2160.2390.179timeSVD++_MP0.8430.8260.7880.7520.7370.7280.1860.1630.120WBF [34]0.8970.8900.8620.8570.8270.8160.1790.2020.169MCS [24]0.9150.8970.8540.8740.8260.8040.2140.2050.163DMA0.8850.9150.9030.8440.8540.8260.1890.2140.172In the results shown in Tables3 and 4, DMA and SVD_Act are our proposed group recommendation algorithms. The following contents can be analyzed from the experimental results in Tables 3 and 4. Firstly, our proposed algorithm achieves better accuracy in group recommendations, further revealing the effectiveness of considering the activity level of group members when generating group recommendations. Secondly, the accuracy of the group recommendations generated by using the timeSVD++ model for rating prediction and combining with the corresponding rating aggregation strategies is significantly higher than that of the recommendations generated by using the SVD model. This is because the timeSVD++ model can accurately capture the interest drift of users and predict their preferences more precisely. Again, among the groups detected by different group mining algorithms, the group mining algorithm proposed in this paper presents better recommendation accuracy for the corresponding group size. This is because the proposed group mining algorithm can detect groups that are more similar internally, which results in fewer preference conflicts inside them, thus achieving higher recommendation accuracy. Finally, it can be observed that as the group size increases, the recommendation accuracy roughly presents a decreasing trend. The possible reason is that as the number of users in the group increases, the conflict within the group becomes all the more fierce, and the preferences become more difficult to aggregate, thus leading to a decrease in accuracy. But at the same time, as the number of members increases, the difference in activity level is bound to be exposed. Our algorithm slows down the decreasing trend of recommendation accuracy by analyzing the recent activity level of group members and aggregating the ratings based on it, which indicates the effectiveness of our algorithm from the side.Tables5 and 6, respectively, show the experimental results of F-measure under different group sizes corresponding to different group mining algorithms in the MovieLens and the Netflix datasets. The group size is set to 5, 10, and 20, respectively; the recommended moment trec is selected randomly; and the number of recommendations N is set to 10.Table 5
Experimental results of F-measure in MovieLens.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.7110.6530.5160.6120.5580.4320.1540.1280.101SVD_LM0.7020.5220.4620.5790.5360.4130.1050.0820.079SVD_MP0.6830.5170.4720.6170.5440.5020.1690.1340.119SVD_Act0.6980.5380.4960.5830.5600.5130.1350.1270.092timeSVD++_AVG0.7290.6720.5190.6250.5620.4530.1910.1690.139timeSVD++_LM0.7080.5430.4700.5850.5310.4220.1900.1540.118timeSVD++_MP0.6930.5470.4840.6220.5730.4960.2040.1690.115WBF [34]0.7420.6520.5780.6230.5620.4990.3420.3230.272MCS [24]0.7320.6780.6060.6460.5850.5160.3520.3110.264DMA0.7440.6640.6280.6130.5820.5480.3390.3260.289Table 6
Experimental results of F-measure in Netflix.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.5120.4670.4280.4320.3880.3280.1300.1340.114SVD_LM0.4840.4260.3790.3760.3140.2750.1470.1410.117SVD_MP0.4760.4180.3860.3350.3010.2840.1090.1070.098SVD_Act0.4620.4380.4010.3520.3170.2950.1310.1220.101timeSVD++_AVG0.5380.5190.4750.4630.4150.3670.1390.1420.125timeSVD++_LM0.5280.4870.4430.4240.3730.3390.1450.1360.130timeSVD++_MP0.5220.4630.4160.3970.3520.3160.1190.1090.098WBF [34]0.6040.5360.4830.4730.4250.3720.2440.2050.156MCS [24]0.6220.5610.5010.4950.4310.3950.2650.1990.164DMA0.6170.5720.5270.4620.4360.4140.2600.2360.191The experimental results of the F-measure are presented in Tables5 and 6. Firstly, compared with other baselines, our proposed algorithm obtains higher F-measures for different group sizes in different datasets in general, indicating that our algorithm performs better compared with other algorithms. Secondly, the F-measure obtained by combining the timeSVD++ model with the baseline algorithms is higher than those of the corresponding SVD model. One possible reason is that the timeSVD++ model can generate more accurate user ratings, which provides a better basis for subsequent rating aggregation, illustrating that predicting more accurate user preferences is an essential prerequisite for group preference aggregation. Again, compared to the MovieLens dataset, the F-measure computed in the Netflix dataset is lower overall, which may be caused by the Netflix dataset being too sparse. On the one hand, data sparsity leads to lower prediction accuracy; on the other hand, data sparsity also leads to poor performance of the group mining algorithm. Finally, it can be seen that among the three different group generation strategies, the value of F-measure under the groups detected by the group mining algorithm in this paper is higher, which further demonstrates the effectiveness of our proposed group mining algorithm. Therefore, in order to conduct subsequent experiments under more ideal conditions, all the groups we have used in the subsequent experiments are generated by our proposed group mining algorithm.


### 5.4.2. Parameter Analysis

(1) Number of Latent Factorsk. In the singular value decomposition, the value of k affects the accuracy of the prediction ratings. A small set of the k value will result in the latent features not being adequately represented, while a large set will increase the computational complexity. Therefore, we fixed the number of recommendations N as 10, the group size as 20, the sliding window length η as 90, and set k=5,10,15,20,25,30, to explore the specific effect of k on each group recommendation algorithm. Because the MCS algorithm is not based on singular value decomposition, it is out of the scope of this experiment. The experimental results are shown in Figure 8.Figure 8
Performance comparison of different algorithms at different values ofk in two datasets. (a) MovieLens-nDCG@10, (b) MovieLens-F, (c) Netflix-nDCG@10, and (d) Netflix-F.
(a)(b)(c)(d)We can draw the following conclusions based on the experimental results of Figure8 in both datasets. Firstly, the recommendation performance of the group recommendation algorithm based on the latent factor decomposition is significantly influenced by the value of k. This is reflected in the fact that the recommended performance becomes better when the value of k is gradually increased in the case of a smaller value than the optimal value, and it reaches the best value when k takes the optimal value at the same time. When it continues to increase with a value of k greater than the optimal value, the recommended performance starts to decrease. This may be due to the difference in the accuracy of the predicted ratings generated from different k values. The reason for this phenomenon may be due to the differences in data features in the two datasets. Again, it can be observed from the experimental results that the algorithm proposed in this paper achieves a better recommendation performance when all k values are optimal. Finally, considering the above analysis, we set k to 20 in the MovieLens dataset and k to 10 in the Netflix dataset in the subsequent experiments.(2) Number of RecommendationsN. In this experiment, the number of recommendations is set to N=10,20,30,40, and the remaining parameters are the same as above, to explore the specific effect of the number of recommendations on the performance of the group recommendation algorithm, and the experimental results are shown in Figure 9.Figure 9
Performance comparison of different algorithms on different number of recommendations in two datasets. (a) MovieLens-nDCG@10, (b) MovieLens-F, (c) Netflix-nDCG@10, and (d) Netflix-F.
(a)(b)(c)(d)According to the experimental results in Figure9, firstly, the algorithm performance shows an inverse ratio with the number of recommendations in both datasets. When the number of recommendations increases, the performance of the algorithms gradually decreases without exception. The possible reason is that the number of items liked by all members in the group is small, and when the number of recommendations increases, the items recommended afterward do not meet the needs of most members, thus leading to a decrease in recommendation performance. Secondly, it can also be seen from Figure 9 that the rate of decline of nDCG@10 is faster when the number of recommendations is between 10 and 20, while the rate of decline becomes slower after exceeding 20, which may be due to the small difference in the degree of preference of group members for subsequent recommended items. Finally, the algorithm of this paper shows better recommendation performance than other algorithms under the corresponding different recommendation quantities, which further verifies the effectiveness of the algorithm of this paper.(3) Sliding Time Window Length η. This experiment sets the sliding time window length to η=10,30,60,90,180,360, and the rest of the parameters are kept the same as above to explore the effect of the sliding time window length on our algorithm, and the experimental results are shown in Figure 10.Figure 10
Performance comparison of different algorithms at different lengths of sliding windows in two datasets. (a) MovieLens-nDCG@10, (b) MovieLens-F, (c) Netflix-nDCG@10, (d) Netflix-F.
(a)(b)(c)(d)According to the experimental results in Figure10, it can be seen that the algorithm in this paper is significantly influenced by the sliding long window. Firstly, when the sliding time window is small, the recommendation performance of the algorithm in this paper is poor. The possible reason is that the activity level calculated by the algorithm in this paper is more one-sided in the short sliding time window, which cannot capture the real activity level of the group members, thus making the recommended items more inclined to the very small number of recently active members and ignoring most of the rest members, which leads to the poor recommendation performance. Secondly, as the sliding time window gradually increases, the recommendation performance of the algorithm in this paper increases significantly and outperforms other baseline algorithms at a sliding time window size of 90. The baseline algorithms are not affected by the sliding time window because they do not take the time factor into account. Finally, as the sliding time window continues to increase, the recommendation performance of the algorithm in this paper gradually decreases, probably because after the sliding time window is set too large, the algorithm mines the activity level of group members too far away from the current moment, which has a biased impact on the investigation of the recent activity level, resulting in the inability to distinguish the difference of the recent activity level, thus leading to a decrease in the recommendation effect. To summarize the results of this experiment, the algorithm in this paper can achieve better recommendation results when the appropriate sliding time window size is set.


## 5.4.1. Experimental Results Analysis

To verify the improvement of the DMA algorithm, we conducted experiments at each group size corresponding to different group mining algorithms in the MovieLens dataset and the Netflix dataset and calculated their correspondingnDCG@10 and F-measure. To facilitate comparison, a consistent parameter was set in the SVD model and the timeSVD++ model, and Table 2 shows the details of the parameters we set in our experiments. As for the WBF and MCS algorithms, we referred to the experimental parameters in the relevant papers.Table 2
Details of experimental parameters.
ParameterMovieLensNetflixk (number of factors)2010λ (regularization coefficient)0.0040.002Max. iterations500500Threshold (in F-measure)33η (sliding window length)9090Tables3 and 4, respectively, show the experimental results of nDCG@10 under different group sizes corresponding to different group mining algorithms in the MovieLens and Netflix datasets. The group size is set to 5, 10, and 20, respectively, the recommended moment trec is selected randomly, and the number of recommendations N is set to 10.Table 3
Experimental results of nDCG@10 in MovieLens.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.8970.8780.8590.8010.8070.7910.1530.1760.159SVD_LM0.9110.8810.8390.8300.8390.8160.2130.2280.174SVD_MP0.8830.8230.7710.8110.7850.7380.1640.1570.102SVD_Act0.8810.8710.9150.8230.8200.8370.1600.1810.154timeSVD++_AVG0.90.8910.8680.8260.8310.8060.1720.2360.201timeSVD++_LM0.9150.8930.8630.8430.8530.8400.1960.2440.183timeSVD++_MP0.8960.8540.7790.8360.8150.7680.1920.1670.125WBF [34]0.8930.8970.8780.8780.8890.8500.1820.2160.185MCS [24]0.9010.8840.8670.8850.8760.8530.2090.2150.158DMA0.8920.9060.9290.8510.8770.8750.1970.2280.176Table 4
Experimental results of nDCG@10 in Netflix.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.8750.8540.8160.7860.8010.7680.1450.1650.116SVD_LM0.8920.8870.8560.8200.7980.7860.2240.2150.185SVD_MP0.8350.8140.7760.7140.7010.7180.1530.1530.118SVD_Act0.8640.8580.8740.8040.7930.7820.1730.1510.158timeSVD++_AVG0.8840.8730.8530.7900.8040.7720.1720.1790.126timeSVD++_LM0.9070.8850.8730.8370.8180.7900.2160.2390.179timeSVD++_MP0.8430.8260.7880.7520.7370.7280.1860.1630.120WBF [34]0.8970.8900.8620.8570.8270.8160.1790.2020.169MCS [24]0.9150.8970.8540.8740.8260.8040.2140.2050.163DMA0.8850.9150.9030.8440.8540.8260.1890.2140.172In the results shown in Tables3 and 4, DMA and SVD_Act are our proposed group recommendation algorithms. The following contents can be analyzed from the experimental results in Tables 3 and 4. Firstly, our proposed algorithm achieves better accuracy in group recommendations, further revealing the effectiveness of considering the activity level of group members when generating group recommendations. Secondly, the accuracy of the group recommendations generated by using the timeSVD++ model for rating prediction and combining with the corresponding rating aggregation strategies is significantly higher than that of the recommendations generated by using the SVD model. This is because the timeSVD++ model can accurately capture the interest drift of users and predict their preferences more precisely. Again, among the groups detected by different group mining algorithms, the group mining algorithm proposed in this paper presents better recommendation accuracy for the corresponding group size. This is because the proposed group mining algorithm can detect groups that are more similar internally, which results in fewer preference conflicts inside them, thus achieving higher recommendation accuracy. Finally, it can be observed that as the group size increases, the recommendation accuracy roughly presents a decreasing trend. The possible reason is that as the number of users in the group increases, the conflict within the group becomes all the more fierce, and the preferences become more difficult to aggregate, thus leading to a decrease in accuracy. But at the same time, as the number of members increases, the difference in activity level is bound to be exposed. Our algorithm slows down the decreasing trend of recommendation accuracy by analyzing the recent activity level of group members and aggregating the ratings based on it, which indicates the effectiveness of our algorithm from the side.Tables5 and 6, respectively, show the experimental results of F-measure under different group sizes corresponding to different group mining algorithms in the MovieLens and the Netflix datasets. The group size is set to 5, 10, and 20, respectively; the recommended moment trec is selected randomly; and the number of recommendations N is set to 10.Table 5
Experimental results of F-measure in MovieLens.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.7110.6530.5160.6120.5580.4320.1540.1280.101SVD_LM0.7020.5220.4620.5790.5360.4130.1050.0820.079SVD_MP0.6830.5170.4720.6170.5440.5020.1690.1340.119SVD_Act0.6980.5380.4960.5830.5600.5130.1350.1270.092timeSVD++_AVG0.7290.6720.5190.6250.5620.4530.1910.1690.139timeSVD++_LM0.7080.5430.4700.5850.5310.4220.1900.1540.118timeSVD++_MP0.6930.5470.4840.6220.5730.4960.2040.1690.115WBF [34]0.7420.6520.5780.6230.5620.4990.3420.3230.272MCS [24]0.7320.6780.6060.6460.5850.5160.3520.3110.264DMA0.7440.6640.6280.6130.5820.5480.3390.3260.289Table 6
Experimental results of F-measure in Netflix.
AlgorithmNMF + K-meansK-meansRandomly510205102051020SVD_AVG0.5120.4670.4280.4320.3880.3280.1300.1340.114SVD_LM0.4840.4260.3790.3760.3140.2750.1470.1410.117SVD_MP0.4760.4180.3860.3350.3010.2840.1090.1070.098SVD_Act0.4620.4380.4010.3520.3170.2950.1310.1220.101timeSVD++_AVG0.5380.5190.4750.4630.4150.3670.1390.1420.125timeSVD++_LM0.5280.4870.4430.4240.3730.3390.1450.1360.130timeSVD++_MP0.5220.4630.4160.3970.3520.3160.1190.1090.098WBF [34]0.6040.5360.4830.4730.4250.3720.2440.2050.156MCS [24]0.6220.5610.5010.4950.4310.3950.2650.1990.164DMA0.6170.5720.5270.4620.4360.4140.2600.2360.191The experimental results of the F-measure are presented in Tables5 and 6. Firstly, compared with other baselines, our proposed algorithm obtains higher F-measures for different group sizes in different datasets in general, indicating that our algorithm performs better compared with other algorithms. Secondly, the F-measure obtained by combining the timeSVD++ model with the baseline algorithms is higher than those of the corresponding SVD model. One possible reason is that the timeSVD++ model can generate more accurate user ratings, which provides a better basis for subsequent rating aggregation, illustrating that predicting more accurate user preferences is an essential prerequisite for group preference aggregation. Again, compared to the MovieLens dataset, the F-measure computed in the Netflix dataset is lower overall, which may be caused by the Netflix dataset being too sparse. On the one hand, data sparsity leads to lower prediction accuracy; on the other hand, data sparsity also leads to poor performance of the group mining algorithm. Finally, it can be seen that among the three different group generation strategies, the value of F-measure under the groups detected by the group mining algorithm in this paper is higher, which further demonstrates the effectiveness of our proposed group mining algorithm. Therefore, in order to conduct subsequent experiments under more ideal conditions, all the groups we have used in the subsequent experiments are generated by our proposed group mining algorithm.


## 5.4.2. Parameter Analysis

(1) Number of Latent Factorsk. In the singular value decomposition, the value of k affects the accuracy of the prediction ratings. A small set of the k value will result in the latent features not being adequately represented, while a large set will increase the computational complexity. Therefore, we fixed the number of recommendations N as 10, the group size as 20, the sliding window length η as 90, and set k=5,10,15,20,25,30, to explore the specific effect of k on each group recommendation algorithm. Because the MCS algorithm is not based on singular value decomposition, it is out of the scope of this experiment. The experimental results are shown in Figure 8.Figure 8
Performance comparison of different algorithms at different values ofk in two datasets. (a) MovieLens-nDCG@10, (b) MovieLens-F, (c) Netflix-nDCG@10, and (d) Netflix-F.
(a)(b)(c)(d)We can draw the following conclusions based on the experimental results of Figure8 in both datasets. Firstly, the recommendation performance of the group recommendation algorithm based on the latent factor decomposition is significantly influenced by the value of k. This is reflected in the fact that the recommended performance becomes better when the value of k is gradually increased in the case of a smaller value than the optimal value, and it reaches the best value when k takes the optimal value at the same time. When it continues to increase with a value of k greater than the optimal value, the recommended performance starts to decrease. This may be due to the difference in the accuracy of the predicted ratings generated from different k values. The reason for this phenomenon may be due to the differences in data features in the two datasets. Again, it can be observed from the experimental results that the algorithm proposed in this paper achieves a better recommendation performance when all k values are optimal. Finally, considering the above analysis, we set k to 20 in the MovieLens dataset and k to 10 in the Netflix dataset in the subsequent experiments.(2) Number of RecommendationsN. In this experiment, the number of recommendations is set to N=10,20,30,40, and the remaining parameters are the same as above, to explore the specific effect of the number of recommendations on the performance of the group recommendation algorithm, and the experimental results are shown in Figure 9.Figure 9
Performance comparison of different algorithms on different number of recommendations in two datasets. (a) MovieLens-nDCG@10, (b) MovieLens-F, (c) Netflix-nDCG@10, and (d) Netflix-F.
(a)(b)(c)(d)According to the experimental results in Figure9, firstly, the algorithm performance shows an inverse ratio with the number of recommendations in both datasets. When the number of recommendations increases, the performance of the algorithms gradually decreases without exception. The possible reason is that the number of items liked by all members in the group is small, and when the number of recommendations increases, the items recommended afterward do not meet the needs of most members, thus leading to a decrease in recommendation performance. Secondly, it can also be seen from Figure 9 that the rate of decline of nDCG@10 is faster when the number of recommendations is between 10 and 20, while the rate of decline becomes slower after exceeding 20, which may be due to the small difference in the degree of preference of group members for subsequent recommended items. Finally, the algorithm of this paper shows better recommendation performance than other algorithms under the corresponding different recommendation quantities, which further verifies the effectiveness of the algorithm of this paper.(3) Sliding Time Window Length η. This experiment sets the sliding time window length to η=10,30,60,90,180,360, and the rest of the parameters are kept the same as above to explore the effect of the sliding time window length on our algorithm, and the experimental results are shown in Figure 10.Figure 10
Performance comparison of different algorithms at different lengths of sliding windows in two datasets. (a) MovieLens-nDCG@10, (b) MovieLens-F, (c) Netflix-nDCG@10, (d) Netflix-F.
(a)(b)(c)(d)According to the experimental results in Figure10, it can be seen that the algorithm in this paper is significantly influenced by the sliding long window. Firstly, when the sliding time window is small, the recommendation performance of the algorithm in this paper is poor. The possible reason is that the activity level calculated by the algorithm in this paper is more one-sided in the short sliding time window, which cannot capture the real activity level of the group members, thus making the recommended items more inclined to the very small number of recently active members and ignoring most of the rest members, which leads to the poor recommendation performance. Secondly, as the sliding time window gradually increases, the recommendation performance of the algorithm in this paper increases significantly and outperforms other baseline algorithms at a sliding time window size of 90. The baseline algorithms are not affected by the sliding time window because they do not take the time factor into account. Finally, as the sliding time window continues to increase, the recommendation performance of the algorithm in this paper gradually decreases, probably because after the sliding time window is set too large, the algorithm mines the activity level of group members too far away from the current moment, which has a biased impact on the investigation of the recent activity level, resulting in the inability to distinguish the difference of the recent activity level, thus leading to a decrease in the recommendation effect. To summarize the results of this experiment, the algorithm in this paper can achieve better recommendation results when the appropriate sliding time window size is set.


## 6. Conclusion

We proposed a dynamic group recommendation algorithm based on member activity level. The algorithm first captured the interest drift of users by using the existing time-series-oriented personalized recommendation algorithm, mined the recent activity level of group members by designing a sliding time window based on improving the accuracy of user preference prediction, and constructed a group model by combining the recent activity level of members for preference aggregation to generate a group recommendation list. The effectiveness of our algorithm is verified by performing experiments on publicly available datasets.Although our research can effectively improve the performance of group recommendations by mining the recent activity level of members, deeper exploration is still needed in future work. On the one hand, the concept of recent is vague, and it relies too much on real factors such as industry rules and data distribution, which need to be determined by repeated experiments in practical application scenarios. Therefore, it is worthwhile to explore how to summarize the general rules of different industries and fields based on the distribution and trends of data in the next step. On the other hand, new group recommendation algorithms also require further exploration by researchers.



---

*Source: 1969118-2021-08-29.xml*