🛠️

Whiz Tools

Build • Create • Innovate

Calculateur de T-Test pour l'analyse statistique avancée

Effectuez tous les types de t-tests : t-test à un échantillon, t-test à deux échantillons et t-test apparié. Ce calculateur vous permet de réaliser des tests d'hypothèses statistiques pour les moyennes, facilitant l'analyse des données et l'interprétation des résultats.

Calculateur de T-Test

sampleDataDescription
📚

Documentation

Calculateur de T-Test

Introduction

Le t-test est un outil statistique fondamental utilisé pour déterminer s'il existe une différence significative entre les moyennes des groupes. Il est largement appliqué dans divers domaines tels que la psychologie, la médecine et les affaires pour les tests d'hypothèses. Ce calculateur vous permet d'effectuer tous les types de t-tests :

  • T-Test à un échantillon : Teste si la moyenne d'un seul groupe diffère d'une valeur connue.
  • T-Test à deux échantillons (échantillons indépendants) : Compare les moyennes de deux groupes indépendants.
  • T-Test apparié : Compare les moyennes du même groupe à différents moments (par exemple, avant et après un traitement).

Types de T-Tests

Données d'échantillon Moyenne de la population T-Test à un échantillon Échantillon 1 Échantillon 2 Différence de Moyenne T-Test à deux échantillons Avant Après Différences T-Test apparié

Comment utiliser ce calculateur

  1. Sélectionnez le type de T-Test :

    • T-Test à un échantillon
    • T-Test à deux échantillons
    • T-Test apparié
  2. Entrez les entrées requises :

    • Pour le T-Test à un échantillon :

      • Moyenne d'échantillon (xˉ\bar{x})
      • Écart-type d'échantillon (ss)
      • Taille d'échantillon (nn)
      • Moyenne de la population (μ0\mu_0)
    • Pour le T-Test à deux échantillons :

      • Moyenne de l'échantillon 1 (xˉ1\bar{x}_1)
      • Écart-type de l'échantillon 1 (s1s_1)
      • Taille de l'échantillon 1 (n1n_1)
      • Moyenne de l'échantillon 2 (xˉ2\bar{x}_2)
      • Écart-type de l'échantillon 2 (s2s_2)
      • Taille de l'échantillon 2 (n2n_2)
      • Hypothèse de variance : Sélectionnez si les variances sont supposées égales ou inégales.
    • Pour le T-Test apparié :

      • Données de différences : Entrez les différences par paires.
      • Alternativement, entrez la Moyenne des différences (dˉ\bar{d}), Écart-type des différences (sds_d), et Taille d'échantillon (nn).
  3. Définissez le niveau de signification (α\alpha) :

    • Les choix courants sont 0.05 pour un niveau de confiance de 95 % ou 0.01 pour un niveau de confiance de 99 %.
  4. Choisissez la direction du test :

    • Test bilatéral : Teste toute différence.
    • Test unilatéral : Teste une différence directionnelle (spécifiez si vous testez pour plus ou moins).
  5. Cliquez sur le bouton "Calculer" :

    • Le calculateur affichera :

      • T-Statistic
      • Degrés de liberté
      • P-Value
      • Conclusion : Si vous devez rejeter ou ne pas rejeter l'hypothèse nulle.

Hypothèses

Avant d'utiliser le t-test, assurez-vous que les hypothèses suivantes sont respectées :

  • Normalité : Les données doivent être approximativement normalement distribuées.
  • Indépendance : Les observations doivent être indépendantes les unes des autres.
    • Pour le T-Test à deux échantillons, les deux groupes doivent être indépendants.
    • Pour le T-Test apparié, les différences doivent être indépendantes.
  • Égalité des variances :
    • Pour le T-Test à deux échantillons avec variances égales, les variances des deux populations doivent être égales (homoscédasticité).
    • Si cette hypothèse n'est pas respectée, utilisez le Welch's T-Test (variances inégales).

Formule

T-Test à un échantillon

La statistique t est calculée comme suit :

t=xˉμ0snt = \frac{\bar{x} - \mu_0}{\frac{s}{\sqrt{n}}}
  • xˉ\bar{x} : Moyenne d'échantillon
  • μ0\mu_0 : Moyenne de la population sous l'hypothèse nulle
  • ss : Écart-type d'échantillon
  • nn : Taille d'échantillon

T-Test à deux échantillons (échantillons indépendants)

Variances égales supposées
t=xˉ1xˉ2sp1n1+1n2t = \frac{\bar{x}_1 - \bar{x}_2}{s_p \sqrt{\frac{1}{n_1} + \frac{1}{n_2}}}

Écart-type groupé (sps_p) :

