Whiz Tools

T-Test Rechner

sampleDataDescription

T-Test Rechner

Einführung

Der t-Test ist ein grundlegendes statistisches Werkzeug, das verwendet wird, um festzustellen, ob ein signifikanter Unterschied zwischen den Mittelwerten von Gruppen besteht. Er wird in verschiedenen Bereichen wie Psychologie, Medizin und Wirtschaft für Hypothesentests weit verbreitet angewendet. Dieser Rechner ermöglicht es Ihnen, alle Arten von t-Tests durchzuführen:

  • Ein-Stichproben-t-Test: Testet, ob der Mittelwert einer einzelnen Gruppe von einem bekannten Wert abweicht.
  • Zwei-Stichproben-t-Test (unabhängige Stichproben): Vergleicht die Mittelwerte von zwei unabhängigen Gruppen.
  • Gepaarter t-Test: Vergleicht Mittelwerte aus derselben Gruppe zu unterschiedlichen Zeiten (z. B. vor und nach einer Behandlung).

Arten von t-Tests

Stichprobendaten Populationsmittel Ein-Stichproben-t-Test Stichprobe 1 Stichprobe 2 Mittelwertsdifferenz Zwei-Stichproben-t-Test Vorher Nachher Differenzen Gepaarter t-Test

So verwenden Sie diesen Rechner

  1. Wählen Sie den Typ des t-Tests aus:

    • Ein-Stichproben-t-Test
    • Zwei-Stichproben-t-Test
    • Gepaarter t-Test
  2. Geben Sie die erforderlichen Eingaben ein:

    • Für den Ein-Stichproben-t-Test:

      • Stichprobenmittel (xˉ\bar{x})
      • Stichprobenstandardabweichung (ss)
      • Stichprobengröße (nn)
      • Populationsmittel (μ0\mu_0)
    • Für den Zwei-Stichproben-t-Test:

      • Mittelwert der Stichprobe 1 (xˉ1\bar{x}_1)
      • Standardabweichung der Stichprobe 1 (s1s_1)
      • Stichprobengröße der Stichprobe 1 (n1n_1)
      • Mittelwert der Stichprobe 2 (xˉ2\bar{x}_2)
      • Standardabweichung der Stichprobe 2 (s2s_2)
      • Stichprobengröße der Stichprobe 2 (n2n_2)
      • Varianzannahme: Wählen Sie, ob die Varianzen gleich oder ungleich angenommen werden.
    • Für den gepaarten t-Test:

      • Differenzdaten: Geben Sie die paarweisen Differenzen ein.
      • Alternativ geben Sie das Mittel der Differenzen (dˉ\bar{d}), die Standardabweichung der Differenzen (sds_d) und die Stichprobengröße (nn) ein.
  3. Legen Sie das Signifikanzniveau (α\alpha) fest:

    • Häufige Wahlmöglichkeiten sind 0,05 für ein 95%-Konfidenzniveau oder 0,01 für ein 99%-Konfidenzniveau.
  4. Wählen Sie die Testrichtung:

    • Zweiseitiger Test: Testet auf einen Unterschied.
    • Einseitiger Test: Testet auf einen gerichteten Unterschied (geben Sie an, ob auf größer oder kleiner getestet wird).
  5. Klicken Sie auf die Schaltfläche "Berechnen":

    • Der Rechner zeigt an:

      • T-Statistik
      • Freiheitsgrade
      • P-Wert
      • Schlussfolgerung: Ob die Nullhypothese abgelehnt oder nicht abgelehnt werden soll.

Annahmen

Stellen Sie vor der Verwendung des t-Tests sicher, dass die folgenden Annahmen erfüllt sind:

  • Normalverteilung: Die Daten sollten annähernd normalverteilt sein.
  • Unabhängigkeit: Die Beobachtungen müssen unabhängig voneinander sein.
    • Für den Zwei-Stichproben-t-Test sollten die beiden Gruppen unabhängig sein.
    • Für den gepaarten t-Test sollten die Differenzen unabhängig sein.
  • Gleichheit der Varianzen:
    • Für den Zwei-Stichproben-t-Test mit gleichen Varianzen sollten die Varianzen der beiden Populationen gleich sein (Homoskedastizität).
    • Wenn diese Annahme nicht erfüllt ist, verwenden Sie den Welch's t-Test (ungleiche Varianzen).

Formel

Ein-Stichproben-t-Test

Die t-Statistik wird berechnet als:

