Zahra Vahidi Ferdousi
email: zahra.vahidiferdousi@dauhphine.fr

Dario Colazzo
email: dario.colazzo@dauhphine.fr

Elsa Negre
email: elsa.negre@dauhphine.fr

CBPF: leveraging context and content information for better recommendations

Keywords: Context-Aware Recommender System, Contextual Information Integration, Pre-Filtering Recommender System

Recommender systems help users to find their appropriate items among large volumes of information. Different types of recommender systems have been proposed. Among these, context-aware recommender systems aim at personalizing as much as possible the recommendations based on the context situation in which the user is. In this paper we present an approach integrating contextual information into the recommendation process by modeling either item-based or userbased influence of the context on ratings, using the Pearson Correlation Coefficient. The proposed solution aims at taking advantage of content and contextual information in the recommendation process. We evaluate and show effectiveness of our approach on three different contextual datasets and analyze the performances of the variants of our approach based on the characteristics of these datasets, especially the sparsity level of the input data and amount of available information.

Introduction

Nowadays, we are faced with a rise of the amount of data on the web, provided by different sources. As a consequence, a user can quickly be overwhelmed by the huge volume of information. Recommender systems (RS) [START_REF] Jannach | Recommender systems: an introduction[END_REF] aim to help the user to find her appropriate information among all others. Recommendations are principally based on two main approaches: content-based and collaborative filtering. In the former, characteristics of items/users are used to find and recommend similar items to the ones the user liked in the past. In the latter approach, similar users are found based on the previous users' preferences, then items that these similar users liked in the past are recommended. These traditional recommender systems have proved their effectiveness in different areas [START_REF] Ricci | Introduction to recommender systems handbook[END_REF], including music, movies, places of interest, news, research articles, online courses, etc. But they have the limitation of not considering the contextual situation in which the user is, at the moment she wants to use the item. In fact this information can roughly influence her preferences for items [START_REF] Adomavicius | Context-aware recommender systems[END_REF]. As an example, when choosing a movie to watch, the user will have different preferences depending on whether she wants to watch the movie with a kid or with her partner. In this case, a context-aware recommender system (CARS), integrating such contextual information about the user in the recommendation process, can provide more relevant recommendations [START_REF] Adomavicius | Incorporating contextual information in recommender systems using a multidimensional approach[END_REF]. A particular class of CARSs are based on pre-filtering, based on the idea of preprocesing contextual data so as to tune the input of a given (traditional) RS in order to increase its effectiveness. Along the lines of a preliminary investigation presented in the workshop paper [START_REF] Vahidi Ferdousi | Correlation-based pre-filtering for context-aware recommendation[END_REF], where we proposed a pre-filtering CARS that integrates contextual information about users by modeling them with itembased influence of context on ratings, in this paper we propose the user-based version of this approach, and we present here results on a much more extensive experimental analysis. With respect to CARS state of the art (discussed later on) our approach, named Correlation-Based Pre-Filtering is, in a sense, more user-centric, as we propose to model item/user-based influence based on the item-or user-based Pearson Correlation Coefficient (PCC) [START_REF] Benesty | Pearson correlation coefficient[END_REF] between context and ratings. The distinctive feature of using PCC allows us to catch more precisely the influence of context on ratings, and so to compute more accurate similarities between contexts, which is a crucial point in our pre-filtering process. In addition, we use content information about items/users to improve our model, like, for instance, the category of a film or the age or gender of users. Our experimental analysis on three typically used datasets show improvements over state of the art approaches. With respect to our preliminary investigation presented in the workshop paper [START_REF] Vahidi Ferdousi | Correlation-based pre-filtering for context-aware recommendation[END_REF], in this paper our new contributions are the followings: we propose to model the context by relying on the user-based influence of contexts on ratings; we compare the item-and user-based approaches, and study the cases where each one of these versions can perform the best. In our experimental analysis we use three different datasets from three different domains to highlight previously unseen properties. And we demonstrate that our approach can deal well with either sparse or dense data.

The remainder of the paper is organized as follows: in the next section we present a state of the art of the subject. In Section 3 we describe our approach. In Sections 4 and 5 we respectively describe the setup and results of our experimental analysis. Finally we discuss our results and make conclusive remarks.

Related Work

CARSs aim to take into account the users' contextual information, in the most efficient way, in order to propose more relevant and personalized recommendations [START_REF] Adomavicius | Context-aware recommender systems[END_REF]. So instead of the 2D rating function of traditional RSs (R : user × item → rating), in CARSs we have the multidimensional function, R : user × item × context → rating [START_REF] Adomavicius | Incorporating contextual information in recommender systems using a multidimensional approach[END_REF]. The context of a user is composed of a number of context factors like time, location, weather, companion, etc. To each one of these context factors some values can be associated, called context conditions. For example possible context conditions for time could be morning, afternoon, evening and night, and for companion could be alone, friend, family, etc. The integration of contextual information in CARSs can be done by relying on either pre-filtering, post-filtering or contextual modeling [START_REF] Adomavicius | Context-aware recommender systems[END_REF]:

In pre-filtering approaches, contextual information is used to select only appropriate data for the target user's context situation, and then a traditional recommendation technique is applied on this selection. Numerous approaches have been proposed in this category. We can mention: the reduction-based approach [START_REF] Adomavicius | Incorporating contextual information in recommender systems using a multidimensional approach[END_REF], with its two variants exact pre-filtering and generalized pre-filtering; the splitting approaches: item-splitting [START_REF] Baltrunas | Experimental evaluation of context-dependent collaborative filtering using item splitting[END_REF], user-splitting [START_REF] Baltrunas | Towards time-dependant recommendation based on implicit feedback[END_REF] and UI-splitting [START_REF] Zheng | Splitting approaches for context-aware recommendation: An empirical study[END_REF]; the differential context modeling approach, and its two variants differential context relaxation (DCR) and differential context weighting (DCW), proposed in [START_REF] Zheng | Optimal feature selection for context-aware recommendation using differential relaxation[END_REF]; and the distributional semantic pre-filtering approach [START_REF] Codina | Distributional semantic pre-filtering in context-aware recommender systems[END_REF].

Contextual modeling approaches try to extend traditional recommendation techniques by integrating directly contextual information into the recommendation algorithm. Some of the most popular propositions in this category are the following: Tensor factorization (TF) and its variants multiverse recommendation [START_REF] Karatzoglou | Multiverse recommendation: n-dimensional tensor factorization for context-aware collaborative filtering[END_REF] and factorization machine [START_REF] Rendle | Fast contextaware recommendations with factorization machines[END_REF]; the deviation-based context-aware matrix factorization (CAMF) [START_REF] Baltrunas | Matrix factorization techniques for context aware recommendation[END_REF] with its several derived model: CAMF-C, CAMF-CI, CAMF-CC and CAMF-CU ; contextual sparse linear method (CSLIM) [START_REF] Zheng | Cslim: Contextual slim recommendation algorithms[END_REF]; the similarity-based approaches of CAMF and CSLIM [START_REF] Zheng | Similarity-based context-aware recommendation[END_REF] with their three versions ICS, LCS and MCS ; and the context-aware collaborative filtering proposed by [START_REF] Chen | Context-aware collaborative filtering system: Predicting the user's preference in the ubiquitous computing environment[END_REF].