sp=(n11)s12+(n21)s22n1+n22s_p = \sqrt{\frac{(n_1 - 1)s_1^2 + (n_2 - 1)s_2^2}{n_1 + n_2 - 2}}
Variances inégales (Welch's T-Test)
t=xˉ1xˉ2s12n1+s22n2t = \frac{\bar{x}_1 - \bar{x}_2}{\sqrt{\frac{s_1^2}{n_1} + \frac{s_2^2}{n_2}}}

T-Test apparié

t=dˉsdnt = \frac{\bar{d}}{\frac{s_d}{\sqrt{n}}}
  • dˉ\bar{d} : Moyenne des différences
  • sds_d : Écart-type des différences
  • nn : Nombre de paires

Degrés de liberté

T-Test à un échantillon et T-Test apparié :
df=n1df = n - 1
T-Test à deux échantillons avec variances égales :
df=n1+n22df = n_1 + n_2 - 2
Welch's T-Test :
df=(s12n1+s22n2)2(s12n1)2n11+(s22n2)2n21df = \frac{\left( \frac{s_1^2}{n_1} + \frac{s_2^2}{n_2} \right)^2}{\frac{\left( \frac{s_1^2}{n_1} \right)^2}{n_1 -1} + \frac{\left( \frac{s_2^2}{n_2} \right)^2}{n_2 -1}}

Calcul

Le calculateur effectue les étapes suivantes :

  1. Calculer la statistique T en utilisant la formule appropriée en fonction du test sélectionné.
  2. Déterminer les degrés de liberté (df).
  3. Calculer la P-Value correspondant à la statistique t et aux df :
    • Utilise la distribution t pour trouver la probabilité.
  4. Comparer la P-Value avec le niveau de signification (α\alpha) :
    • Si pαp \leq \alpha, rejetez l'hypothèse nulle.
    • Si p>αp > \alpha, ne rejetez pas l'hypothèse nulle.
  5. Interpréter les résultats :
    • Fournir une conclusion dans le contexte du test.

Cas d'utilisation

T-Test à un échantillon

  • Tester l'efficacité d'un nouveau médicament :
    • Déterminer si le temps de récupération moyen avec un nouveau médicament diffère du temps de récupération moyen connu.
  • Contrôle de qualité :
    • Vérifier si la longueur moyenne des pièces fabriquées s'écarte de la norme spécifiée.

T-Test à deux échantillons

  • Test A/B en marketing :
    • Comparer les taux de conversion entre deux conceptions de page web différentes.
  • Recherche éducative :
    • Évaluer s'il existe une différence dans les résultats d'examen entre deux méthodes d'enseignement.

T-Test apparié

  • Études avant et après :
    • Évaluer la perte de poids avant et après un programme de régime.
  • Sujets appariés :
    • Comparer les mesures de pression artérielle avant et après l'administration d'un médicament aux mêmes sujets.

Alternatives

Bien que les t-tests soient puissants, ils ont des hypothèses qui peuvent ne pas toujours être respectées. Les alternatives incluent :

  • Test U de Mann-Whitney :
    • Alternative non paramétrique au t-test à deux échantillons lorsque les données ne suivent pas une distribution normale.
  • Test de Wilcoxon des rangs signés :
    • Équivalent non paramétrique au t-test apparié.
  • ANOVA (Analyse de la variance) :
    • Utilisé lors de la comparaison des moyennes de plus de deux groupes.

Histoire

Le t-test a été développé par William Sealy Gosset en 1908, qui a publié sous le pseudonyme de "Student" alors qu'il travaillait à la brasserie Guinness à Dublin. Le test a été conçu pour surveiller la qualité de la stout en déterminant si les lots d'échantillons étaient conformes aux normes de la brasserie. En raison d'accords de confidentialité, Gosset a utilisé le pseudonyme "Student", ce qui a conduit au terme "t-test de Student."

Au fil du temps, le t-test est devenu une pierre angulaire de l'analyse statistique, largement enseigné et appliqué dans diverses disciplines scientifiques. Il a ouvert la voie au développement de méthodes statistiques plus complexes et est fondamental dans le domaine de la statistique inférentielle.

Exemples

Voici des exemples de code pour effectuer un T-Test à un échantillon dans divers langages de programmation :

Excel

1' T-Test à un échantillon dans Excel VBA
2Sub OneSampleTTest()
3    Dim sampleData As Range
4    Set sampleData = Range("A1:A9") ' Remplacez par votre plage de données
5    Dim hypothesizedMean As Double
6    hypothesizedMean = 50 ' Remplacez par votre moyenne hypothétique
7
8    Dim sampleMean As Double
9    Dim sampleStdDev As Double
10    Dim sampleSize As Integer
11    Dim tStat As Double
12
13    sampleMean = Application.WorksheetFunction.Average(sampleData)
14    sampleStdDev = Application.WorksheetFunction.StDev_S(sampleData)
15    sampleSize = sampleData.Count
16
17    tStat = (sampleMean - hypothesizedMean) / (sampleStdDev / Sqr(sampleSize))
18
19    MsgBox "T-Statistic: " & Format(tStat, "0.00")
20End Sub
21

R

1## T-Test à un échantillon en R
2sample_data <- c(51, 49, 52, 48, 50, 47, 53, 49, 51)
3t_test_result <- t.test(sample_data, mu = 50)
4print(t_test_result)
5

Python

1import numpy as np
2from scipy import stats
3
4## T-Test à un échantillon en Python
5sample_data = [51, 49, 52, 48, 50, 47, 53, 49, 51]
6t_statistic, p_value = stats.ttest_1samp(sample_data, 50)
7print(f"T-Statistic: {t_statistic:.2f}, P-Value: {p_value:.4f}")
8

JavaScript

1// T-Test à un échantillon en JavaScript
2function oneSampleTTest(sample, mu0) {
3  const n = sample.length;
4  const mean = sample.reduce((a, b) => a + b) / n;
5  const sd = Math.sqrt(sample.map(x => (x - mean) ** 2).reduce((a, b) => a + b) / (n - 1));
6  const t = (mean - mu0) / (sd / Math.sqrt(n));
7  return t;
8}
9
10// Exemple d'utilisation :
11const sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
12const tStatistic = oneSampleTTest(sampleData, 50);
13console.log(`T-Statistic: ${tStatistic.toFixed(2)}`);
14

MATLAB

1% T-Test à un échantillon en MATLAB
2sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
3[h, p, ci, stats] = ttest(sampleData, 50);
4disp(['T-Statistic: ', num2str(stats.tstat)]);
5disp(['P-Value: ', num2str(p)]);
6

Java

1import org.apache.commons.math3.stat.inference.TTest;
2
3public class OneSampleTTest {
4    public static void main(String[] args) {
5        double[] sampleData = {51, 49, 52, 48, 50, 47, 53, 49, 51};
6        TTest tTest = new TTest();
7        double mu = 50;
8        double tStatistic = tTest.t(mu, sampleData);
9        double pValue = tTest.tTest(mu, sampleData);
10        System.out.printf("T-Statistic: %.2f%n", tStatistic);
11        System.out.printf("P-Value: %.4f%n", pValue);
12    }
13}
14

C#

1using System;
2using MathNet.Numerics.Statistics;
3
4class OneSampleTTest
5{
6    static void Main()
7    {
8        double[] sampleData = {51, 49, 52, 48, 50, 47, 53, 49, 51};
9        double mu0 = 50;
10        int n = sampleData.Length;
11        double mean = Statistics.Mean(sampleData);
12        double stdDev = Statistics.StandardDeviation(sampleData);
13        double tStatistic = (mean - mu0) / (stdDev / Math.Sqrt(n));
14        Console.WriteLine($"T-Statistic: {tStatistic:F2}");
15    }
16}
17

Go

1package main
2
3import (
4    "fmt"
5    "math"
6)
7
8func oneSampleTTest(sample []float64, mu0 float64) float64 {
9    n := float64(len(sample))
10    var sum, mean, sd float64
11
12    for _, v := range sample {
13        sum += v
14    }
15    mean = sum / n
16
17    for _, v := range sample {
18        sd += math.Pow(v - mean, 2)
19    }
20    sd = math.Sqrt(sd / (n - 1))
21
22    t := (mean - mu0) / (sd / math.Sqrt(n))
23    return t
24}
25
26func main() {
27    sampleData := []float64{51, 49, 52, 48, 50, 47, 53, 49, 51}
28    tStatistic := oneSampleTTest(sampleData, 50)
29    fmt.Printf("T-Statistic: %.2f\n", tStatistic)
30}
31

Swift

1import Foundation
2
3func oneSampleTTest(sample: [Double], mu0: Double) -> Double {
4    let n = Double(sample.count)
5    let mean = sample.reduce(0, +) / n
6    let sd = sqrt(sample.map { pow($0 - mean, 2) }.reduce(0, +) / (n - 1))
7    let t = (mean - mu0) / (sd / sqrt(n))
8    return t
9}
10
11let sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51]
12let tStatistic = oneSampleTTest(sample: sampleData, mu0: 50)
13print(String(format: "T-Statistic: %.2f", tStatistic))
14

