Comment les statistiques sont-elles appliquées en informatique pour évaluer l'exactitude des allégations de recherche?

8

J'ai remarqué dans ma courte vie universitaire que de nombreux articles publiés dans notre domaine n'ont parfois pas beaucoup de rigueur en matière de statistiques. Ce n'est pas seulement une hypothèse; J'ai entendu des professeurs dire la même chose.

Par exemple, dans les disciplines CS, je vois des articles publiés prétendant que la méthodologie X a été observée pour être efficace et cela est prouvé par l'ANOVA et l'ANCOVA, mais je ne vois aucune référence pour d'autres chercheurs évaluant que les contraintes nécessaires ont été observées. On dirait un peu que dès l'apparition d'une `` fonction et d'un nom complexes '', cela montre que le chercheur utilise une méthode et une approche hautement crédibles `` il doit savoir ce qu'il fait et c'est bien s'il ne décrit pas les contraintes '' , disons, pour cette distribution ou approche donnée, afin que la communauté puisse l'évaluer.

Parfois, il existe des excuses pour justifier l'hypothèse avec un échantillon aussi petit.

Ma question ici est donc posée comme un étudiant des disciplines CS comme un aspirant à en savoir plus sur les statistiques: Comment les informaticiens abordent-ils les statistiques?

Cette question pourrait sembler que je demande ce que j'ai déjà expliqué, mais c'est mon opinion . Je peux me tromper, ou je peux me concentrer sur un groupe de praticiens alors que d'autres groupes de chercheurs en sciences de la vie font peut-être autre chose qui suit de meilleures pratiques en matière de rigueur statistique.

Donc, plus précisément, ce que je veux, c'est "Notre domaine est ou n'est pas dans les statistiques en raison des faits donnés (par exemple, des articles, des livres ou un autre article de discussion à ce sujet sont très bien)". La réponse @Patrick est plus proche de cela.

Oeufcoque Penteano
la source
Veuillez me faire savoir si ma réponse ne correspond pas tout à fait à ce que vous cherchiez ... Je peux trouver quelques exemples, si vous le souhaitez, mais il semble que vous en ayez déjà beaucoup vous-même. De plus, à moins que vous n'ayez accès aux délibérations, il peut être difficile de présenter des liens vers les documents.
Patrick87
J'ai accès aux bibliothèques numériques IEEE et ACM, des exemples seraient également très bien accueillis sur votre poste, je pourrais les utiliser, plus tard lorsque je gagnerai mon doctorat pour montrer aux étudiants que je finis par conseiller de bons et de mauvais exemples sur ce point. Et oui, c'est le sport d'opinion et de déclaration que je recherchais.
Oeufcoque Penteano
Notez que de grandes parties de l'informatique ne sont pas du tout empiriques et donc de ne pas (ab) utiliser les statistiques. Sur une note sarcastique, les gens du génie logiciel sont «connus» pour écrire beaucoup et dire peu (de pertinence). La première étape serait d' apprendre des statistiques; quelques-uns des aspirants chercheurs en génie logiciel que je connais ont déjà suivi un cours ou quoi que ce soit sur les statistiques.
Raphael
Bon point. J'ai l'habitude d'écouter ça aussi. Que serait-il envisagé ensuite?
Oeufcoque Penteano

Réponses:

11

En tant qu'étudiant diplômé en informatique, qui a une expérience de la recherche dans des domaines autres que l'informatique et dont le groupe de recherche travaille dans un domaine de l'informatique où les statistiques peuvent être fructueusement appliquées, je peux offrir mon expérience; Votre kilométrage peut varier.

En général, même les recherches scientifiques les plus bien intentionnées peuvent ne pas appliquer rigoureusement l'analyse statistique aux résultats, et d'après mon expérience, cela n'empêche pas toujours que des articles comprenant de tels résultats mal analysés soient acceptés pour publication. Le domaine dans lequel mon groupe opère est principalement dans l'informatique distribuée et l'architecture informatique hautes performances. Souvent, la recherche implique des conceptions expérimentales dont les performances ne peuvent pas être facilement comprises analytiquement dans les détails requis. À ce titre, les résultats empiriques sont souvent utilisés comme preuves pour les allégations.

