ZeSword
Bruxelles, Belgique

AVATAR
Nombre de combos : un exercice de stats
le 23/07/2021 3:06
Salut à tous. Je prépare un article sur la section combos de magic-ville, et, déformation professionnelle oblige, je fais un petit état de l'art (c'est le truc où on regarde ce qu'on fait les autres et où on dit "moi j'ai fait mieux" ; selon le labo où on travaille, on peut délibérément oublier certains autres travaux qui ont fait mieux que vous, ou modifier ses résultats en fonction, ou interpréter sciemment à côté les résultats des autres... enfin, l'éthique quoi !).

Et donc sur presque tous les sites où je vais le nombre de combos référencées est facile (souvent trivial, parfois un peu moins, mais facile) à trouver, mais pour l'un des sites, je galère. Ce site, c'est tappedout.

Voici une petite description de leur section combos : https://tappedout.net/mtg-forum/tappedout/help-wanted-new-combo-databa....

Il se trouve que je n'arrive pas à savoir leur nombre de combos ; apparemment la section n'est plus à jour (en tout cas, ils ont pensé l'abandonner pendant un temps), et fouiller dans la liste complète est réservé aux admins : https://tappedout.net/mtg-forum/tappedout/combo-that-doesnt-work/. Qu'à cela ne tienne, c'est possible d'estimer leur nombre de combos, du coup je vous propose un exercice de statistiques qui est le suivant :

* n'importe quel utilisateur peut aller voir les combos qui utilisent *une carte précise*. Ex. pour Phyrexian Altar : https://tappedout.net/mtg-card/phyrexian-altar/combos/

* on sélectionne un certain nombre de cartes au hasard, on compte pour chacune d'entre elles le nombre de combos référencées sur magic-ville, pareil sur tappedout

* étant donné le nombre total de combos sur magic-ville, on en déduit (comment, ça je ne sais pas, c'est le nœud du problème justement) une estimation du nombre total de combos sur tappedout

PS: contacter un admin de tappedout avant pour tricher sur l'estimation est bien sûr interdit, mais bon, par le passé des matheux ont triché sur ce genre d'expérience, cf. l'aiguille de Buffon pour estimer les décimales de Pi, alors bon, on ne vous en voudra pas...
haut de page - Les forums de MV >> Général >> Discussion : page 1
Anonyme1
Protection contre les phaseurs, Traversée des *counters*

Légende
le 23/07/2021 10:16
Si tu estime le nombre moyen de combo par carte, comme le nombre moyen de combo par carte calculé sur un échantillon de N cartes, alors l'erreur type sur la moyenne est sigma/sqrt(N).
Si N est suffisamment grand, ça doit être fiable.

Aussi, comment passer du nombre moyen de combo par cartes au nombre de combo total ? On connaît le nombre total de cartes, mais il faut aussi estimer le nombre moyen d cartes par combo.
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 23/07/2021 10:28
Mmmh ça m'a pas l'air si complexe que ça.

Je pose comme hypothèses :
- L'échantillon de cartes prises au hasard est représentatif et est le même sur les deux sites.
- Le ratio de combos 2 cartes / 3 cartes est le même sur les deux sites.

Avec ces hypothèses on doit pouvoir s'en sortir avec une bête règle de trois :
Citation :
nb_combos_tappedout = moyenne(nb_combos_carte_tapped_out) / moyenne(nb_combos_carte_mv) * nb_combos_mv

En gros, si il y a 2 fois moins de combos par carte en moyenne sur tappedout que sur MV, alors il y a 2 fois moins de combos au total sur tappedout que sur MV.

Je ne pense pas que le fait qu'il y ait des combos de 2 et de 3 cartes change la donne si le ratio est le même sur les deux sites. Évidemment ce n'est pas la même chose si le ratio n'est pas le même.

Cas extrême : si on avait uniquement des combos de 2 cartes sur MV et uniquement des combos de 3 cartes sur tappedout, alors à nombre total de combos égal sur les deux sites, on aurait une moyenne de combos par carte inférieure sur MV (2/3 de la moyenne sur tappedout).

Après, étant donné qu'il n'y a que des combos de 2 et 3 cartes sur les deux sites (je crois), si tu veux faire sauter la 2ème hypothèse de départ, tu dois quand-même pouvoir fournir un encadrement de l'estimation.
Anonyme1
Protection contre les phaseurs, Traversée des *counters*

Légende
le 23/07/2021 10:33
Le tirage avec le bouton "Carte?" : je crois qu'il est biaisé, qu'il donne plus de chances de tomber sur une carte qui a été beaucoup rééditée. Surtout les terrains de base, en fait : j'ai Forêt et Montagne dans les 10 premières cartes de mon échantillon, avec respectivement 180 et 136 combos renseignées sur MV (y compris utilisations banales, qui ne fonctionne pas, humour)...

Quelqu'un a une autre méthode à suggérer pour tirer aléatoirement une carte ?
Anonyme1
Protection contre les phaseurs, Traversée des *counters*

Légende
le 23/07/2021 11:20
Autre sujet : qu'est ce qu'on comparé ?
On compte les combo "ne fonctionne pas", "historique", "utilisation banale", "humour" sur MV ?
Et sur tappedout, on compte les combos en catégorie "garbage" ou "none" ? (Si on les compte pas, il ne reste plus grand chose !)
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 23/07/2021 11:27
Si t'es à l'aise en bureautique :
- Extraire la liste des cartes de Cockatrice depuis %LOCALAPPDATA%\Cockatrice\Cockatrice\cards.xml dans un fichier Excel*.
- Tirer un nombre au hasard entre 1 et le nombre de lignes du fichier.

*Par exemple en ouvrant le fichier dans Notepad++ avec le plugin XML tools installé, et en appliquant l'expression xpath "//cards/card/name" + attendre une petite minute que le plugin finisse son calcul.
ZeSword
Bruxelles, Belgique

AVATAR
le 23/07/2021 20:43
Prenons comme carte au hasard Kiki-Jiki, Mirror Breaker

Le lien magic-ville vers la recherche de toutes les combos avec cette carte est le suivant :

https://www.magic-ville.com/fr/combos/resultats?card_to_search[chk175]...

Le lien tappedout vers la recherche de toutes les combos avec cette carte est le suivant :

https://tappedout.net/mtg-card/kiki-jiki-mirror-breaker/combos/

Finalement, sur les 2 sites il y a quelque chose de difficile à automatiser :

* sur la page de recherche magic-ville, il suffit de chercher "... combos trouvées" et de regarder quelle est le mot juste avant "combos trouvées" pour avoir le nombre de résultats
* a contrario, sur tappedout, on a des pages de 25 combos, et il faut aller de https://tappedout.net/mtg-card/kiki-jiki-mirror-breaker/combos/?&p... en page supplémentaire, jusqu'à trouver une page qui donne les mêmes résultats que la précédente, et compter le nombre de lignes

* sur l'url de la page de recherche, sur magic-ville il faut l'identifiant de la carte (relou)
* sur l'url de la page de recherche, sur tappedout on peut juste prendre le nom en virant les majuscules et en remplaçant les caractères spéciaux par des "-"

Pour le tirage aléatoire de la carte, clairement il faut tirer aléatoirement parmi les noms (et pas parmi toutes les reprints, comme le fait "Carte au hasard" sur magic-ville).

1) Par contre, si mes souvenirs en stats sont bons, on n'a pas besoin de l'hypothèse "l'échantillon de cartes prises au hasard est représentatif et est le même sur les deux sites.". Justement, si on tire vraiment au hasard, on n'a pas besoin de s'emmerder avec la notion (fumeuse, d'ailleurs) de "échantillon représentatif". C'est simplement parce qu'on ne peut pas avoir de véritable tirage au hasard dans une population qu'on est réduits à faire des "échantillons représentatifs", mais mathématiquement, le "vrai tirage au hasard" suffit.

2) Ensuite, si on s'est emmerdés jusque là, on n'a pas besoin non plus de s'emmerder avec une hypothèse qui peut fausser nos calculs (celle sur l'égalité du ratio de combos à 2 ou 3 cartes). Effectivement, sur magic-ville comme sur tappedout, on peut simplement aussi compter le nombre de "+" sur les pages de résultats... pour obtenir une estimation de ce nombre.

3) Enfin par contre, je suis un peu comme anonyme1, je ne comprends pas ce que veut dire "None" sur tappedout, par ex. dans "Reviewed" je comprends "True" et "False", mais "None" ??
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 23/07/2021 22:22
Ah, si on parle d'automatiser le calcul sur un grand nombre de cartes c'est différent.

Citation :
* a contrario, sur tappedout, on a des pages de 25 combos, et il faut aller de https://tappedout.net/mtg-card/kiki-jiki-mirror-breaker/combos/?&p... en page supplémentaire, jusqu'à trouver une page qui donne les mêmes résultats que la précédente, et compter le nombre de lignes
Hack pour éviter l'itération des pages : tu mets p=999999&page=999999 pour accéder à coup sûr à la dernière page et obtenir le nombre d'entrée qu'elle contient, et tu comptes le nombre de pages à partir de la liste des pages en début de liste.

Citation :
* sur l'url de la page de recherche, sur magic-ville il faut l'identifiant de la carte (relou)
Pas le choix on dirait, obligé soit de passer par un extract de la BDD de MV, soit d'ajouter une étape dans ton batch qui va faire une recherche MV avec le nom de la carte sur l'URL /fr/combos/submit_search?n={{nom de la carte}} (en POST).

Citation :
1) Par contre, si mes souvenirs en stats sont bons, on n'a pas besoin de l'hypothèse "l'échantillon de cartes prises au hasard est représentatif et est le même sur les deux sites.". Justement, si on tire vraiment au hasard, on n'a pas besoin de s'emmerder avec la notion (fumeuse, d'ailleurs) de "échantillon représentatif". C'est simplement parce qu'on ne peut pas avoir de véritable tirage au hasard dans une population qu'on est réduits à faire des "échantillons représentatifs", mais mathématiquement, le "vrai tirage au hasard" suffit.
Oui enfin par échantillon représentatif j'entendais "ensemble de cartes tirées au hasard suffisamment grand pour que la probabilité que cet ensemble ait les mêmes propriétés que l'ensemble de toutes les cartes dans le cadre qui nous intéresse".

Citation :
2) Ensuite, si on s'est emmerdés jusque là, on n'a pas besoin non plus de s'emmerder avec une hypothèse qui peut fausser nos calculs (celle sur l'égalité du ratio de combos à 2 ou 3 cartes). Effectivement, sur magic-ville comme sur tappedout, on peut simplement aussi compter le nombre de "+" sur les pages de résultats... pour obtenir une estimation de ce nombre.
Oui tout à fait !