In post-filtering approaches, first a context-free recommendation algorithm is applied on the data and then the resulting recommendation list is contextualized by filtering or reordering items. This category of approach has received less attention than the two previous categories, but we can still cite the weight postfiltering and filter post-filtering approaches proposed by [START_REF] Panniello | Experimental comparison of pre-vs. post-filtering approaches in context-aware recommender systems[END_REF]; and the contentbased post-filtering model [START_REF] Hayes | Context boosting collaborative recommendations[END_REF]. Among these previous approaches, we are especially interested into the following approaches: DSPF, deviation-based and similarity based CAMF and DCM, which are the most similar to our approach. In fact, they try to model the influence of the context on their model, but based on different points of view: DSPF [START_REF] Codina | Distributional semantic pre-filtering in context-aware recommender systems[END_REF] models the influence of context on ratings based on the difference between context-free rating and the rating given in the specific context. But, differently from our technique, this influence computation is not user-centric enough because of the way the context-free rating is estimated [START_REF] Vahidi Ferdousi | Correlation-based pre-filtering for context-aware recommendation[END_REF]. In fact they have represented each context condition (c) by a vector (w c ) containing the item-based or user-based influence of the context condition in ratings. For example in the item-based case, the influence of the context condition c in ratings of item i, noted as w ci , is computed based on the difference between the rating done by a user u for item i in this context situation, r uic , and the predicted context-free rating, rui , as follows.

w ci = 1 |R ic | + β ruic∈Ric (r uic -rui ) (1)
where R ic is the set of ratings for item i in condition c, and β is a decay factor for decreasing the estimated deviation when |R ic | is small. This context-free rating, rui , was calculated by the baseline context-free predictor of [START_REF] Koren | Advances in collaborative filtering[END_REF], which is the sum of the overall average ratings (µ) and the observed deviations of user u (b u ) and item i

(b i ): rui = µ + b u + b i .
After computing the representation of each context condition (w c = [w ci1 w ci2 w ci3 ...]), the contextual situation representation (w s ) was made by an aggregation of the context conditions which composed this context (equation 2).

w s = 1 |C| c∈s w c (2)
In this proposition, the basic idea of representing the context by computing the item-based or user-based influence of contexts on ratings is effective, but the computation of the context-free ratings (r ui = µ+b u +b i ) is only behavior-based and not personalized. Imagine we want to estimate the context-free ratings of an over-rated science-fiction movie by two users who have radical different interests (one who loves science-fiction movies and the other one who hates them). In this case, contrary to what is expected, the estimated ratings will be the same for these two persons. Therefore the influence calculated by this measure would be biased, and not user-centric enough.

CAMF [START_REF] Baltrunas | Matrix factorization techniques for context aware recommendation[END_REF] is an extension of matrix factorization [START_REF] Koren | Matrix factorization techniques for recommender systems[END_REF]. The deviation-based version tries to take into account the context situation of users by integrating additional model parameters in the matrix factorization equation. And the similaritybased version integrates a similarity function that estimates the similarity between a contextual situation and a non-contextual situation. These CAMF approaches proved their effectiveness to improve recommendation performance in comparison to context-free recommendation and some of the context-aware recommendation approaches, but like other contextual modeling approaches, and differently from ours, they have the disadvantage of needing to be implemented from scratch, with no possibility of re-using recommendation techniques already in production. DCM [START_REF] Zheng | Optimal feature selection for context-aware recommendation using differential relaxation[END_REF] is based on the user-based collaborative filtering algorithm [START_REF] Su | A survey of collaborative filtering techniques[END_REF]. The authors propose to separate the algorithm into different functional components, and apply differential context constraints to each component, in order to maximize the performance of the whole algorithm. Differently, our approach try to model the context from a different point of view.

Methodology

In this paper we propose a new pre-filtering approach, based on the influence of context on ratings, by modeling it based on the user-based correlation between context and ratings, computed by the Pearson Correlation Coefficient.

A recommendation problem is often viewed as a matrix/tensor completion problem. A recommender system will firstly estimate missing ratings, and then it will recommend to each user her corresponding items with higher estimated rates. In the case of pre-filtering CARSs, we want to integrate the contextual information into the estimation phase of missing ratings. Our correlation-based pre-filtering approach, like the reduction-based pre-filtering approach [START_REF] Adomavicius | Incorporating contextual information in recommender systems using a multidimensional approach[END_REF], makes the hypothesis that a user will rate an item similarly in two similar contexts. Based on this hypothesis, to recommend an item to a user in a specific context, we can identify ratings given in similar contexts of this specific context, and apply a traditional 2D recommendation technique on this selection. The whole recommendation process can be decomposed in five steps:

Step 1 : To be able to find similar contexts, we need a strong representation of context. In [START_REF] Vahidi Ferdousi | Correlation-based pre-filtering for context-aware recommendation[END_REF] we proposed to represent contexts based on their item-based influence on ratings. In fact, the context can influence the ratings differently, according to items. For example in the case of points of interest recommendation, a snowy weather will have a positive influence on some winter sport centers, but a negative influence on natural parks. This is why it is important to compute this influence according to items.

In this paper we propose to represent contexts based on their user-based influence on ratings. Indeed, we can say that the influence of context on ratings also depends on users, and will differ from one user to another. For example, a "family person" could like to practise activities with her family, whereas another person may not like this and prefer to practise activities with her friends. So the social context will influence differently these two persons.