De toute évidence, les expériences doivent être conçues - et les résultats analysés - de manière à donner une certaine assurance que les résultats sont statistiquement significatifs. La plupart du temps, cela ne se fait pas, même dans certains des lieux les plus importants. Lorsqu'une analyse statistique est appliquée, elle n'est presque jamais rigoureuse dans un sens significatif; le plus que l'on voit généralement (et on est content de le voir!) est qu'une expérience a été répétée n fois, pour certains n choisis arbitrairement , où généralement1<n<5. La sélection des barres d'erreur (le cas échéant) semble être principalement une question de préférence ou de goût personnels.

En résumé, non, ce n'est pas seulement vous; et ce n'est pas seulement du génie logiciel. En général, d'après mon expérience, plusieurs domaines de la recherche informatique semblent pécher par excès de pouvoir. En fait, il pourrait même être préjudiciable à la viabilité d'un document soumis de s'attarder sur des considérations statistiques. Cela ne veut pas dire que je trouve la situation satisfaisante; loin de là. Mais ce sont mes impressions. Par exemple, vous pouvez consulter la section 5 de ce document, qui a été présenté à Supercomputing 2011, l'une des conférences les plus prestigieuses dans le domaine du calcul haute performance. Plus précisément, jetez un œil à certaines des discussions sur les résultats dans la section 5, et voyez si vous arrivez aux mêmes conclusions que moi sur la rigueur de l'analyse statistique des résultats expérimentaux.

Plus généralement, cette lacune peut être symptomatique d'une condition dans certains domaines de l'informatique de publier plus d'articles plutôt que moins, de cibler les conférences plutôt que les revues et de mettre l'accent sur les progrès progressifs plutôt que sur les améliorations significatives et fondamentales de la compréhension. Vous pouvez consulter cet article , qui fournit des informations précieuses dans ce sens.

Patrick87
la source
Merci beaucoup pour votre avis. Je suis content de voir que d'autres personnes pensent de cette façon. J'espère que la communauté a également d'autres opinions à partager ou, à tout le moins, à exprimer son opinion. :) Dommage ici, je suis toujours une recrue donc je ne peux rien voter.
Oeufcoque Penteano
@OeufcoquePenteano Hé, tout le monde est une recrue quand ils commencent. C'est une bonne question et soulève un point intéressant sur une lacune potentielle dans les normes de recherche en informatique. J'ajouterai à la réponse sous peu. Notez également que cette question peut être fermée (tôt ou tard, même) par d'autres membres, car des questions comme celle-ci ont (jusqu'à présent) été considérées avec un certain soupçon, et puisque ce site est toujours en version bêta, la communauté essaie toujours de définir ce qui est sur et hors sujet ici.
Patrick87
Mais la proposition initiale mentionne l'informatique et la recherche et celle-ci répond à ces critères, n'est-ce pas? À ce stade, il n'y a pas d'autres critères plus raffinés qui pourraient exclure cette question du jeu, ou il y en aurait? Ou y a-t-il une autre famille de piles dont je pourrais discuter sur cette question? Merci de votre compliment et de votre attention pour y répondre :)
Oeufcoque Penteano
1
En ce qui concerne l'analyse comparative des implémentations de preuve de concept, j'ai du mal à voir comment la signification peut être établie. Il ne semble pas possible d'appliquer des statistiques ici; prendre des mesures seules n'est pas une statistique. Il est cependant important que les mesures soient interprétées avec soin et avec perspective.
Raphael
4
@ Patrick87: Je ne veux pas préconiser d'ignorer la signification statistique. Il est difficile, cependant. Soit dit en passant, je fais des repères pour ma thèse de maîtrise. Je lance mes affaires (plusieurs fois) sur deux ou trois machines et je prends soin de mesurer les temps pertinents. Que puis-je faire d'autre? Je ne peux même pas commencer à utiliser des statistiques rigoureuses parce que je n'ai aucune idée de ce que peut être un modèle stochastique pour l'exécution multicœur d'algorithmes avec la JVM au milieu.
Raphael
2

L'ingénierie logicielle comprend de nombreuses fonctionnalités. Deux d'entre eux sont le facteur humain et la mesure de la qualité.

Disons que je veux faire une analyse de productivité. La collecte de données serait difficile à comparer à l'analyse d'algorithmes car les données concernent la productivité humaine. De même, la mesure objective de la qualité n'est pas facile à réaliser.

