Auteur Sujet: Le système de compatibilité entre les collections des membres  (Lu 28534 fois)

0 Membres et 1 Invité sur ce sujet

Diyo

BON! J'en appelle aux matheux (il y en a j'espère!!) concernant le système de compatibilité entre les membres. Comment procéderiez-vous? Quel algo vous semble le plus pertinent? Sachant que j'aimerais bien prendre en compte:

A. le nombre de titres qui se retrouvent dans deux collections -> 45%
A ce sujet, il faut faire attention au fait qu'un membre qui n'a que 10 titres dans son animethèque risque d'être 100% compatible avec un autre qui en a 500. Bref, il va falloir pondérer.

B. les évaluations (étoiles) entre mêmes titres de deux collections différentes -> 45%
Il y a des algorithmes de corrélation (le coefficient de corrélation de Pearson par exemple) qui existent mais je ne suis pas sûr qu'ils soient vraiment adaptés.

C. Les centres d'intérêt (tags) -> 10%
Ca me paraît moins pertinent.



Partons d'un exemple concret des collections de deux membres X et Y. Voici leurs animethèques sous forme de deux tableaux :

X = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
Y = (2,4,6,8,10,12,14,16,18,20,22,24,26,28,30)

10 animes (2,4,6,8,10,12,14,16,18,20) se retrouvent dans les deux collections sur un total de 35 animes (20+15).
Comment faire pour calculer une compatibilité à partir de ces données? Je sèche un peu.


Maintenant, à partir des 10 animes qui sont dans les deux collections, on crée les tableaux d'évaluations (sur 5) dans l'ordre des identifiants des animes :

X_evaluations = (5,2,3,5,1,5,4,3,3,2)
Y_evaluations = (5,3,3,1,2,5,3,4,4,2)

En utilisant le coefficient de corrélation de Pearson, ça me retourne 0.38 (soit 38%). Je suppose que c'est pertinent... Qu'en pensez-vous? Y-a-t-il moyen d'utiliser un calcul plus adéquat?

Plus d'info sur le coeff de corrélation :
http://fr.wikipedia.org/wiki/Corr%C3%A9lation_%28statistiques%29,
http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient,
http://easycalculation.com/statistics/learn-correlation.php,
http://www.er.uqam.ca/nobel/r30574/PSY1300/C4P7.html


Et enfin la comparaison des deux nuages de tags. Je n'y ai pas encore réfléchi  :lips:


Alors? Des suggestions?
Merci pour votre aide!
« Modifié: 28 Novembre 2013, 18:16:26 par Afloplouf »

shadow8

  • Staff AK 3
  • Legend Member
  • ********
  • Messages: 14093
  • Sexe: Homme
    • Voir le profil
    • Voir le profil AK
    • profil MAL
  • A-theque M-theque
  • Berserk et moi c'est pour la vie! Je suis Idea
Re : Le système de compatibilité entre les collections des membres
« Réponse #1 le: 28 Novembre 2013, 18:19:14 »
Bon, je ne suis pas trop matheux, mais j'ai un commentaire à faire peut-être pertinent.  Le système d'étoile peu porté à confusion vu que le système peut être vu différent  par certains membre. Par exemple le 3 étoile peu être considéré comme comme 5 par un et un autre comme un 6 ou un 7.  À moins que cela ne change pas grand chose.

Cela doit faire de lustre que je n.ai pas fait des maths.

Afloplouf

  • Administrator
  • Hero Member
  • ********
  • Messages: 8471
  • Sexe: Homme
    • Voir le profil
    • Voir le profil AK
  • A-theque M-theque
  • Pris en flagrant délit de glandouille
Re : Le système de compatibilité entre les collections des membres
« Réponse #2 le: 28 Novembre 2013, 18:20:08 »
Alors mes souvenirs de stats, le coeff de Pearson est effectivement le plus utilisé. A toi ensuite d'attribuer les poids qui t'intéressent pour chaque critère, bref de faire de la logique floue sans le savoir. :ninja:

Diyo