We can compute this influence by calculating the Pearson Correlation Coefficient (PCC) of the rating variable r, and each context condition variable c j , with j ∈ [1, n], where n is the total number of context condition variables. We choose this correlation measure because in statistics, PCC is widely used to measure the strength of linear association between two variables, and this corresponds to what we want, since we want to catch the influence of context conditions on ratings. In a context-aware environment, an observation will be the cross-tabulation of the variables of user, item, rating and m different context factors (e.g. daytype, season, location, social, etc). To apply PCC, we transform context factors into binary variables. So let us denote with X t = (u t , i t , r t , c 1t , c 2t , ..., c nt ) the t th observation, which represents the evaluation r t of the user u t for the item i t in the context situation c 1t , c 2t , ..., c nt , where as said before, n is the total number of context conditions, and c mt = 1 means that the m-th context condition is present in the context of the user, and c mt = 0 means that it is not present. For instance, in a movie RS with a notation from 1 to 5 stars, X 1 = (John, Star Wars, 4, weekend=1, workingday=0, holiday=0, summer=1, winter=0, spring=0, autumn=0, home=1, public place=0, friend's home=0, alone=1, part-ner=0, friends=0) means that John had evaluated the movie Star Wars by 4 stars, when he watched the movie alone, at home in a weekend of summer. So the user-based correlation between the rating r and a context condition c j is calculated as follows in Equation 3.

w cj u = P CC u (r, c j ) = k∈K (r k -r u )(c jk -c u ) k∈K (r k -r u ) 2 k∈K (c jk -c u ) 2 (3)
where K is the set of observations X k = (u, i k , r k , c 1k , c 2k , ..., c nk ) with user u, r u is the mean of the ratings given by the user u, while c u is the mean value of the context condition c over observations for user u.

Based on the above explanations, we can build a vector representation for each context condition. The size of this vector will be the total number of users, and the values (between -1 and 1) of this vector are equal to the user-based PCC between the rating vector and the binary context condition vector. In real world recommendation problems, the total number of users is often very large, and the correlation calculation would be computationally consuming. To overcome this computational cost we propose to cluster users into a limited number of groups, and to compute the influence based on clusters of users. This clustering could be done based on the available static information about users' characteristics (e.g. age, sex, etc), or directly based on the ratings.

Figure 1 illustrates some examples of the resulting context condition representations.

Step 2: We can now represent each context situation based on its composing context conditions. This representation can be obtained in two ways:

-Aggregation: Each context situation can be represented by a vector with values equal to the mean aggregation of the values of its corresponding composed context condition, as illustrated in Figure 2 (also used by [START_REF] Codina | Distributional semantic pre-filtering in context-aware recommender systems[END_REF]). -Concatenation: In order to limit the risk of neutralizing the influence of each context condition by the aggregation [START_REF] Vahidi Ferdousi | Correlation-based pre-filtering for context-aware recommendation[END_REF], we can represent a context situation with a larger vector built from the concatenation of its composing context conditions (Figure 3).

Step 3: Now, we can find the contexts most similar to the target context situation s * by computing the similarity between every context situation s and the target context situation s * , based on the cosine similarity between their vector representations (equation 4, where d is the dimension of the context representation vector -→ w s ).

sim(s, s * ) = cosine( -→ w s , --→ w s * ) = w T s w s * d i=0 w 2 s,i d i=0 w 2 s * ,i (4)
Step 4: We select the ratings given in the similar context situations, and make a local dataset.

Step 5: We then apply a traditional 2D recommendation technique on this selection of ratings (local dataset), to obtain recommendations (local model ).

Experimental Analysis

In this section, we report about our experimental analysis. We first describe the three datasets that we used, we then report about parameters used in our approach, and the metrics for experimental evaluation.

Datasets

We evaluated our approach on three real world datasets, which are well-known among the CARS community: (a) CoMoDa, a contextual dataset for movie recommendation, collected from surveys [START_REF] Košir | Database for contextual personalization[END_REF] 1 illustrates some descriptive statistics about these datasets. Note that we calculated the sparsity by means of the following formula:

1 -

#ratings #users × #items

As Table 1 shows, contrary to the Music dataset, the two first datasets are very sparse. In addition, as mentioned before, the Music dataset has the disadvantage of a lack of fully context situation information. The ratings of the three datasets go from 1 to 5. But the distribution of the ratings are not similar: in CoMoDa and STS, the items are mostly well rated, with a mean of around 3.5 and a median of 4. But in the Music dataset, the rating distribution is more important in the middle and lower part. In fact we have a median of 2 and a mean of 2.37.

Modeling Parameters

In this section, we will explain some modeling parameters such as the clustering process, the context similarity threshold and the context-free algorithm used in our experimentations, in order to ensure the reproducibility.

The item/user clustering in the first step needs some pre-treatments: Firstly we have put aside non-characteristic parameters of items/users, like actors and directors in the CoMoDa dataset, and artist in the Music dataset. By non-characteristic, we mean that they will not be of help for clustering, as each one has a huge number of possible values in comparison to the total number of items/users. Generally, items' or users' characteristics are a mixture of numerical and nominal variables. We have made these uniform by transforming numerical variables such as year and budget of movies in CoMoDa, and age of users in CoMoDa and STS datasets (note that we transform birthday to age in the STS dataset, for an easier treatment). For the year variable we have created two classes: ancient movies, those realized before 1988, and recent movies, realized after this date.

For the budget variable, we have made tree segmentations of weak budget (less than 18,000,000 $), moderate budget (between 18,000,000 and 50,000,000 $) and large budget (more than 50,000,000 $). And for age, we grouped by interval of 5 years.

In some cases where we do not have equally distributed values of variables, a grouping is needed: in CoMoDa, for movie language, we have 28 different languages, but 88.61% of movies are in English. So we have replaced the values of languages other than English by a new value "other", and we have done a similar treatment for the movie country variable; in STS, the Point Of Interest (POI) category is defined by a number from 1 to 29. We have kept the POI categories 1, 3, 4 and 9, and we have grouped all others in a single cluster, because the frequency of each one was less than 5% of the total. After these pre-treatments, we can cluster items or users. Depending on the available information about items' or users' characteristics, two strategies exist for the clustering:

in case of more than one available characteristic, we can apply a standard clustering algorithm like HC (Hierarchical Clustering) based on these characteristics. We choose the Hierarchical Clustering (HC) technique, which contrary to k-means does not require a pre-defined number of clusters. HC uses a bottom-up approach, it starts to place each item in a cluster, and iteratively merges the two closest clusters, until all the items are merged into a single cluster. -otherwise, if we have only one characteristic (e.g. POI category in STS or music category in Music datasets), we can directly use this variable as cluster identifier.

So we applied HC on the items and users of CoMoDa. As result, the best segmentation proposed was 4 items' clusters and 5 users' clusters. In the case of STS, we obtain 2 clusters of users by HC. But for clustering items, as we had only one characteristic about them, which is the POI category, we used it directly as cluster number. And finally for Music, where we had 2 characteristics about items, the artist name and the music category, we used the music category, which is between 1 and 10, as items cluster number.

In step 3 we need to set a similarity threshold for identifying the most similar contexts. Empirically, we set this threshold equal to 0.5, which means that when we want to select local datasets, we select ratings that have been given in context situations which are more than 50% similar to the target user's context situation.

The traditional (context-free) recommendation technique used in the last step of our approach is the Biased Matrix Factorization model [START_REF] Koren | Matrix factorization techniques for recommender systems[END_REF], which is one of the best-performing techniques reported in the state of the art [START_REF] Codina | Distributional semantic pre-filtering in context-aware recommender systems[END_REF] (from LibRec Java API [START_REF] Guo | Librec: A java library for recommender systems[END_REF]).

Evaluation Parameters

For the evaluation of our approach, we avoided to exclude items or users with low counts, in order to match as closely as possible the conditions of real recommendation applications. Due to the relatively small size of our dataset, we evaluated our approach based on 5-fold cross-validation. As many researches in the domain, we used MAE (Mean Absolute Error) and RMSE (Root Mean Squared Error) metrics to evaluate the rating estimation. These metrics compute the difference between the actual and predicted ratings, but the RMSE penalizes large errors more. Lower values of these metrics show better performances. Note that, because of the relatively small size of the datasets, we didn't use metrics such as precision and recall, where we will obtain very low values.

Results and Discussion

We evaluated our approach in 3 steps: (a) we compared the performances of the derived versions of our approach with each other, (b) we compared our contextaware recommendation approach with a context-free recommendation approach and two baselines, and (c) we compared our approach with similar state of the art CARS approaches to ours. Table 2 illustrates the performances of the derived techniques of our approach, in terms of rating estimation. CBPF-IB and CBPF-UB refer to the item-and user-based correlation model, CBPF-CIB-AG and CBPF-CUB-AG refer to the correlation models based on the cluster of items or users, with the aggregation technique, and finally CBPF-CIB-CN and CBPF-CUB-CN refer to the same model, but with the concatenation technique. As expected, the last version, which is the cluster-based approach with the concatenation technique for the context representation (CBPF-CIB-CN and CBPF-CUB-CN ), has the best performances. In fact by clustering items/users we not only gain in term of computation cost but also in term of performance. We can explain this gained performance by the fact that in general, a correlation computation gives more precise results with a larger number of data. And the clustering allows to gather more data together, and so results on a better correlation computation and global performance. Moreover, the concatenation technique allows to preserve the real influence of each one of the context conditions, and so to gain in performance.

Another interesting point is that there is not a single winner between the itembased influence model and the user-based. As we can see in the table, contrary to STS, where CBPF-CUB-CN has the best performance, in CoModa, the itembased model gives better results (with CBPF-CIB-CN ). So we can say that the choice between the item-or user-based model depends on the data, and in particular on the amount of available information about items'/users' characteristics.

In fact, as Table 1 shows, for CoMoDa, we have more characteristics about items than about users, while the opposite holds for STS. So we can say that having more items' or users' characteristics implies better clusters. And as a result, we will be able to compute more relevant correlations and create a better model to do the recommendations. Note that we couldn't compare this effect on the Music dataset, because we did not have information about users' characteristics.

Figure 4 illustrates the MAE improvement that our approach makes over the context-free recommendation and the baselines. The context-free recommendation technique used in this experimentation is a Matrix Factorization (MF) technique named BiasedMF [START_REF] Koren | Matrix factorization techniques for recommender systems[END_REF]. The comparison of our context-aware recommendation and this context-free matrix factorization confirms that users' contextual information can help the recommender to improve its performance. As baselines, we used the exact pre-filtering approach [START_REF] Adomavicius | Incorporating contextual information in recommender systems using a multidimensional approach[END_REF] and a second baseline (binary pre-filtering) that we built as follow: we represented the context by means of a binary vector with a size equal to the total number of context conditions, where the value of each cell is equal to condition is present in the context situation, or equal to 0 if it is not present. We did a pre-filtering recommendation using this binary context representation.

As the Figure 4 shows, our approach outperforms these two baselines. The improvement over the exact pre-filtering shows that the idea of filtering the ratings based on the ones done in similar contexts is effective. And the improvement over the binary pre-filtering shows the positive effect of representing the context based on the influence of context on ratings. Finally, we compared our approach with four state of the art approaches, which are more closer to our approach: (a) DSPF (Distributional Semantic Pre-Filtering) [START_REF] Codina | Distributional semantic pre-filtering in context-aware recommender systems[END_REF], (b) Deviation-based CAMF (Context-Aware Matrix Factorization) [START_REF] Baltrunas | Matrix factorization techniques for context aware recommendation[END_REF], (c) Similarity-based CAMF [START_REF] Zheng | Similarity-based context-aware recommendation[END_REF] and (d) DCM (Differential Context Modeling) [START_REF] Zheng | Optimal feature selection for context-aware recommendation using differential relaxation[END_REF]. In fact DSPF and deviation-based CAMF approaches try to model the context based on the influence of contexts on ratings, and similaritybased CAMF, DCM and DSPF uses the similarities among contexts in their approaches. Each one of these approaches have different versions (cited in Sec-tion 2). We tested all the possible versions, and the performances of the best version of each approach, in terms of rating estimation are illustrated in Table 3 for each dataset. We tested the state of the art algorithms by relying on the CARSkit Java API [START_REF] Zheng | Carskit: A java-based context-aware recommendation engine[END_REF]. So for the CoMoDa dataset, we report the performances of CBPF-CI-CN, DSPF-IB, CAMF-CU, CAMF-ICS and DCW. For STS : CBPF-CU-CN, DSPF-IB, CAMF-CU, CAMF-ICS and DCW, and for Music: CBPF-CI-CN, DSPF-UB, CAMF-CU, CAMF-ICS and DCW. The reported results are average of multiple executions based on 5-fold crossvalidation. For each dataset, the values in bold are statistically significant better (95% confidence level) than other approaches. The statistical significance has been calculated using the Wilcoxon rank test. The illustrated performances in Table 3 show that, for all the three datasets, our approach can have better or comparable performances in comparison to state of the art (lower values of these metrics show better performances). Note that when comparing to CAMF, we obtain better, even if comparable, performances. However, our pre-filtering approach has the important advantage of being easily pluggable into any existing recommender system which is already in production, in order to improve it, while adopting CAMF would imply to re-implement the whole process.

Finally, we can state that our proposed modeling approach is able to produce good performances on roughly different datasets from various domains. In fact, the three datasets used in our experimentations are from three different domains (movie, tourism and music), with different characteristics in terms of density, rating distribution and the number of available context and content information. Moreover, clustering items or users has shown to have beneficial effect. In fact, our results indicate that grouping items or users can roughly help the model to catch more significantly the influence of context on ratings.

Conclusions and Further Work

In this paper, we present a correlation-based pre-filtering (CBPF) approach, that integrates contextual information into the recommendation process by modeling the influence of the context on ratings. This influence is computed by the itemor user-based Pearson Correlation Coefficient (PCC) between the context and the ratings. CPBF tries to take advantage of content and context information in its recommendation process to improve its performances. In our experimental analysis, we evaluate our approach on three different contextual datasets (Comoda, STS and Music), and analyze performances based on the characteristics of these datasets. Experiments validate the positive effect of taking into account contextual information about the user in the recommendation process, and show that our approach outperforms state of the art techniques in most cases. Furthermore, experimental results show that the PCC can efficiently catch the influence of context on ratings. Also, due to the large number of items/users, grouping them not only reduces computational cost, but also increases performances.

As just mentioned, by clustering items/users, we gain in terms of computation cost. We can gain even more by clustering context situations. So in the future, we would like to apply a clustering on context situations (like [START_REF] Codina | Distributional semantic pre-filtering in context-aware recommender systems[END_REF]) to limit the local model building computations. In our approach, we compute the influence of context on ratings based on the PCC. In the future we plan to test other statistical models (e.g., ANOVA) for the correlation computation.

In our experiments we cluster items/users based on their available characteristics information. But this kind of information is not always available, so it would be interesting to test other clustering strategies, like clustering items/users based on ratings. In real world applications, not all context factors have the same importance and impact on ratings. Depending on the application, some context factors can play a more important role than others. For example, in the case of recipe recommendation, factors like season, available tools around the user, and her cooking competence would be more important. While in music recommendation, activity and psychological context would be more influencing. So in future work we plan to take this fact into consideration, and rely on weighted context factors, based on their importance.

Fig. 1 .

 1 Fig. 1. Examples of representation of cluster-based context condition (Step 1)

Fig. 2 .Fig. 3 .

 23 Fig. 2. Examples of representation of context situation by aggregation (Step 2)

  . In this dataset, context situations are defined by 12 different context factors: time, day type, season, location, weather, social context, end emotion, dominant emotion, mood, physical context, decision and interaction, (b) STS[START_REF] Braunhofer | Context-aware points of interest suggestion with dynamic weather data management[END_REF], a tourism dataset, containing contextual ratings for places of interest, collected using a mobile tourist application. In this dataset, context situations are expressed using 14 context factors: distance, available time, temperature, crowdedness, knowledge of surroundings, season, budget, day time, weather, companion, mood, weekday, travel goal and means of transport. And (c) the Music dataset, contains ratings for contextual music recommendation, collected by an in-car music recommender developed by[START_REF] Baltrunas | Incarmusic: Context-aware music recommendations in a car[END_REF]. In this dataset we have a total number of 8 context factors (driving style, landscape, mood, natural phenomena, road type, sleepiness, traffic conditions and weather ), but it has this specificity that for each context situation, the value of only one context factor is known. Table

Table 1 .

 1 Datasets' descriptive statistics

	Characteristics	CoMoDa STS Music
	#ratings	2296	2534 4012
	#users	121	325	42
	#items	1197	249	139
	rating scale	1-5	1-5	1-5
	rating's mean	3.83	3.47	2.37
	rating's median	4	4	2
	rating's standard deviation	1.05	1.29	1.48
	sparsity	98.41% 96.86% 31.27%
	#context factors	12	14	8
	#context conditions	49	59	26
	#items characteristics	7	1	2
	#users characteristics	2	7	0

Table 2 .

 2 MAE/RMSE of the derived techniques of our CBPF approach

		CoMoDa	STS	Music
	Models	MAE RMSE MAE RMSE MAE RMSE
	CBPF-IB	0.84 1.055 0.95 1.19 1.25 1.50
	CBPF-CIB-AG 0.82 1.03 0.84 1.08 1.05 1.29
	CBPF-CIB-CN 0.73 0.93 0.82 1.03 0.72 0.87
	CBPF-UB	0.85 1.06 0.96 1.20 1.06 1.30
	CBPF-CUB-AG 0.83 1.04 0.85 1.08	-	-
	CBPF-CUB-CN 0.81 1.02 0.80 1.02 -	-

  1 if the corresponding context

	#MAE Improvement (%)	20 40	15.9 14.3 12.1	19.3 15.9 28.3	27.6 38.8 43.2
			CoMoDa	STS	Music
		MF Exact Pre-filtering Binary Pre-filtering
	Fig. 4. MAE improvement (%) of our approach with respect to context-free MF and
	baselines

Table 3 .

 3 Comparison with state of the art

		CoMoDa	STS	Music
	Models	MAE RMSE MAE RMSE MAE RMSE
	CBPF	0.73 0.93 0.80 1.02 0.72 0.87
	DSPF	0.86 1.08 1.26 1.62 1.76 2.49
	Deviation-based CAMF 0.76 1.02 1.03 1.37 0.82 1.06
	Similarity-based CAMF 0.73 0.92 0.94 1.17 0.72 1.09
	DCM	0.79 1.04 0.96 1.24 1.11 1.41

Powered by TCPDF (www.tcpdf.org)


domain: spi phys math info

text:
Christian Musso
email: christian.musso@onera.fr

Patrick Fabiani
email: patrick.fabiani@isae-supaero.fr

Three-dimensional Tracking with Angle Measurements without Observer Maneuver

Passive target estimation is a widely investigated problem of practical interest. We are concerned specifically with an autonomous flight system developed onboard the ONERA ReSSAC unmanned helicopter. This helicopter is equipped with a (visible or infrared) camera and so is able to measure azimuths and elevation angles of a target. The latter is supposed to follow a constant velocity motion. It is well known that observer must maneuver in order to insure the observability of the target state. We are interested in tracking partly the target state when both the observer and the target have a constant velocity model in a three-dimensional space. We describe the set of all the trajectories compatible with the angle measurements and we propose a quick method to estimate these trajectories.

I. INTRODUCTION

Passive target estimation is a widely investigated problem of practical interest. We are concerned specifically with an autonomous flight system developed onboard the ONERA ReSSAC unmanned helicopter [START_REF] Watanabe | The onera ressac unmanned autonomous helicopter: Visual air-to-ground target tracking in an urban environment[END_REF]. This helicopter is equipped with a (visible or infrared) camera and so is able to perform lines of sight of the targets. More generally, we consider a single moving observer which measures the azimuths and the elevation angles of a moving target in a three-dimensional space. If all measurements are derived from a single observer and consist of angles only, it is well known that target state observability is warranted only under specific conditions on the observer trajectory. The observer must maneuver in order to insure the observability of the target state. Optimal maneuvers have been studied for the purpose of improving the accuracy of the target estimation for bearing-only tracking [START_REF] Passerieux | Optimal observer maneuver for bearings-only tracking[END_REF], [START_REF] Le | Optimizing the receiver maneuvers for bearings-only tracking[END_REF], [START_REF] Le | Properties of estimability criteria for target motion analysis[END_REF]. The aim of the paper is to describe and to estimate the set of all the trajectories (called ambiguous) compatible with the angle measurements in case were both the observer and the target follow a constant velocity motion. This kind of problem has been studied in bearings only tracking in a two-dimensional space like in [START_REF] Jauffret | Bearings-only tma without observer maneuver[END_REF]. In the three-dimensional context, the ambiguous trajectories can be determined by the observer as they depend of three azimuths and two elevation angles. We show how these angles can be quickly estimated. A possible application is to discriminate among the ambiguous trajectories in exploiting an a priori knowledge about the target state. The paper is organized as follows. The general framework is presented in section II. Section III recall the conditions ensuring the observability of the target. In this section we calculate the set of all the target trajectories compatible with the angle measurements in the case where both the target and the observer follow a uniform motion. We present in section IV a way to estimate these ambiguous trajectories thanks to a linear estimator. Section V shows some simulation results and finally, some conclusions are drawn in section VI.

II. PROBLEM STATEMENT

It is assumed that the target follows a constant velocity model in a three-dimensional space. In a discrete time model, the target state is defined by

X T (t k ) = [x T (t k ), ẋT , y T (t k ), ẏT , z T (t k ), żT ] T (1)
The target evolves as follows

X T (t k ) = F X T (t k-1 ) + η(t k ) (2)
where η(t k ) is a white Gaussian noise process and where the state transition matrix is defined by

F =         1 ∆T 0 0 0 0 0 1 0 0 0 0 0 0 1 ∆T 0 0 0 0 0 1 0 0 0 0 0 0 1 ∆T 0 0 0 0 0 1         ∆T t k -t k-1
being the sampling period. The noise-free azimuths and elevation angles satisfy the nonlinear equation (Fig. 1)

           θ(t) = arctan r y (t) r x (t) φ(t) = arctan   r z (t) r 2 x (t) + r 2 y (t)   (3)
where

r(t) = (r x (t), r y (t), r z (t)) T = (x T (t) -x o (t), y T (t) -y o (t), z T (t) -z o (t)) T (4)
is the vector of the relative positions between the target and the observer. First we recall, in a simple way, the necessary conditions under which the target is observable.

III. AMBIGUOUS TRAJECTORIES

A. Observability conditions

The observability conditions of three-dimensional estimations with azimuths and elevation angles have been widely studied [START_REF] Sherry | Observability requirements for three-dimensional tracking via angle measurements[END_REF], [START_REF] Fogel | Nth-order dynamics target observability from angle measurements[END_REF]. The authors analyze the observability (here in a nonlinear context) in a linear framework, thus allowing direct utilization of a simplified observability criterion. A direct application of the following proposition [START_REF] Fogel | Nth-order dynamics target observability from angle measurements[END_REF] states the necessary conditions under which the target state is observable. Proposition 1. Let r(t) = (r x (t), r y (t), r z (t)) T be the relative position vector [START_REF] Le | Properties of estimability criteria for target motion analysis[END_REF]. If the target state is observable then

           r x (t) = α(t)P 1 (t) r y (t) = α(t)P 2 (t) r z (t) = α(t)P 3 (t) . ( 5
)
where P 1 (t), P 2 (t), P 3 (t) are any polynomials of degree the order of the target model dynamics and where α(t) is an arbitrary scalar function

The order of the dynamics should be understood as the Mthorder of the series expansion in time of the dynamics. For example M = 0 corresponds to a stationary target, M = 1 corresponds to a trajectory of constant target. In others words, the proposition states that the order of the observer dynamics must be different of the order of the target dynamics. On the contrary, if the target and observer have a constant velocity model,

r(t) = r(t 0 ) + (t -t 0 ) ṙ(t 0 ) (6)
r x (t), r y (t), r z (t) are polynomials of degree one which is also the degree of the target dynamics. So the target state is not observable in this case. Any maneuver of the observer (M ≥ 2) enables generally observability. However, the conditions of the Proposition 1 are necessary but not sufficient. Indeed, for example, if the target is stationary and the observer follows a constant velocity model along the line of sight, the target is unobservable while the order of the observer dynamics is greater than the one of the target.

We are now interested in showing all the trajectories compatible with the angle measurements when both the observer and the target have a constant velocity model.

B. Ambiguous trajectories

If both the observer and the target have a constant velocity model ( 2), there exists different constant velocity trajectories of the target which match with the angle measurements. The next proposition establishes the set of all of such trajectories called ambiguous trajectories.

Let X o (t 0 ) be the initial 6-dimensional state vector of the observer. Let t 1 , t 2 , t 3 be three distinct times and t ′ 1 , t ′ 2 be two distinct times. Let us introduce some notations

                                           t = [t 1 -t 0 , t 2 -t 0 , t 3 -t 0 ] T B = 1 t ′ 1 -t 0 1 t ′ 2 -t 0 B 1 = 1 t ′ 1 -t 0 0 0 0 0 1 t ′ 1 -t 0 B 2 = 1 t ′ 2 -t 0 0 0 0 0 1 t ′ 2 -t 0 Θ = [θ(t 1 ), θ(t 2 ), θ(t 3 )] T ; Φ = [φ(t ′ 1 ), φ(t ′ 2 )] T (7)
The vector (Θ, Φ) consists in 3 azimuths and 2 elevation angles evaluated exactly at the times (t 1 , t 2 , t 3 ) and (t ′ 1 , t ′ 2 ) respectively.

Proposition 2. Assume that both the observer and the target follow a constant velocity motion. The ambiguous target trajectories which are compatible with the azimuths and elevation angles (θ(t), φ(t)) (3) are determined by the following initial

target state X T (t 0 , µ) (1) X T (t 0 , µ) = X o (t 0 ) + µ       A -1 Θ t 1 B -1 s Θ,Φ       ( 8
)
where µ is an arbitrary non-zero scalar and where

A Θ =   tan θ(t 1 ) (t 1 -t 0 ) tan θ(t 1 ) -1 tan θ(t 2 ) (t 2 -t 0 ) tan θ(t 2 ) -1 tan θ(t 3 ) (t 3 -t 0 ) tan θ(t 3 ) -1   (9) s Θ,Φ =   B 1 u Θ tan φ(t ′ 1 ) B 2 u Θ tan φ(t ′ 2 )   ( 10
)
with u Θ = A -1 Θ t 1 .
The ambiguous trajectories defined by [START_REF] Musso | Data reduction for particle filters[END_REF] are determined by the 5 angles (Θ, Φ) [START_REF] Fogel | Nth-order dynamics target observability from angle measurements[END_REF] and are set by a non-zero scalar µ.

PROOF OF PROPOSITION 2.

An ambiguous trajectory in the three-dimensional space remains ambiguous in the xy plane. Therefore we analyze first the xy ambiguous trajectories only taking into account the azimuths. For i = 1, 2, 3 we have

tan θ(t i ) = r y (t 0 ) + (t i -t 0 )r ẏ (t 0 ) r x (t 0 ) + (t i -t 0 )r ẋ(t 0 ) (11)
Let Y = [r x (t 0 ), r ẋ(t 0 ), r y (t 0 )] T . Let us define by µ the parameter: µ = r ẏ (t 0 ). The whole 4-dimensional state vector [Y, µ] T in the xy plane is characterized by the three azimuths. Indeed, equation [START_REF] Pham | Some quick and efficient methods for bearing-only target motion analysis[END_REF] gives

A Θ Y = µ       t 1 -t 0 t 2 -t 0 t 3 -t 0       = µ t (12)
where A Θ is defined in [START_REF] Dinh | Une méthode rapide et efficace pour la trajectographie passive par mesures de deux azimuts[END_REF] and t in [START_REF] Fogel | Nth-order dynamics target observability from angle measurements[END_REF]. Therefore, the set of the ambiguous trajectories in the xy plane is characterized by the initial relative following state vector

[r x (t 0 ), r ẋ(t 0 ), r y (t 0 ), r ẏ (t 0 )] T = µA -1 Θ t, µ T (13)
These 4-dimensional trajectories are the projections of the ambiguous trajectories in the 6-dimensional space. Thus, it remains now to determine the initial relative height r z (t 0 ) and the initial relative vertical velocity r ż (t 0 ) which are compatible with the exact elevation angles φ(t). It is sufficient to consider the two elevation angles φ(t ′ 1 ) and φ(t ′ 2 ) (7). We have for

i = 1, 2 tan φ(t ′ i ) = r z (t 0 ) + (t ′ i -t 0 )r ż (t 0 ) [r x (t ′ i ) 2 + r y (t ′ i ) 2 ] 1/2 (14)
Using the definition of B (7), the equation ( 14) yields

[r z (t 0 ), r ż (t 0 )] T = B -1    r x (t ′ 1 ) 2 + r y (t ′ 1 ) 2 1/2 tan φ(t ′ 1 ) r x (t ′ 2 ) 2 + r y (t ′ 2 ) 2 1/2 tan φ(t ′ 2 )   
The relative positions r x (t ′ 1 ), r y (t ′ 1 ), r x (t ′ 2 ) and r y (t ′ 2 ) can be deduced from the initial relative state vector (13) in the xy plane and from [START_REF] Sherry | Observability requirements for three-dimensional tracking via angle measurements[END_REF]. After some calculations, we get

[r z (t 0 ), r ż (t 0 )] T = µ B -1 s Θ,Φ (15)
where s Θ,Φ is defined in [START_REF] Musso | Linear maximum likelihood estimator[END_REF]. Finally, by combining equations ( 13) and (15), we get the following family of 6-dimensional initial state vectors of the target X T (t 0 , µ)

X T (t 0 , µ) = X o (t 0 ) + µ       A -1 Θ t 1 B -1 s Θ,Φ      
For any µ = 0, X T (t 0 , µ) generates an ambiguous trajectory which produces the set of azimuths and elevation angles (θ(t), φ(t)) characterized by (Θ, Φ) [START_REF] Fogel | Nth-order dynamics target observability from angle measurements[END_REF]. Note that in the case where µ = 0, the ambiguous trajectory match that of the observer trajectory: X T (t 0 , 0) = X o (t 0 ). The function tangent involved in ( 9) and ( 10) being of period π, it is sufficient to consider positive values of µ. Negative values produce point symmetrical trajectories. It remains now to estimate the vector (Θ, Φ) when the angle measurements are noisy. This vector is of course always observable.

IV. ESTIMATION OF THE AMBIGUOUS TRAJECTORIES

We present a quick method to estimate the ambiguous trajectories using only the angle measurements. The observer and the target motions still have a constant velocity model. For that purpose, we have to estimate the vector (Θ, Φ) [START_REF] Fogel | Nth-order dynamics target observability from angle measurements[END_REF] which determine all the ambiguous trajectories by varying the parameter µ (see proposition 2). A useful method, based on the Gauss quadrature, allows us to estimate quickly and accurately these angles providing that the variation amplitude of the angles is not too large. The 5 angles (Θ, Φ) are evaluated by means of a linear combination of the measurements.

A. Description of the method

Let t 1 < • • • < t n be n positive reals. Let us denote by l 2 the set of real valued functions f defined on R such that tn t=t1 f 2 (t) < ∞ . l 2 is endowed with the inner product •, • defined by

f, g = tn t=t1 f (t) g(t) , (16)
for any f, g ∈ l 2 . For any 1 ≤ m ≤ n, let us denote by Ψ m , the Legendre Polynomial of degree m such that

Ψ m , t j = 0 , (17)
for any integer 0 ≤ j ≤ m -1. Ψ m can be computed recursively using the Graham-Schmidt formula [START_REF] Musso | Data reduction for particle filters[END_REF]. Let us denote by T 1 ≤ • • • ≤ T m the roots of Ψ m . One can prove that for any i = j with 1 ≤ i, j ≤ m, T i is a real such that

t 1 ≤ T i ≤ t n and T i = T j . If m = n, then T i = t i , for any 1 ≤ i ≤ m = n.
The roots of Ψ m can be computed approximately by the Laguerre algorithm [START_REF] Musso | Data reduction for particle filters[END_REF].

For any 1 ≤ i ≤ m, let us introduce Φ i the Lagrange polynomial of degree m-1 such that

Φ i (t) =    1 if t = T i 0 if t = T j = T i . (18)
We consider now the following measurement model,

z(t) = β(t) + ε(t) (19)
where ε(t) are i.i.d. centered Gaussian noises with standard deviation (std) σ. β(t) plays the role of the elevation angles or the role of the azimuths (3). Let n be the number of observations. We aim to estimate m values of β(t) for t = T 1 , T 2 , ..., T m with 1 < m < n. The following proposition exhibits an estimator of the angles β T1 , ..., β Tm by means of a linear combination of the measurements z(t) (19).

Proposition 3. The following assertions holds.

1) For i = 1, 2, ...m, the estimators βTi = 1 Φ i 2 tn t=t1 Φ i (t) z(t) (20)
are nearly unbiased