10 lignes de code par jour pour un système avionique contre 150 lignes de code par jour pour une application sur smartphone, laquelle a une productivité plus élevée et laquelle a une meilleure qualité? Et si les deux prétendent utiliser la même méthodologie? Les comparer, c'est comparer des pommes et des oranges.

Il est parfois difficile d'obtenir une mesure précise de l'efficacité du code. Par exemple, j'ai mis un tas de variables inutiles et beaucoup de lignes de code pour ces variables, disons à des fins de débogage. Cela augmente ma productivité au stade du développement. À la fin, je les supprime tous et je dis que j'améliore mon code pour atteindre l'efficacité.

Plus tard, un chercheur arrive et effectue une analyse d'efficacité. Il pourrait traiter ce qui précède comme des bruits et se concentrer uniquement sur les résultats finaux. Certains chercheurs font attention aux bruits. Ensuite, vous allez voir des articles avec des conclusions différentes.

La statistique est censée être un outil pour aider les chercheurs à trouver les causes des problèmes. De nombreux chercheurs l'utilisent pour tirer des conclusions. C'est ce que vous avez observé.


Certaines remarques ci-dessus pourraient amener le PO à penser que je suis contre l'utilisation des statistiques en génie logiciel. Si oui, je voudrais être clair.

Je ne suis pas contre les statistiques. L'analyse des statistiques peut vous dire que X pourrait être vrai. Mais cela ne devrait pas être la fin de la recherche. La prochaine tâche devrait être de savoir si X est réellement vrai et pourquoi. C'est ce que je crois que la science est sur le point de trouver la vérité.

L'appartenance ou non du génie logiciel à l'informatique est un autre problème.

scaaahu
la source
Bonjour Merci. Je pense que vous êtes en mesure de commenter votre question, cela devrait donc fonctionner. Vous voulez dire que les ingénieurs logiciels peuvent simplement être autorisés à être plus informels sur les statistiques en raison des incertitudes? Je ne sais pas. Vous voyez, j'ai un livre que j'ai obtenu d'un professeur qui enseigne les statistiques aux chercheurs en sciences sociales. Je pense que leur côté est bien pire que le nôtre, et ils ont même des exemples bien définis dans un livre pour cela. Pourquoi, nous, avons même du code statique pour essayer différentes approches, il ne serait pas en mesure de le faire?
Oeufcoque Penteano
Je me demande si c'est l'écart que j'entends habituellement entre la recherche et les personnes qui travaillent réellement dans l'industrie. Je suis d'accord avec vous que pour le développeur, vous ne vous souciez pas des statistiques, mais du fonctionnement du programme. Mais, oui, le chef de projet en aurait besoin pour prédire si le développeur serait en retard ou non, peut-être? Toujours en tenant compte de la partie «revendications de recherche» de la question, croyez-vous que l'exactitude des statistiques serait inutile, par exemple en déduisant que peu de choses que les développeurs font inconsciemment réduisent leur productivité et leur plaisir de travailler? Ma préoccupation est là.
Oeufcoque Penteano
Vous voulez dire que faire des recherches expérimentales considérerait les gens comme des sujets? Je parlais de mesurer du code pour comprendre cela, pas d'expérimenter avec des gens. Désolé, je suis confus que votre dernière déclaration. Mais merci pour vos idées!
Oeufcoque Penteano
D'accord, je comprends maintenant. Comme je suis une recrue à ce sujet, je ne savais pas que de longues discussions sur les commentaires seraient une mauvaise pratique, donc je m'arrêterai à ce stade. Nous vous remercions de votre point de vue. J'attendrai encore quelques jours et j'élirai une réponse pour cela (au cas où la question ne serait pas appropriée pour cette communauté et serait fermée).
Oeufcoque Penteano
Je me demande si vous parlez des mêmes statistiques. Dans le grand public, une "statistique" est généralement un ensemble de mesures. En mathématiques et en sciences, "statistiques" l'estimation des paramètres du modèle à partir de données / mesures. Par conséquent, la liste des nombres de LOC n'est même pas des statistiques au sens scientifique; si vous pouvez (avec précision) estimer le paramètre "consommation moyenne de café développeur" à partir des données LOC, alors vous faites des statistiques (pertinentes); vous avez trouvé des événements corrélatifs.
Raphael
1