t=xˉμ0snt = \frac{\bar{x} - \mu_0}{\frac{s}{\sqrt{n}}}
  • xˉ\bar{x}: Stichprobenmittel
  • μ0\mu_0: Populationsmittel unter der Nullhypothese
  • ss: Stichprobenstandardabweichung
  • nn: Stichprobengröße

Zwei-Stichproben-t-Test (unabhängige Stichproben)

Gleiche Varianzen angenommen
t=xˉ1xˉ2sp1n1+1n2t = \frac{\bar{x}_1 - \bar{x}_2}{s_p \sqrt{\frac{1}{n_1} + \frac{1}{n_2}}}

Pooled Standardabweichung (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}}
Ungleiche Varianzen (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}}}

Gepaarter t-Test

t=dˉsdnt = \frac{\bar{d}}{\frac{s_d}{\sqrt{n}}}
  • dˉ\bar{d}: Mittel der Differenzen
  • sds_d: Standardabweichung der Differenzen
  • nn: Anzahl der Paare

Freiheitsgrade

Ein-Stichproben- und gepaarter t-Test:
df=n1df = n - 1
Zwei-Stichproben-t-Test mit gleichen Varianzen:
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}}

Berechnung

Der Rechner führt die folgenden Schritte aus:

  1. Berechnung der T-Statistik unter Verwendung der entsprechenden Formel basierend auf dem ausgewählten Test.
  2. Bestimmung der Freiheitsgrade (df).
  3. Berechnung des P-Wertes, der der t-Statistik und den Freiheitsgraden entspricht:
    • Verwendet die t-Verteilung, um die Wahrscheinlichkeit zu finden.
  4. Vergleich des P-Wertes mit dem Signifikanzniveau (α\alpha):
    • Wenn pαp \leq \alpha, ablehnen Sie die Nullhypothese.
    • Wenn p>αp > \alpha, nicht ablehnen Sie die Nullhypothese.
  5. Interpretation der Ergebnisse:
    • Geben Sie eine Schlussfolgerung im Kontext des Tests an.

Anwendungsfälle

Ein-Stichproben-t-Test

  • Testen der Wirksamkeit eines neuen Medikaments:
    • Bestimmen Sie, ob die durchschnittliche Genesungszeit mit einem neuen Medikament von der bekannten durchschnittlichen Genesungszeit abweicht.
  • Qualitätskontrolle:
    • Überprüfen Sie, ob die durchschnittliche Länge von hergestellten Teilen von dem angegebenen Standard abweicht.

Zwei-Stichproben-t-Test

  • A/B-Tests im Marketing:
    • Vergleichen Sie die Konversionsraten zwischen zwei verschiedenen Webseitendesigns.
  • Bildungsforschung:
    • Überprüfen Sie, ob es einen Unterschied in den Testergebnissen zwischen zwei Lehrmethoden gibt.

Gepaarter t-Test

  • Vorher-Nachher-Studien:
    • Bewerten Sie den Gewichtsverlust vor und nach einem Diätprogramm.
  • Gepaarte Probanden:
    • Vergleichen Sie Blutdruckmessungen vor und nach der Verabreichung von Medikamenten an denselben Probanden.

Alternativen

Obwohl t-Tests leistungsstark sind, haben sie Annahmen, die möglicherweise nicht immer erfüllt sind. Alternativen sind:

  • Mann-Whitney U-Test:
    • Nicht-parametrische Alternative zum Zwei-Stichproben-t-Test, wenn die Daten nicht normalverteilt sind.
  • Wilcoxon-Vorzeichen-Rang-Test:
    • Nicht-parametrisches Äquivalent zum gepaarten t-Test.
  • ANOVA (Analyse der Varianz):
    • Wird verwendet, wenn Mittelwerte über mehr als zwei Gruppen verglichen werden.

Geschichte

Der t-Test wurde von William Sealy Gosset im Jahr 1908 entwickelt, der unter dem Pseudonym „Student“ veröffentlichte, während er in der Guinness-Brauerei in Dublin arbeitete. Der Test wurde entwickelt, um die Qualität von Stout zu überwachen, indem festgestellt wurde, ob die Probenchargen mit den Standards der Brauerei übereinstimmten. Aufgrund von Vertraulichkeitsvereinbarungen verwendete Gosset das Pseudonym "Student", was zu dem Begriff „Student's t-Test“ führte.

Im Laufe der Zeit ist der t-Test zu einem Grundpfeiler der statistischen Analyse geworden, der in verschiedenen wissenschaftlichen Disziplinen weit verbreitet gelehrt und angewendet wird. Er ebnete den Weg für die Entwicklung komplexerer statistischer Methoden und ist grundlegend im Bereich der inferenziellen Statistik.