E( βTi ) ≈ β Ti (21)
where Φ i is the Lagrange polynomial of degree m -1 defined in (18).

2) The covariance matrix of the estimators is diagonal. For i, j = 1, 2, ...m, we have

cov( βTi , βTj ) = δ i=j σ 2 Φ i 2 (22) with Φ i 2 = tn t=t1 Φ 2 i (t)
These suitable properties (21) and ( 22) are obtained using the orthogonality of the Lagrange polynomials (18) which interpolate the roots of the Legendre polynomial [START_REF] Dinh | Une méthode rapide et efficace pour la trajectographie passive par mesures de deux azimuts[END_REF], [START_REF] Musso | Linear maximum likelihood estimator[END_REF], [START_REF] Pham | Some quick and efficient methods for bearing-only target motion analysis[END_REF]. One can prove that Φ i 2 ∼ constant × n, so that the std of βTi is of order σ √ n when n is large. The linear estimator (20) is very accurate providing that the signal has a dynamics order less then 2m, namely, the signal must behave as a polynomial with a degree lower or equal to 2m -1.

B. Application to the estimation of the ambiguous trajectories

We consider we have n noisy azimuths and elevation angles (3) measurements according to the model

z θ (t) = θ(t) + ε(t) z φ (t) = φ(t) + ν(t) (23)
where ε(t) and ν(t) are i.i.d. centered Gaussian noises with std σ θ anf σ φ respectively. θ(t) and φ(t) are defined in [START_REF] Le | Optimizing the receiver maneuvers for bearings-only tracking[END_REF].