PHP

1<?php
2function oneSampleTTest($sample, $mu0) {
3    $n = count($sample);
4    $mean = array_sum($sample) / $n;
5    $sd = sqrt(array_sum(array_map(function($x) use ($mean) {
6        return pow($x - $mean, 2);
7    }, $sample)) / ($n - 1));
8    $t = ($mean - $mu0) / ($sd / sqrt($n));
9    return $t;
10}
11
12$sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
13$tStatistic = oneSampleTTest($sampleData, 50);
14echo "T-Statistic: " . number_format($tStatistic, 2);
15?>
16

Ruby

1## T-Test à un échantillon en Ruby
2def one_sample_t_test(sample, mu0)
3  n = sample.size
4  mean = sample.sum(0.0) / n
5  sd = Math.sqrt(sample.map { |x| (x - mean)**2 }.sum / (n - 1))
6  t = (mean - mu0) / (sd / Math.sqrt(n))
7  t
8end
9
10sample_data = [51, 49, 52, 48, 50, 47, 53, 49, 51]
11t_statistic = one_sample_t_test(sample_data, 50)
12puts format("T-Statistic: %.2f", t_statistic)
13

Rust

1// T-Test à un échantillon en Rust
2fn one_sample_t_test(sample: &Vec<f64>, mu0: f64) -> f64 {
3    let n = sample.len() as f64;
4    let mean: f64 = sample.iter().sum::<f64>() / n;
5    let sd = (sample.iter().map(|x| (x - mean).powi(2)).sum::<f64>() / (n - 1.0)).sqrt();
6    let t = (mean - mu0) / (sd / n.sqrt());
7    t
8}
9
10fn main() {
11    let sample_data = vec![51.0, 49.0, 52.0, 48.0, 50.0, 47.0, 53.0, 49.0, 51.0];
12    let t_statistic = one_sample_t_test(&sample_data, 50.0);
13    println!("T-Statistic: {:.2}", t_statistic);
14}
15