Beispiele

Hier sind Codebeispiele für die Durchführung eines Ein-Stichproben-t-Tests in verschiedenen Programmiersprachen:

Excel

' Ein-Stichproben-t-Test in Excel VBA
Sub OneSampleTTest()
    Dim sampleData As Range
    Set sampleData = Range("A1:A9") ' Ersetzen Sie dies durch Ihren Datenbereich
    Dim hypothesizedMean As Double
    hypothesizedMean = 50 ' Ersetzen Sie dies durch Ihr hypothetisiertes Mittel

    Dim sampleMean As Double
    Dim sampleStdDev As Double
    Dim sampleSize As Integer
    Dim tStat As Double

    sampleMean = Application.WorksheetFunction.Average(sampleData)
    sampleStdDev = Application.WorksheetFunction.StDev_S(sampleData)
    sampleSize = sampleData.Count

    tStat = (sampleMean - hypothesizedMean) / (sampleStdDev / Sqr(sampleSize))

    MsgBox "T-Statistik: " & Format(tStat, "0.00")
End Sub

R

## Ein-Stichproben-t-Test in R
sample_data <- c(51, 49, 52, 48, 50, 47, 53, 49, 51)
t_test_result <- t.test(sample_data, mu = 50)
print(t_test_result)

Python

import numpy as np
from scipy import stats

## Ein-Stichproben-t-Test in Python
sample_data = [51, 49, 52, 48, 50, 47, 53, 49, 51]
t_statistic, p_value = stats.ttest_1samp(sample_data, 50)
print(f"T-Statistik: {t_statistic:.2f}, P-Wert: {p_value:.4f}")

JavaScript

// Ein-Stichproben-t-Test in JavaScript
function oneSampleTTest(sample, mu0) {
  const n = sample.length;
  const mean = sample.reduce((a, b) => a + b) / n;
  const sd = Math.sqrt(sample.map(x => (x - mean) ** 2).reduce((a, b) => a + b) / (n - 1));
  const t = (mean - mu0) / (sd / Math.sqrt(n));
  return t;
}

// Beispielverwendung:
const sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
const tStatistic = oneSampleTTest(sampleData, 50);
console.log(`T-Statistik: ${tStatistic.toFixed(2)}`);

MATLAB

% Ein-Stichproben-t-Test in MATLAB
sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
[h, p, ci, stats] = ttest(sampleData, 50);
disp(['T-Statistik: ', num2str(stats.tstat)]);
disp(['P-Wert: ', num2str(p)]);

Java

import org.apache.commons.math3.stat.inference.TTest;

public class OneSampleTTest {
    public static void main(String[] args) {
        double[] sampleData = {51, 49, 52, 48, 50, 47, 53, 49, 51};
        TTest tTest = new TTest();
        double mu = 50;
        double tStatistic = tTest.t(mu, sampleData);
        double pValue = tTest.tTest(mu, sampleData);
        System.out.printf("T-Statistik: %.2f%n", tStatistic);
        System.out.printf("P-Wert: %.4f%n", pValue);
    }
}

C#

using System;
using MathNet.Numerics.Statistics;

class OneSampleTTest
{
    static void Main()
    {
        double[] sampleData = {51, 49, 52, 48, 50, 47, 53, 49, 51};
        double mu0 = 50;
        int n = sampleData.Length;
        double mean = Statistics.Mean(sampleData);
        double stdDev = Statistics.StandardDeviation(sampleData);
        double tStatistic = (mean - mu0) / (stdDev / Math.Sqrt(n));
        Console.WriteLine($"T-Statistik: {tStatistic:F2}");
    }
}

Go

package main

import (
    "fmt"
    "math"
)

func oneSampleTTest(sample []float64, mu0 float64) float64 {
    n := float64(len(sample))
    var sum, mean, sd float64

    for _, v := range sample {
        sum += v
    }
    mean = sum / n

    for _, v := range sample {
        sd += math.Pow(v - mean, 2)
    }
    sd = math.Sqrt(sd / (n - 1))

    t := (mean - mu0) / (sd / math.Sqrt(n))
    return t
}

func main() {
    sampleData := []float64{51, 49, 52, 48, 50, 47, 53, 49, 51}
    tStatistic := oneSampleTTest(sampleData, 50)
    fmt.Printf("T-Statistik: %.2f\n", tStatistic)
}

Swift

import Foundation