Here, we do not take into account the relation between these angles and the whole state X T (t) [START_REF] Watanabe | The onera ressac unmanned autonomous helicopter: Visual air-to-ground target tracking in an urban environment[END_REF]. We aim to estimate the azimuths and elevation angles at times (t 1 , t 2 , t 3 ) and (t ′ 1 , t ′ 2 ) respectively using only the angle measurements (23). For this purpose we choose (t 1 , t 2 , t 3 ) = (T 1 , T 2 , T 3 ) and

(t ′ 1 , t ′ 2 ) = (T ′ 1 , T ′ 2 )
where (T 1 , T 2 , T 3 ) are the roots of the Legendre polynomial Ψ m (17) with m = 3 and where (T ′ 1 , T ′ 2 ) are the roots of the Legendre polynomial Ψ m with m = 2.

Consequently, the estimations of (Θ, Φ) (7) are done using the linear estimator (20).

Estimation of (Θ, Φ)

1) For i = 1, 2, 3 θTi = 1 Φ i 2 tn t=t1 Φ i (t) z θ (t) (24)
2) For i = 1, 2

φT ′ i = 1 Φ ′ i 2 tn t=t1 Φ ′ i (t) z φ (t) (25)
The Lagrange polynomials Φ i and

Φ ′ i (18) interpolate (T 1 , T 2 , T 3 ) and (T ′ 1 , T ′ 2 ) respectively.
In the case of the Legendre polynomial with degree m = 3 or m = 2 and when t k = k for 1 ≤ k ≤ n, the roots can be computed exactly with the following formula.

Roots of the Legendre polynomials

1) Case m=3

T 1 = n + 1 2 -τ , T 2 = n + 1 2 , T 3 = n + 1 2 + τ , Φ 1 2 = Φ 3 2 = 5n(n 2 -1) 6(3n 2 -7) , Φ 2 2 = 4n(n 2 -4) 3n 2 -7 with τ = 3n 2 -7 20
2) Case m=2

T ′ 1 = n + 1 2 -τ , T ′ 2 = n + 1 2 + τ , Φ ′ 1 2 = Φ ′ 2 2 = n 2 , (26)
with τ = n 2 -1 12
The estimators (24) (25) are nearly unbiased providing that the variation amplitude of the angles is not too large. For i = 1, 2, 3 and j = 1, 2, the estimators have the following variances

var( θTi ) = σ 2 θ Φ i 2 , var( φT ′ j ) = σ 2 φ Φ ′ j 2 (27)
More generally, in the case of any sample time t k , the roots are easily computed offline with the Laguerre algorithm [START_REF] Musso | Data reduction for particle filters[END_REF].

V. NUMERICAL RESULTS Some simulation results are presented below which illustrate the ambiguous trajectories and their estimations. Both the target and the observer have a constant velocity model.

Scenario parameters

Positions are expressed in meters and velocities in meters/second

• Observer initial state X o (t 0 ) = [x o (t 0 ), ẋo , y o (t 0 ), ẏo , z o (t 0 ), żo ] T = [0, 30, 0, 0, 0, 5] T • Target initial state X T (t 0 ) = [x T (t 0 ), ẋT , y T (t 0 ), ẏT , z T (t 0 ), żT ]

A. Illustration of the ambiguous trajectories

We present in the following figures the target, the observer, the ambiguous trajectories projected on different planes (Fig. 345) and two 3D representation (Fig. 67). These trajectories are computed using [START_REF] Musso | Data reduction for particle filters[END_REF] and set by µ ∈ [0, 20]. They produce the same set of azimuths and elevation angles (here noise-free) (Fig. 2). We can see on figure 3 that the target's heading K on the xy plane becomes constant as µ increases. Indeed, we have

K = arctan ẋT ẏT = arctan ẋo + µ α(Θ) ẏo + µ → arctan (α(Θ)) when µ → +∞
where α(Θ) is deduced from [START_REF] Musso | Data reduction for particle filters[END_REF].

B. Estimation of the ambiguous trajectories

We present below the performances of the linear estimators (24)-(25). The azimuths and elevation angles are measured every second (∆T = 1s), thus, we have n = 100 pairs of angle measurements. The std of the measurements (23) (σ = σ θ = σ φ ) are set to 1 deg and 0.1 deg. One thousand (N = 1000) of Monte Carlo trials have been done in order to estimate the RMSE (root-mean-square error) of the five angles (Θ, Φ):