Exemple numérique

Problème : Un fabricant prétend que la durée de vie moyenne d'une batterie est de 50 heures. Un groupe de consommateurs teste 9 batteries et enregistre les durées de vie suivantes (en heures) :

51, 49, 52, 48, 50, 47, 53, 49, 5151,\ 49,\ 52,\ 48,\ 50,\ 47,\ 53,\ 49,\ 51

Y a-t-il des preuves au niveau de signification de 0.05 pour suggérer que la durée de vie moyenne de la batterie diffère de 50 heures ?

Solution :

  1. Énoncer les hypothèses :

    • Hypothèse nulle (H0H_0) : μ=50\mu = 50
    • Hypothèse alternative (HaH_a) : μ50\mu \neq 50
  2. Calculer la moyenne d'échantillon (xˉ\bar{x}) :

    xˉ=51+49+52+48+50+47+53+49+519=50.00\bar{x} = \frac{51 + 49 + 52 + 48 + 50 + 47 + 53 + 49 + 51}{9} = 50.00
  3. Calculer l'écart-type d'échantillon (ss) :

    s=(xixˉ)2n1=2.0s = \sqrt{\frac{\sum (x_i - \bar{x})^2}{n - 1}} = 2.0
  4. Calculer la statistique T :

    t=xˉμ0sn=50.00502.09=0.00t = \frac{\bar{x} - \mu_0}{\frac{s}{\sqrt{n}}} = \frac{50.00 - 50}{\frac{2.0}{\sqrt{9}}} = 0.00
  5. Degrés de liberté :

    df=n1=8df = n - 1 = 8
  6. Déterminer la P-Value :

    • Pour t=0.00t = 0.00 et df=8df = 8, la p-value est 1.00.
  7. Conclusion :

    • Puisque p-value (1.00) > α\alpha (0.05), nous ne rejetons pas l'hypothèse nulle.
    • Interprétation : Il n'y a pas suffisamment de preuves pour suggérer que la durée de vie moyenne de la batterie diffère de 50 heures.

Références

  1. Gosset, W. S. (1908). "L'erreur probable d'une moyenne". Biometrika, 6(1), 1–25. JSTOR.
  2. T-test de Student. Wikipédia. https://fr.wikipedia.org/wiki/T-test_de_Student
  3. Guide de statistiques GraphPad : Comprendre les t-tests. Lien
  4. Statistiques Laerd : T-test indépendant. Lien

Ressources supplémentaires

  • Vérifications des hypothèses :
    • Utilisez le test de Shapiro-Wilk pour la normalité.
    • Utilisez le test de Levene pour l'égalité des variances.
  • Outils logiciels :
    • SPSS, SAS, Stata et R pour une analyse statistique avancée.
  • Lectures supplémentaires :
    • "Introduction à l'apprentissage statistique" par Gareth James, Daniela Witten, Trevor Hastie et Robert Tibshirani.
    • "Méthodes statistiques" par George W. Snedecor et William G. Cochran.