Les statistiques sont difficiles et souvent contre-intuitives. En outre, l'envie de "faire une expérience de plus" pour voir s'il y a un effet (et s'arrêter quand il apparaît) est forte, surtout si les expériences sont coûteuses (temps, travail, pas seulement argent). Rappelez-vous également que la publication d'un article sur la manière dont l'expérience soigneusement préparée, longue et coûteuse ne montre aucune relation statistiquement significative a tendance à être impossible.

Surtout en génie logiciel, il existe de nombreuses variables incontrôlables. Pour en tenir compte, vous auriez besoin de nombreuses réplications de l'expérience et vous obtiendrez des ressources pour en effectuer une ou au mieux deux.

vonbrand
la source
-3

Ma question ici est donc posée comme un étudiant des disciplines CS comme un aspirant à en savoir plus sur les statistiques: Comment les informaticiens abordent-ils les statistiques?

il y a plusieurs questions ci-dessus et certaines ne sont pas identiques à la question du titre et à certains égards, cette question a une prémisse défectueuse sous-jacente / une idée fausse sur un certain manque de lien entre les statistiques et CS. la question générale concerne l'interface de l'informatique et des statistiques.

il y a un vaste chevauchement entre les recoupements intenses dans certaines régions et c'est une tendance à la hausse avec le nouveau domaine fortement émergent du big data . dans certaines écoles (par exemple, même les écoles d'élite de la «Ivy League»), le diplôme CS est étroitement associé aux départements de mathématiques et de statistiques et certains ont une majeure commune . il existe une très forte interconnexion dans le domaine CS / statistique de l' apprentissage automatique . le domaine relativement nouveau de la bioinformatique a également une base statistique CS + très solide.

il y a tout un champ Statistiques computationnelles axées sur l'interface!

La statistique computationnelle, ou calcul statistique, est l'interface entre la statistique et l'informatique. C'est le domaine de la science informatique (ou calcul scientifique) spécifique à la science mathématique des statistiques. Ce domaine se développe également rapidement, ce qui conduit à demander qu'un concept plus large de l'informatique soit enseigné dans le cadre de l'enseignement statistique général [1].

oui, d'accord, comme indiqué dans la question, il existe de nombreux articles CS qui n'utilisent pas de statistiques, y compris des situations (telles que l'évaluation d'expériences empiriques) où cela pourrait même être hautement applicable et pertinent, mais exactement la même chose peut être dite de beaucoup d'autres domaines scientifiques, par exemple les mathématiques, et des domaines encore plus appliqués comme la physique.

il existe de nombreuses façons d'utiliser / d'appliquer des statistiques, certaines moins rigoureuses que d'autres, et tous les contextes n'appellent pas une pleine application des aspects très avancés des statistiques. par exemple, le simple fait d'exécuter plusieurs expériences et de tracer des barres d'erreur pour les écarts statistiques (ou même simplement des moyennes! ) est une utilisation de base des statistiques. les utilisations plus rigoureuses comprennent les tests d'hypothèses, mais il existe une observation générale dans le domaine que de nombreux articles scientifiques ne font pas de tests d'hypothèses rigoureuses même là où ils pourraient être applicables.

aussi, cette question est étiquetée avec . c'était ma majeure, et un cours de statistique était nécessaire pour réussir ce diplôme dans mon école et obtenir une majeure certifiée en ingénierie (par exemple ABET ), c'est probablement le cas dans de nombreuses autres universités. si l'on veut des principes de type CS plus appliqués et rigoureux comme les applications de la statistique, on peut emprunter la voie du "génie logiciel" dans l'enseignement.

vzn
la source
comme souligné dans un autre commentaire, les utilisations des statistiques, même dans des TCS plus abstraits, incluent l' analyse de la complexité des cas moyens et l' apprentissage des SAA, etc.
vzn
1
L'analyse de la complexité des cas moyens n'utilise pas de statistiques. Stochastique, certes, mais c'est autre chose.
Raphael
fortement en désaccord! il utilise clairement des concepts statistiques clés / fondamentaux mais peut-être n'est-il pas enseigné qu'il le fait! les points de vue académiques sur les domaines ont tendance à être compartimentés et cela se reflète ici! à mon humble avis, toute référence à une distribution d'intrants, etc. est évidemment une invocation de concepts statistiques ...
vzn