E r ( β) RM SE = E β -β 2 ≈ 1 N N i=1 βi -β 2 ( 28
)
where βi is a trial of one the angle estimations θi T1 , θi T2 , θi T3 , φi

T ′ 1 , φi T ′ 2
. The roots (T 1 , T 2 , T 3 ) and (T ′ 1 , T ′ 2 ) are distributed as follows (26)

1 T 1 T ′ 1 T 2 T ′ 2 T 3 100
We can see in following table the accuracy of the linear estimators of (Θ, Φ). Note that these good performances are valid if the variation amplitude of the angles is not too large The computing time of these estimators is negligible. We recall that the five angles (Θ, Φ) allows us to generate all the ambiguous trajectories by varying the parameter µ (see proposition 2). Suppose we have an a priori knowledge about some dynamics parameters of the target, like a speed range or a height range. Then it is possible without maneuver to estimate all the trajectories of the target satisfying the constraints using ( 8) by varying µ. In what follows, we calculate the target trajectories which are compatible with a vertical speed constraint. For example, if the modulus of vertical speed of the target is supposed to be small, precisely | żT |< 0.5m/s, than we get the restricted set of trajectories (in green colour) presented in figures [START_REF] Musso | Data reduction for particle filters[END_REF][START_REF] Dinh | Une méthode rapide et efficace pour la trajectographie passive par mesures de deux azimuts[END_REF][START_REF] Musso | Linear maximum likelihood estimator[END_REF][START_REF] Pham | Some quick and efficient methods for bearing-only target motion analysis[END_REF]. These trajectories are estimated thanks to the linear estimators (24)-(25) with σ θ = σ φ = 0.1 deg (23). The paper proposes a method to calculate the set of all the ambiguous target trajectories compatible with the angle measurements in the case of both the observer and the target follow a constant velocity model in a three-dimensional space. These trajectories depend on five observable angles. A quick linear estimator of these angles is presented. Any a priori information about the target state allows us to discriminate among ambiguous trajectories. In doing this, the observer can take a decision to maneuver (or not) in order to estimate accurately the whole 6-dimensional target state.

Fig. 1 .

 1 Fig. 1. Observer geometry. For better legibility the target is represented on the ground

T

  = [5000, -10, 5000, 10, 100, 3] T • Measurements Sampling period = ∆T = 1s Number of measurements = n = 100

Fig. 2 .Fig. 3 .Fig. 4 .Fig. 5 .Fig. 6 .Fig. 7 .

 234567 Fig. 2. Azimuths (-) and elevation angles (-)

Fig. 8 .Fig. 9 .Fig. 10 .Fig. 11 .

 891011 Fig. 8. 3D view of the ambiguous trajectories. -: ambiguous trajectories. o: initial point. -: target trajectory. -: observer trajectory. -: constrained trajectories

Acknowledgements. The authors are grateful to Elsa and Juliette for having initiated interesting discussions around this article.