Re : Re : Le système de compatibilité entre les collections des membres
« Réponse #3 le: 28 Novembre 2013, 18:28:43 »
Bon, je ne suis pas trop matheux, mais j'ai un commentaire à faire peut-être pertinent.  Le système d'étoile peu porté à confusion vu que le système peut être vu différent  par certains membre. Par exemple le 3 étoile peu être considéré comme comme 5 par un et un autre comme un 6 ou un 7.  À moins que cela ne change pas grand chose.
Ca me désole vraiment mais malheureusement je ne peux pas encore entrer dans la tête des gens :P
On fera avec ce qui est utilisable: des données.

shadow8

  • Staff AK 3
  • Legend Member
  • ********
  • Messages: 14093
  • Sexe: Homme
    • Voir le profil
    • Voir le profil AK
    • profil MAL
  • A-theque M-theque
  • Berserk et moi c'est pour la vie! Je suis Idea
Ca me désole vraiment mais malheureusement je ne peux pas encore entrer dans la tête des gens :P
On fera avec ce qui est utilisable: des données.

Non, j’essayais de dire subtilement que les notes 1 à 10 c'était mieux.On en avait déjà parlé et la discutions était intense avec certains membres. Il est trop tard de tout façon. :'(
« Modifié: 28 Novembre 2013, 18:37:32 par shadow8 »

Diyo

Re : Le système de compatibilité entre les collections des membres
« Réponse #5 le: 28 Novembre 2013, 18:44:43 »
Non, j’essayais de dire subtilement que les notes 1 à 10 c'était mieux.On en avait déjà parlé et la discutions était intense avec certains membre. Il est trop tard de tout façon. :'(
Ah d'accord. Je ne pense pas que l'impact sera réellement signifiant. On verra bien.


Aflo, tu as l'air de connaître un peu le sujet... Peux-tu m'expliquer pourquoi le coefficient de corrélation est de 0 (aucune corrélation donc) pour ces deux tableaux:
$array_x = array(5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5);
$array_y = array(5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4);

Via la formule, je comprends pourquoi on a 0 comme résultat (une division par 0 d'ailleurs). Mais ce que je ne comprends pas, c'est qu'on devrait plutôt tendre vers le 1 là...

Down

Re : Le système de compatibilité entre les collections des membres
« Réponse #6 le: 28 Novembre 2013, 18:53:17 »
La formule n'est simplement pas valable (n'a pas de sens) pour un tel cas, puisque ton numérateur comme ton dénominateur sont nuls. Dans le cas improbable où un membre aurait une thèque d'écart-type nul, il faut utiliser une autre formule...

Sinon, je pense qu'il est utile que les forts écarts de notes soient particulièrement pondérés, mais de ce que je comprend du coeff de Pearson c'est à peu près le cas...

Non, j’essayais de dire subtilement que les notes 1 à 10 c'était mieux.On en avait déjà parlé et la discutions était intense avec certains membres. Il est trop tard de tout façon. :'(

Il se trouve qu'en utilisant Pearson sur une thèque "normale", ce type d'écart n'aura pas trop d'importance, puisque d'une part les notes sont recentrées sur la moyenne, et d'autre part les plus fortes contributions sont celles des notes les plus écartées de la moyenne (donc les 5* et les 1*, ce qui se tient à priori) pour lesquelles un point subjectif de différence ne signifie pas grand chose.
« Modifié: 28 Novembre 2013, 18:58:41 par Down »

Afloplouf

  • Administrator
  • Hero Member
  • ********
  • Messages: 8471
  • Sexe: Homme
    • Voir le profil
    • Voir le profil AK
  • A-theque M-theque
  • Pris en flagrant délit de glandouille
Re : Le système de compatibilité entre les collections des membres
« Réponse #7 le: 28 Novembre 2013, 19:53:04 »
La corrélation de Pearson ne marche aussi que sur des ensembles de tailles égales. Deux membres auront rarement le même nombre de titre entre leur deux thèques. Si on se restreint à ceux qu'ils ont en commun c'est facile mais alors on ignore complètement ceux qu'il n'ont pas en commun ? Et encore ça on a pas trop le choix forcément mais moins ils ont des titres en communs, moins ce coefficient est proche de la réalité (joie des stats, plus tu as de données, mieux c'est)... Pas si facile que ça en effet. Je garde ça dans un coin de ma tête et j'y réfléchis. :P

Edit : Tiens, essaye de jeter un oeil au coefficient de Spearman.

Diyo

Re : Re : Le système de compatibilité entre les collections des membres
« Réponse #8 le: 28 Novembre 2013, 20:03:40 »
Edit : Tiens, essaye de jeter un oeil au coefficient de Spearman.
Ah merci, ça m'a l'air plus adapté que Pearson. Je vais tester.

Sinon, quelqu'un aurait une piste pour la partie A de mon premier post? Je ne sais pas par quel bout prendre le problème.

manga-fan66

  • Hero Member
  • *****
  • Messages: 1718
  • Sexe: Homme
    • Voir le profil
    • Voir le profil AK
  • A-theque M-theque
  • La simplicité est la sophistication suprême
Re : Le système de compatibilité entre les collections des membres
« Réponse #9 le: 28 Novembre 2013, 22:35:39 »
Bon je suis pas un gros matheux donc les nom des théorème toussa toussa je les ai pas en tête mais bon pourquoi pas faire un système de moyenne tout bête ?

En gros si deux personne A et B tel que :

- A à 25 anime dont 8 en commun avec B
- B à 60 anime dont bien entendu 8 en commun avec A

En gros :

A à 100 * 8 / 25 = 32% d'anime en commun avec B
B à 100 * 8 / 60 = 13,3% d'anime en commun avec A

Tu peut traiter ses chiffres de plusieurs façons :

- Soit dire qu'à partir d'un certain pourcentage (genre 50%) une personne est "compatible avec l'autre". Celà inclut donc qu'il peut ne pas y avoir réciprocité, genre A compatible avec B car il vu moins d'anime mais pas l'inverse.
- Soit faire en sorte qu'il y est forcement réciprocité et donc faire tout bêtement une différence entre leur deux pourcentage et fixé un seuil pour dire si oui ou non les deux sont compatible. Genre dans mon exemple 32 - 13 = 19% si tu fixe le seuil à on vas dire 10% (plus le seuil est faible plus il auront une animethèque semblable) et bien c'est pas bon, les deux ne sont pas compatible.

- L'avantage du second choix c'est qu'ils auront plus d'anime commun et pourrons ainsi théoriquement s'entendre mieux.
- L'avantage du premier choix c'est que celui qui a vu moins d'anime pourra s'inspirer des autres animé qu'il n'a pas encore vu chez l'autre. Surtout si la notation est similaire chez les deux (voir méthode ci-dessous). Après tout dépend de ce que tu recherche à faire  :)


Ensuite pour mettre en corrélation avec les note des animé en question. Tu vérifie que déjà il ai en commun assez d'anime (via la méthode que j'ai détaillé précédemment). Puis tu récupère la valeur absolue de la différence de leur note, anime par anime, puis tu additionne le tout et tu fais la moyenne. Plus la valeur sera élevé, plus ils auront des notes différentes et donc une mauvaise compatibilité. Exemple :

Voici les notes des anime que A à en commun avec B (dans le même ordre bien sûr) :  2 ; 3 ; 3; 1; 2; 5
Voici les notes des anime que B à en commun avec A (dans le même ordre bien sûr) : 2; 4; 4; 2; 4; 1

Cela donne : (0 + 1 + 1 + 1 + 2 + 4)  / 6 = 1.5

Si tu fixe un seuil à 1 par exemple, ce qui signifie une différence de 1 par note en moyenne par anime qu'ils ont en commun, dans ce cas ils ne sont pas compatible  :)

Pour les tags je vois juste pas ce que tu veut dire, il me faut un exemple  :)

Si je me suis mal exprimé, que je n'ais pas compris ta demande, ou que tu veuille que je réexplique pas de soucis  ;)
« Modifié: 28 Novembre 2013, 22:45:46 par manga-fan66 »

Diyo

Re : Le système de compatibilité entre les collections des membres
« Réponse #10 le: 28 Novembre 2013, 23:23:08 »
Merci pour tes suggestions manga-fan66.
Tes idées ne sont pas mal et éviteraient peut-être pas mal de prises de tête :P

La réciprocité me semble être une condition sine qua non de la compatibilité. Ca fait partie de sa définition.

Du coup, il y a un problème :
Citer
Soit faire en sorte qu'il y est forcement réciprocité et donc faire tout bêtement une différence entre leur deux pourcentage et fixé un seuil pour dire si oui ou non les deux sont compatible. Genre dans mon exemple 32 - 13 = 19% si tu fixe le seuil à on vas dire 10% (plus le seuil est faible plus il auront une animethèque semblable) et bien c'est pas bon, les deux ne sont pas compatible.
La différence des deux pourcentages d'animes communs peut provenir de deux valeurs très faibles. Genre 5% et 4%. Il n'y a quasiment rien de commun dans les thèques pourtant pour le résultat est inférieur au seuil de 10%.

Concernant les notes, je vais m'orienter vers la solution du coefficient de Spearman. Les premiers tests sont assez convaincants.

manga-fan66

  • Hero Member
  • *****
  • Messages: 1718
  • Sexe: Homme
    • Voir le profil
    • Voir le profil AK
  • A-theque M-theque
  • La simplicité est la sophistication suprême
Re : Le système de compatibilité entre les collections des membres
« Réponse #11 le: 28 Novembre 2013, 23:39:45 »
Du coup, il y a un problème :La différence des deux pourcentages d'animes communs peut provenir de deux valeurs très faibles. Genre 5% et 4%. Il n'y a quasiment rien de commun dans les thèques pourtant pour le résultat est inférieur au seuil de 10%.

C'est vrai. Il suffit du coup de vérifier (avant la soustraction) que les deux pourcentages initiaux soient supérieurs à un seuil fixé (genre 50%). Du coup avec la différence tu pourras trier par ordre de compatibilité, plus la différence sera faible plus ils seront compatibles  ;)

Avendil

Re : Le système de compatibilité entre les collections des membres
« Réponse #12 le: 28 Novembre 2013, 23:53:01 »
Pour le A :

Citer
A. le nombre de titres qui se retrouvent dans deux collections -> 45%
A ce sujet, il faut faire attention au fait qu'un membre qui n'a que 10 titres dans son animethèque risque d'être 100% compatible avec un autre qui en a 500. Bref, il va falloir pondérer.

En théorie si tu fais compter ça pour "seulement" 45% de ton évaluation, même dans le cas que tu prends pour exemple tu ne devrais pas te retrouver avec 100% de compatibilité. Tags et notations permettront d'établir une différence de quelques %.

Sinon, je trouve que c'est une super idée.

Stories are written and read to rebel against the fact that we only live once.

Diyo

Re : Le système de compatibilité entre les collections des membres
« Réponse #13 le: 29 Novembre 2013, 22:40:57 »
J'ai créé une ébauche de système de compatibilité.
Même si ça ressemble à un pourcentage pour une meilleure lisibilité, il vaut mieux appréhender le résultat comme un score.

C'est basé sur la formule de Spearman et un truc à moi :tupeuxpastest:

Testez donc avec le profil d'Allbrice, pour voir si vous êtes compatible avec le modérateur au coeur de pierre : http://www.anime-kun.net/mak/member.php?id=15539


Afloplouf

  • Administrator
  • Hero Member
  • ********
  • Messages: 8471
  • Sexe: Homme
    • Voir le profil
    • Voir le profil AK
  • A-theque M-theque
  • Pris en flagrant délit de glandouille
Re : Le système de compatibilité entre les collections des membres
« Réponse #14 le: 29 Novembre 2013, 23:07:36 »
A part The_Fan et Beck (mais alors limite), je suis en dessous de 50 avec tout le monde. Vous avez tous des gouts de merde, na ! :wacko: