Comment puis-je améliorer mon analyse des effets de la réputation sur le vote?

15

Récemment, j'avais fait une analyse des effets de la réputation sur les votes positifs (voir le blog ), et par la suite, j'avais quelques questions sur une analyse et des graphiques éventuellement plus éclairants (ou plus appropriés).

Donc, quelques questions (et n'hésitez pas à répondre à quelqu'un en particulier et à ignorer les autres):

  1. Dans son courant en incarnation, je ne voulais pas centrer le numéro de poste. Je pense que cela donne l'apparence fausse d'une corrélation négative dans le nuage de points, car il y a plus de messages vers l'extrémité inférieure du nombre de messages (vous voyez que cela ne se produit pas dans le panneau Jon Skeet, seulement chez les utilisateurs mortels panneau). Ne convient-il pas de ne pas centrer le numéro de poste (puisque je veux dire centré le score par score moyen par utilisateur)?

  2. Il devrait être évident à partir des graphiques que le score est très asymétrique à droite (et le centrage moyen n'a pas changé cela). Lors de l'ajustement d'une ligne de régression, j'ai ajusté à la fois des modèles linéaires et un modèle utilisant les erreurs de sable blanc Huber (via rlmdans le package MASS R ) et cela n'a fait aucune différence dans les estimations de pente. Aurais-je dû envisager une transformation des données au lieu d'une régression robuste? Notez que toute transformation devrait prendre en compte la possibilité de scores 0 et négatifs. Ou aurais-je dû utiliser un autre type de modèle pour les données de comptage au lieu d'OLS?

  3. Je pense que les deux derniers graphiques, en général, pourraient être améliorés (et sont également liés à des stratégies de modélisation améliorées). À mon avis (blasé), je soupçonnerais que si les effets de réputation sont réels, ils se réaliseraient très tôt dans l'histoire des affiches (je suppose que si cela est vrai, ils peuvent être reconsidérés "vous avez donné d'excellentes réponses alors maintenant je vais voter pour tous vos affiche des effets "au lieu de" réputation par score total "). Comment puis-je créer un graphique pour démontrer si cela est vrai, tout en tenant compte du sur-tracé? J'ai pensé que peut-être un bon moyen de démontrer cela serait d'adapter un modèle de formulaire;

Y=β0+β1(X1)+α1(Z1)+α2(Z2)αk(Zk)+γ1(Z1X1)γk(ZkX1)+ϵ

est le (le même que dans les diagrammes de dispersion actuels), X 1 est le , et Z 1Z k sont des variables fictives représentant une plage arbitraire de numéros de poste (par exempleYscore - (mean score per user)X1post numberZ1Zk est égalsi le numéro de poste est, Z 2 est égal àsi le numéro de poste estetc.). β 0 et ϵ sont respectivement le grand terme d'interception et d'erreur. Ensuite, je voudrais juste examiner le γ estiméZ111 through 25Z2126 through 50β0ϵγdes pentes pour déterminer si les effets de réputation sont apparus tôt dans l'historique des affiches (ou les afficher graphiquement). Est-ce une approche raisonnable (et appropriée)?

Il semble populaire d'adapter un certain type de ligne de lissage non paramétrique à des diagrammes de dispersion comme ceux-ci (tels que le lœss ou les splines), mais mon expérimentation avec des splines n'a rien révélé d'éclairant (toute preuve d'effets positifs au début de l'histoire de l'affiche était légère et tempéramentale) au nombre de splines que j'ai incluses). Puisque j'ai l'hypothèse que les effets se produisent tôt, mon approche de modélisation est-elle plus raisonnable que les splines?

Notez également que même si j'ai à peu près dragué toutes ces données, il y a encore beaucoup d'autres communautés à examiner (et certaines comme le superutilisateur et le défaut de serveur ont des échantillons de même taille à partir desquels), il est donc tout à fait raisonnable de suggérer à l'avenir analyse que j'utilise un échantillon hold-out pour examiner toute relation.

Andy W
la source
J'ai actuellement pris quelques notes sur ma première question, et elles peuvent être trouvées ici . Je ne suis pas sûr pour le moment si je devrais simplement poster ceci comme réponse à ma propre question ou ouvrir une question distincte (car cela est largement axé sur la visualisation des données). Mais n'hésitez pas à me laisser un commentaire sur le document google ici ou dans la salle de chat .
Andy W

Réponses:

14

C'est un essai courageux, mais avec ces seules données, il sera difficile, voire impossible, de répondre à votre question de recherche concernant «l'effet de la réputation sur les votes positifs». Le problème réside dans la séparation des effets des autres phénomènes, que j'énumère ainsi que de brèves indications sur la manière dont ils pourraient être traités.

  • Effets d'apprentissage . À mesure que la réputation augmente, l'expérience augmente; à mesure que l'expérience augmente, nous nous attendrions à ce qu'une personne publie de meilleures questions et réponses; à mesure que leur qualité s'améliore, nous nous attendons à plus de votes par poste. En théorie, une façon de gérer cela dans une analyse serait d'identifier les personnes actives sur plus d'un site SE . Sur un site donné, leur réputation augmenterait plus lentement que la quantité de leur expérience, fournissant ainsi une poignée pour démêler la réputation et les effets d'apprentissage.

  • Changements temporels dans le contexte. Ce sont une myriade, mais les plus évidents incluraient

    • Changements dans le nombre d'électeurs au fil du temps , y compris une tendance globale à la hausse, des tendances saisonnières (souvent associées aux cycles académiques) et des valeurs aberrantes (résultant d'une publicité externe telle que des liens vers des fils spécifiques). Toute analyse devrait en tenir compte lors de l'évaluation des tendances de la réputation d'un individu .

    • Changements dans les mœurs d'une communauté au fil du temps . Les communautés, et comment elles interagissent, évoluent et se développent. Au fil du temps, ils peuvent avoir tendance à voter plus ou moins souvent. Toute analyse devrait évaluer cet effet et en tenir compte .

    • Le temps lui-même. Au fil du temps, les publications antérieures restent disponibles pour la recherche et continuent de recueillir des votes. Ainsi, caeteris paribus , les anciens postes devraient produire plus de votes que les nouveaux. (Ceci est un fort effet: certaines personnes régulièrement élevées dans les ligues de réputation mensuelles n'ont pas visité ce site toute l'année!) Cela masquerait ou même inverserait tout effet de réputation positif réel. Toute analyse doit tenir compte de la durée de présence de chaque message sur le site .

  • Popularité du sujet. Certaines balises (par exemple, ) sont beaucoup plus populaires que d'autres. Ainsi, les changements dans les types de questions auxquelles une personne répond peuvent être confondus avec des changements temporels, comme un effet de réputation. Par conséquent, toute analyse doit tenir compte de la nature des questions auxquelles on répond.

  • Vues [ajoutées en tant que modification]. Les questions sont vues par différents nombres de personnes pour diverses raisons (filtres, liens, etc.). Il est possible que le nombre de votes reçus par les réponses soit lié au nombre de vues, bien que l'on s'attende à une proportion décroissante à mesure que le nombre de vues augmente. (C'est une question de combien de personnes vraiment intéressées par la question la voient réellement, pas le nombre brut. Ma propre expérience - anecdotique - est qu'environ la moitié des votes positifs que je reçois sur de nombreuses questions se trouvent dans les 5-15 premiers vues, bien que finalement les questions soient vues des centaines de fois.) Par conséquent, toute analyse doit prendre en compte le nombre de vues, mais probablement pas de manière linéaire.

  • Difficultés de mesure. La «réputation» est la somme des votes reçus pour différentes activités: réputation initiale, réponses, questions, approbation des questions, modification des wikis de balises, vote négatif et obtention de votes négatifs (par ordre décroissant de valeur). Étant donné que ces éléments évaluent des choses différentes et ne sont pas tous sous le contrôle des électeurs de la communauté, ils doivent être séparés pour analyse . Un "effet de réputation" est vraisemblablement associé à des votes positifs sur les réponses et, peut-être, sur les questions, mais ne devrait pas affecter d'autres sources de réputation. La réputation de départ devrait certainement être soustraite (mais pourrait peut-être être utilisée comme proxy pour une certaine quantité initiale d'expérience).

  • Facteurs cachés. Il peut y avoir de nombreux autres facteurs de confusion impossibles à mesurer. Par exemple, il existe différentes formes de «burn-out» dans la participation aux forums. Que font les gens après quelques semaines, mois ou années d'enthousiasme? Certaines possibilités incluent la concentration sur les questions rares, inhabituelles ou difficiles; fournir des réponses uniquement aux questions sans réponse; fournir moins de réponses mais de meilleure qualité; etc. Certains d'entre eux pourraient masquer un effet de réputation, tandis que d'autres pourraient être confondus par erreur avec un. Un indicateur indirect de tels facteurs pourrait être des changements dans les taux de participation d'un individu : ils pourraient signaler des changements dans la nature des postes de cette personne.

  • Phénomènes sous-communautaires. Un examen attentif des statistiques, même sur des pages SE très actives, montre qu'un nombre relativement restreint de personnes font la plupart des réponses et des votes. Une clique aussi petite que deux ou trois personnes peut avoir une profonde influence sur la croissance de la réputation. Une clique de deux personnes sera détectée par les moniteurs intégrés du site (et un tel groupe existe sur ce site), mais les cliques plus grandes ne le seront probablement pas. (Je ne parle pas de collusion formelle: les gens peuvent être membres de telles cliques sans même s'en rendre compte.) Comment pourrions-nous séparer un effet de réputation apparent des activités de ces cliques informelles invisibles, non détectées? Des données de vote détaillées pourraient être utilisées à des fins de diagnostic, mais je ne pense pas que nous ayons accès à ces données.

  • Données limitées. Pour détecter un effet de réputation, vous devrez probablement vous concentrer sur des individus avec des dizaines à des centaines de messages (au moins). Cela fait chuter la population actuelle à moins de 50 individus. Avec toutes les possibilités de variation et de confusion, c'est beaucoup trop petit pour dégager des effets significatifs à moins qu'ils ne soient vraiment très forts. Le remède consiste à augmenter l'ensemble de données avec des enregistrements provenant d'autres sites SE .

Compte tenu de toutes ces complications, il devrait être clair que les graphiques exploratoires de l'article de blog ont peu de chances de révéler quoi que ce soit, à moins que cela ne soit évident. Rien ne nous saute aux yeux: comme prévu, les données sont en désordre et compliquées. Il est prématuré de recommander des améliorations aux graphiques ou à l'analyse qui a été présentée: des changements progressifs et une analyse supplémentaire ne seront d'aucune utilité tant que ces problèmes fondamentaux n'auront pas été résolus .

whuber
la source
Merci pour votre réponse. Compte tenu de l'ampleur de la critique, je ne serai pas en mesure de répondre de manière appropriée à toutes les suggestions dans les commentaires (je devrai penser à un autre lieu, peut-être simplement publier un autre document Google). Mais je dirai maintenant que je ne pense pas qu'il soit impossible de répondre (dans la mesure où n'importe qui peut répondre à n'importe quoi avec des données d'observation comme celle-ci). Au minimum, étant donné les limites des confusions potentielles, on peut voir si les effets sur la réputation sont cohérents avec les preuves disponibles.
Andy W
@Andy Je pense que la confusion est substantielle et omniprésente, de sorte que même si cela ressemble à un effet de réputation, il pourrait s'agir d'un artefact: vous ne pourrez pas tirer de conclusion valable à moins d'avoir résolu ces problèmes. Bien sûr, je peux me tromper, mais la charge de la preuve vous incombe.
whuber
le "si cela ressemble à un effet de réputation est là" est l'énoncé clé (comme je le vois). La plupart des confusions que vous avez présentées seraient liées de manière ambiguë à la réputation / au numéro de poste / à l'histoire des affiches ou devraient théoriquement augmenter le score des affiches sur les réponses plus tard dans leur histoire. Si je ne trouve aucune preuve d'effets sur la réputation, bon nombre des confusions potentielles ne peuvent pas être utilisées pour expliquer son absence.
Andy W
@Andy Mais au moins une peut, et cela suffit. Il s'agit notamment des facteurs cachés, de la popularité du sujet et des changements temporels dans le contexte. Si vous ne traitez pas explicitement tout cela dans l'analyse, vos conclusions seront suspectes. Un coup d'œil aux enregistrements montre que la popularité des sujets et les changements temporels sont énormes; leurs influences potentielles submergent ce que l'on pourrait raisonnablement attendre des effets de réputation jusqu'à un ordre de grandeur.
whuber
2
@cardinal, même sans définition formelle, il serait possible pour un petit nombre de personnes d'avoir un impact appréciable sur les schémas de vote (ce à quoi je suppose que se réfère whuber dans ce contexte). Le message moyen de Jon Skeet n'était que de 5 votes positifs. Si tout d'un coup une personne décide de voter pour toutes ses réponses, cela pourrait avoir un impact assez important étant donné le faible score moyen au départ.
Andy W
5

YtZtYt=a0+a1Yt1+a2Zt1+ϵtZt=b0+b1Yt1+b2Zt1+δta2ZYZYtΔYt=YtYt1 à la place deYtFχ2T1T1/2YtZta0a1a2

Sur le point 1: si vous faisiez des effets fixes à la main, vous auriez dû centrer à la fois la variable de réponse et les variables explicatives. Le package de régression des données du panel l'aurait fait pour vous, mais la façon économétrique officielle de voir les choses est de soustraire la régression "entre" de la régression "groupée" (voir le livre noir de Wooldridge ; je n'ai pas vérifié la deuxième édition, mais je considère généralement la première édition comme la meilleure description de type manuel des données du panel économétrique).

Sur votre point 2: bien sûr, les erreurs standard Eicker / White n'affecteront pas vos estimations de points; s'ils le faisaient, cela indiquerait une implémentation incorrecte! Dans le contexte des séries chronologiques, un estimateur encore plus approprié est dû à Newey et West (1987) . Essayer des transformations pourrait aider. Je suis personnellement un grand fan de la transformation Box-Cox, mais dans le contexte de l'analyse que vous entreprenez, il est difficile de le faire proprement. Tout d'abord, vous auriez besoin d'un paramètre de décalage au-dessus du paramètre de forme, et les paramètres de décalage sont notoirement difficiles à identifier dans des modèles comme celui-ci. Deuxièmement, vous auriez probablement besoin de différents paramètres de changement / forme pour différentes personnes et / ou différents messages, et / ou ... (tout l'enfer se déchaînant). Les données de comptage sont également une option, mais dans le contexte de la modélisation moyenne, une régression de Poisson est tout aussi bonne que la transformation logarithmique, mais elle impose une hypothèse difficile à manier de variance = moyenne.

PS Vous pourriez probablement marquer cela avec des "données longitudinales" et des "séries chronologiques".

StasK
la source
merci pour la réponse et quelques commentaires / questions. Je suis d'accord que j'aurais au moins dû explorer une approche de série chronologique plus explicite dans ces données (je n'ai même pas vérifié s'il y avait des signes d'autocorrélation dans les résidus). Il y a quelques complications supplémentaires bien que dans la modélisation des séries chronologiques de ces données (qu'est-ce que t?, Et le score lui-même est dynamique et non fixe par numéro de poste), il n'y aurait pas non plus besoin d'une régression prédisant Z_t, je sais parfaitement ce que Z_t est une fonction de!
Andy W
De plus, je doute fortement que le score ne soit pas stationnaire, qu'est-ce qui vous fait penser qu'il l'est?
Andy W
À tout le moins, c'est probablement hétéroskédastique: certains messages sont intéressants, obtiennent beaucoup de hits et beaucoup de votes positifs, tandis que d'autres sont de petites clarifications ou RTFM - type de questions / réponses "Lire ce lien". Cela en soi le rendrait techniquement non stationnaire. Bien sûr, la stationnarité est une hypothèse testable, mais avec des données folles comme celles-ci, vous voudriez probablement être très sûr d'être trop conservateur dans les méthodes d'analyse (ou, comme je l'ai mentionné, pour être conscient que les résultats peuvent être bizarre).
StasK
Je suis un peu confus par le dernier commentaire. Comment les facteurs exogènes qui affectent le score d'une réponse rendent-ils la série hétéroscédastique (je suppose que vous voulez dire que la variance du score augmente / diminue avec le numéro de poste?), Et quelle est la pertinence de cela pour la question posée?
Andy W
Une série chronologique est stationnaire si les distributions marginales à tous les moments sont les mêmes. Donc, même si vous avez la même moyenne, une variation changeante rendra la série non stationnaire. Les modèles (G) ARCH pour lesquels un prix Nobel a été décerné au début des années 2000 en sont un exemple. Mais dans ces données, je m'attendrais également à des changements dans la moyenne. Si l'audience du site Web augmente, alors pour une qualité donnée d'une réponse, vous verrez probablement plus de votes, ce qui augmentera probablement la moyenne et la variance des scores.
StasK
3

Plusieurs autres modifications apportées aux parcelles:

  1. Bandes quantiles pour le score de réponse par rapport à la réputation précédente. (Parcelles 1 et 3)
  2. Graphiques de densité pour Skeet par rapport aux autres, stratifiés par poste # (graphique 3)
  3. Envisagez de stratifier par nombre de postes concurrents
  4. Stratifier selon le temps (on peut continuer à gagner des points longtemps après que la question a été posée)

Modéliser cela sera plus difficile. Vous pourriez envisager la régression de Poisson. Franchement, cependant, développer de bonnes parcelles est une bien meilleure méthode pour développer des connaissances et des compétences. Commencez la modélisation après avoir mieux compris les données.

Itérateur
la source
(+1) Après avoir laissé le message reposer pendant un certain temps, j'ai réalisé que visualiser la densité des points semble être une bien meilleure solution que d'essayer de visualiser les points eux-mêmes (bien que je ne sois pas tout à fait sûr de ce que vous entendez par "stratifier par la poste #"). Je pense également que tracer les quantiles estimés semble être une bonne idée, bien que pour les tracés 1 et 2, ce sera probablement juste dans le nuage massif. Encore une fois, je ne sais pas non plus ce que signifie "stratifier par le temps" dans ce contexte, voir le commentaire de Brad Larson sur le blog et ma réponse à ce sujet.
Andy W
De plus, je doute fortement que les postes concurrents aient quelque chose à voir avec les relations observées. Pensez-vous que les gens qui ont une grande réputation ont posté dans des discussions avec des réponses plus concurrentes plus tôt dans leur histoire? Vos suggestions concernant l'inclusion d'autres covariables semblent entrer en conflit avec la suggestion d'éviter la modélisation et de se concentrer sur les graphiques.
Andy W
L'idée derrière les postes concurrents est de nature exploratoire. La motivation à répondre n'a rien à voir avec cela. En ce qui concerne la modélisation, ce n'est pas que je suis contre la modélisation en soi, mais que vous n'êtes pas encore prêt à le faire avant d'avoir une meilleure compréhension des données. Si vous ne comprenez pas les données, vous ne comprendrez pas les modèles.
Iterator
Par stratification par poste #, je vous suggère de regrouper les messages. Cela peut être sur une échelle d'intervalle, comme 0-100 messages, 101-200, etc. Ou sur une échelle quantile: divisez les utilisateurs par ceux du dernier 10% du total des messages, 20% du fichier, etc. Parce que Skeet a tellement de messages, il est préférable de le comparer à son groupe de pairs, mais il est difficile de le comparer à un groupe de pairs de ceux qui ont exactement le même nombre de messages - le regroupement des données peut aider.
Iterator
Btw, pour la stratification, vous pouvez utiliser coplot().
Iterator
1

Whoa there. (Et je veux dire que dans le bon sens ;-)) Avant d'aller plus loin avec les modèles, vous devez aborder ce qui se passe avec les données.

Je ne vois pas d'explication pour la courbe très particulière au milieu de cette intrigue: http://stats.blogoverflow.com/files/2011/07/Rep_Correlated_With_Upvotes.png

Voir une telle courbe me fait penser qu'il y a quelque chose de très étrange à propos de ces points - qu'ils ne sont pas indépendants les uns des autres et reflètent plutôt une séquence d'observations de la même source.

(Note mineure: le titre de ce complot "Corrélation ..." est trompeur.)

Itérateur
la source
5
Cette courbe a l'air bizarre à cause du choix étrange d'échelles sur les axes. Il reflète les réponses qui ont contribué à la majorité de la réputation d'un utilisateur: les merveilles à un poste. Il est exponentiel car l'axe y est linéaire tandis que l'axe x est logarithmique. Vous devez vraiment ignorer tout ce qui est associé à la réputation des journaux moins de2car pour de nombreux utilisateurs, c'est là que leur réputation commence et vous devriez considérer presque n'importe quoi pour les réputations de journaux inférieures à3être juste du bruit. À ce titre, 99% de ce graphique est consacré à l'affichage de ce bruit: il n'y a pas beaucoup d'informations là-bas.
whuber
Cette courbe peut être expliquée par la nature de la relation entre la réputation et les votes positifs, et il s'agit probablement de personnes qui ont publié une réponse et ont acquis toute la réputation de cette seule réponse (je peux expliquer plus en détail pourquoi c'est probablement le cas si nécessaire) . Si j'avais tracé la réputation actuelle moins la réputation du poste le plus récent, cela aurait pris soin de cela pour la plupart (ces observations n'ont rien à voir avec l'analyse ultérieure). Vous souciez-vous de préciser que la corrélation est trompeuse?
Andy W
@whuber, je ne pense pas que je dirais quelque chose en dessous de 10 ^ 3 est juste du bruit. Une théorie des effets sur la réputation devrait certainement s'appliquer en cas d'absence de réputation. Je salue également toute amélioration suggérée des parcelles (il n'y a pas beaucoup d'informations dans aucune des parcelles!)
Andy W
Merci. Pour le titre, il n'y a pas de calcul de la corrélation. C'est juste un nuage de points entre score marginal et réputation. Sauf que, comme vous et @whuber le mentionnez, ce n'est pas vraiment le score marginal: il devrait être deltaRep (ou Rep (t) - Rep (t-1)) contre Rep (t-1).
Iterator
1
@Iterator, correct pour la dernière déclaration (10 points par vote positif), mais il semble toujours que vous soyez confus avec ce que je trace avec l'autre déclaration. L'axe Y n'est pas la réputation, mais le nombre de votes positifs pour le message le plus récent (ce n'est pas nécessairement Rep(t) - Rep(t-1)car les utilisateurs peuvent gagner la réputation d'autres endroits), l'axe X est la réputation actuelle (y compris la réputation acquise à partir de ce message). L'axe X est ce que j'ai suggéré de remplacer (en soustrayant les votes positifs obtenus à partir de la réponse à la question que j'ai tracée sur l'axe Y).
Andy W