func oneSampleTTest(sample: [Double], mu0: Double) -> Double {
    let n = Double(sample.count)
    let mean = sample.reduce(0, +) / n
    let sd = sqrt(sample.map { pow($0 - mean, 2) }.reduce(0, +) / (n - 1))
    let t = (mean - mu0) / (sd / sqrt(n))
    return t
}

let sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51]
let tStatistic = oneSampleTTest(sample: sampleData, mu0: 50)
print(String(format: "T-Statistik: %.2f", tStatistic))

PHP

<?php
function oneSampleTTest($sample, $mu0) {
    $n = count($sample);
    $mean = array_sum($sample) / $n;
    $sd = sqrt(array_sum(array_map(function($x) use ($mean) {
        return pow($x - $mean, 2);
    }, $sample)) / ($n - 1));
    $t = ($mean - $mu0) / ($sd / sqrt($n));
    return $t;
}

$sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
$tStatistic = oneSampleTTest($sampleData, 50);
echo "T-Statistik: " . number_format($tStatistic, 2);
?>

Ruby

## Ein-Stichproben-t-Test in Ruby
def one_sample_t_test(sample, mu0)
  n = sample.size
  mean = sample.sum(0.0) / n
  sd = Math.sqrt(sample.map { |x| (x - mean)**2 }.sum / (n - 1))
  t = (mean - mu0) / (sd / Math.sqrt(n))
  t
end

sample_data = [51, 49, 52, 48, 50, 47, 53, 49, 51]
t_statistic = one_sample_t_test(sample_data, 50)
puts format("T-Statistik: %.2f", t_statistic)

Rust

// Ein-Stichproben-t-Test in Rust
fn one_sample_t_test(sample: &Vec<f64>, mu0: f64) -> f64 {
    let n = sample.len() as f64;
    let mean: f64 = sample.iter().sum::<f64>() / n;
    let sd = (sample.iter().map(|x| (x - mean).powi(2)).sum::<f64>() / (n - 1.0)).sqrt();
    let t = (mean - mu0) / (sd / n.sqrt());
    t
}

fn main() {
    let sample_data = vec![51.0, 49.0, 52.0, 48.0, 50.0, 47.0, 53.0, 49.0, 51.0];
    let t_statistic = one_sample_t_test(&sample_data, 50.0);
    println!("T-Statistik: {:.2}", t_statistic);
}

Numerisches Beispiel

Problem: Ein Hersteller behauptet, dass die durchschnittliche Lebensdauer einer Batterie 50 Stunden beträgt. Eine Verbrauchergruppe testet 9 Batterien und zeichnet die folgenden Lebensdauern (in Stunden) auf:

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

Gibt es Hinweise auf einem 0.05 Signifikanzniveau, dass die durchschnittliche Batterielebensdauer von 50 Stunden abweicht?

Lösung:

  1. Hypothesen aufstellen:

    • Nullhypothese (H0H_0): μ=50\mu = 50
    • Alternativhypothese (HaH_a): μ50\mu \neq 50
  2. Berechnung des Stichprobenmittelwerts (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. Berechnung der Stichprobenstandardabweichung (ss):

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

    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. Freiheitsgrade:

    df=n1=8df = n - 1 = 8
  6. Bestimmung des P-Wertes:

    • Für t=0.00t = 0.00 und df=8df = 8 beträgt der p-Wert 1.00.
  7. Schlussfolgerung:

    • Da p-Wert (1.00) > α\alpha (0.05), nicht ablehnen wir die Nullhypothese.
    • Interpretation: Es gibt nicht genügend Beweise, um zu suggerieren, dass die durchschnittliche Batterielebensdauer von 50 Stunden abweicht.

Referenzen

  1. Gosset, W. S. (1908). "Der wahrscheinliche Fehler eines Mittelwerts". Biometrika, 6(1), 1–25. JSTOR.
  2. Student's t-Test. Wikipedia. https://de.wikipedia.org/wiki/Student%27s_t-Test
  3. GraphPad Statistik Leitfaden: Verständnis von t-Tests. Link
  4. Laerd Statistik: Unabhängiger t-Test. Link

Zusätzliche Ressourcen

  • Annahmenprüfungen:
    • Verwenden Sie den Shapiro-Wilk-Test auf Normalverteilung.
    • Verwenden Sie den Levene-Test auf Gleichheit der Varianzen.
  • Software-Tools:
    • SPSS, SAS, Stata und R für fortgeschrittene statistische Analysen.
  • Weiterführende Literatur:
    • "Introduction to Statistical Learning" von Gareth James, Daniela Witten, Trevor Hastie und Robert Tibshirani.
    • "Statistical Methods" von George W. Snedecor und William G. Cochran.
Feedback