Question:
Comment puis-je déterminer s'il existe une différence statistiquement significative entre deux moyennes?
Carson Myers
2011-09-25 10:04:08 UTC
view on stackexchange narkive permalink

J'écris un programme de référence en C # et Java en tant que première tâche pour une classe CS. Nous sommes censés rédiger une sorte de rapport sur nos méthodes et les résultats du benchmark, et j'aimerais ajouter un composant statistique au mien.

J'ai 15 échantillons d'exécution de chaque langue , et la moyenne et l'écart type de chacun. Comment puis-je déterminer s'il existe une différence statistiquement significative entre eux?

Trois réponses:
#1
+10
raegtin
2011-09-25 11:05:35 UTC
view on stackexchange narkive permalink

Si vos échantillons d'exécution pour chaque langue sont à peu près normalement distribués * (ce qui est probablement le cas), vous pouvez utiliser un t-test, en particulier un test t indépendant à deux échantillons avec des variances inégales .

Si vous avez installé R, vous pouvez le faire en exécutant t.test (x = c_sharp_samples, y = java_samples) .

Si, cependant, vous souhaitez exécuter le test à la main, calculez d'abord:

  • $ t = \ frac {\ bar { X_1} - \ bar {X_2}} {s _ {\ bar {X_1} - \ bar {X_2}}} $, où $ s _ {\ bar {X_1} - \ bar {X_2}} = \ sqrt {\ frac { s_1 ^ 2} {n_1} + \ frac {s_2 ^ 2} {n_2}} $ et $ \ bar {X_1} $ est la moyenne d'échantillon des échantillons C #, $ s_1 $ est l'écart type d'échantillon des échantillons C #, $ n_1 $ est le nombre d'échantillons C #, et ainsi de suite.
  • $ df = \ frac {(s_1 ^ 2 / n_1 + s_2 ^ 2 / n_2) ^ 2} {(s_1 ^ 2 / n_1 ) ^ 2 / (n_1 - 1) + (s_2 ^ 2 / n_2) ^ 2 / (n_2 - 1)} $.

Alors $ t $ (approximativement) suit un t de Student distribution avec $ df $ degrés de liberté, donc cherchez $ t $ dans la table appropriée (ou en utilisant un calculateur de distribution).

* Même si vos échantillons d'exécution pour chaque langue ne sont pas normalement distribués, 15 échantillons sont probablement suffisants pour qu'une approximation normale (c'est-à-dire le CLT) entre en jeu, donc ça devrait aller. Mais si vous voulez être formel à ce sujet et ne voulez pas faire cette hypothèse normale, vous pouvez utiliser le test de Mann Whitney (non paramétrique) à la place.

#2
+3
Tal Galili
2011-09-25 11:04:06 UTC
view on stackexchange narkive permalink

On dirait que ce que vous voulez, c'est utiliser un test t ( voici la page wikipedia).

Si vous ne supposez pas que vos observations se répartissent normalement, essayez ceci , le test Mann-Whitney U, (mais il ne peut pas être calculé à partir de la seule moyenne / sd).

Assurez-vous que vos observations sont indépendantes, de sorte que la validité du t-test est préservé.

Bonne chance, et en savoir plus à ce sujet avant de faire les choses!

#3
+3
F. Tusell
2011-09-25 12:57:02 UTC
view on stackexchange narkive permalink

Un test de permutation est une autre possibilité, bien que je pense que pour le problème que vous décrivez, les alternatives qui ont été mentionnées seront supérieures.



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...