Citation :
3) Enfin par contre, je suis un peu comme anonyme1, je ne comprends pas ce que veut dire "None" sur tappedout, par ex. dans "Reviewed" je comprends "True" et "False", mais "None" ??
Hypothèse de développeur :
- Pour la colonne "Category", "None" veut dire que la combo n'a pas de catégorie affectée.
- Pour la colonne "Reviewed" : "True" veut dire que la combo est examinée, "None" veut dire qu'elle n'a jamais été examinée, et "False" veut dire qu'elle a déjà été dans l'état examinée, mais qu'elle a été repassée à l'état "non examinée" par la suite.

Ce "None" ressemble furieusement à la valeur "None" du langage python (variable sans valeur) ou au "undefined" de javascript, qui sont généralement les valeurs par défaut des propriétés des objets qui n'ont pas été correctement typés dans le modèle de données et dont le setter n'a jamais été appelé.
Madmox
I guess Warhol wasn't wrong, Fame fifteen minutes long

Légende
le 23/07/2021 22:24
Citation :
Oui enfin par échantillon représentatif j'entendais "ensemble de cartes tirées au hasard suffisamment grand pour que la probabilité que cet ensemble ait les mêmes propriétés que l'ensemble de toutes les cartes dans le cadre qui nous intéresse".
En clair : si tu joue le batch avec un ensemble d'une seule carte tirée au hasard, ça ne fonctionnera pas. Avec 2 cartes, y a très peu de chances. Avec 1 000 000 de cartes (avec remise), la marge d'erreur de la mesure sera suffisamment faible. C'est quoi le bon seuil ?
haut de page - Les forums de MV >> Général >> Discussion : page 1
Vous devez être identifié pour pouvoir poster sur les forums.