T-Test Calculator for Statistical Hypothesis Testing

Utfør alle typer t-tester: en-prøve, to-prøve og paret t-tester. Denne kalkulatoren lar deg gjennomføre statistisk hypotesetesting for gjennomsnitt, og hjelper til med dataanalyse og tolkning av resultater.

T-Test Kalkulator

sampleDataDescription
📚

Dokumentasjon

T-Test Kalkulator

Introduksjon

t-testen er et grunnleggende statistisk verktøy som brukes for å avgjøre om det er en signifikant forskjell mellom gjennomsnittene til grupper. Den brukes mye innen ulike felt som psykologi, medisin og næringsliv for hypotesetesting. Denne kalkulatoren lar deg utføre alle typer t-tester:

  • Enkel T-Test: Tester om gjennomsnittet av en enkelt gruppe avviker fra en kjent verdi.
  • To-Prøve T-Test (Uavhengige Prøver): Sammenligner gjennomsnittene til to uavhengige grupper.
  • Parret T-Test: Sammenligner gjennomsnitt fra samme gruppe på forskjellige tidspunkter (f.eks. før og etter behandling).

Typer T-Tester

Prøvedata Populasjonsgjennomsnitt Enkel T-Test Prøve 1 Prøve 2 Gjennomsnittlig Forskjell To-Prøve T-Test Før Etter Forskjeller Parret T-Test

Hvordan Bruke Denne Kalkulatoren

  1. Velg Type T-Test:

    • Enkel T-Test
    • To-Prøve T-Test
    • Parret T-Test
  2. Skriv Inn Nødvendige Inndata:

    • For Enkel T-Test:

      • Prøve Gjennomsnitt (xˉ\bar{x})
      • Prøve Standardavvik (ss)
      • Prøve Størrelse (nn)
      • Populasjonsgjennomsnitt (μ0\mu_0)
    • For To-Prøve T-Test:

      • Gjennomsnitt av Prøve 1 (xˉ1\bar{x}_1)
      • Standardavvik av Prøve 1 (s1s_1)
      • Prøve Størrelse av Prøve 1 (n1n_1)
      • Gjennomsnitt av Prøve 2 (xˉ2\bar{x}_2)
      • Standardavvik av Prøve 2 (s2s_2)
      • Prøve Størrelse av Prøve 2 (n2n_2)
      • Varians Antagelse: Velg om variansene antas å være like eller ulike.
    • For Parret T-Test:

      • Forskjeller Data: Skriv inn de parvise forskjellene.
      • Alternativt, skriv inn Gjennomsnitt av Forskjeller (dˉ\bar{d}), Standardavvik av Forskjeller (sds_d), og Prøve Størrelse (nn).
  3. Sett Signifikansnivå (α\alpha):

    • Vanlige valg er 0.05 for et 95% konfidensnivå eller 0.01 for et 99% konfidensnivå.
  4. Velg Test Retning:

    • To-Tailed Test: Tester for enhver forskjell.
    • One-Tailed Test: Tester for en retning forskjell (spesifiser om testing for større eller mindre).
  5. Klikk på "Beregn" Knappen:

    • Kalkulatoren vil vise:

      • T-Statistikk
      • Frihetsgrader
      • P-Verdi
      • Konklusjon: Om å forkaste eller ikke forkaste nullhypotesen.

Antagelser

Før du bruker t-testen, må du sørge for at følgende antagelser er oppfylt:

  • Normalitet: Dataene bør være omtrent normalfordelte.
  • Uavhengighet: Observasjoner må være uavhengige av hverandre.
    • For To-Prøve T-Test, bør de to gruppene være uavhengige.
    • For Parret T-Test, bør forskjellene være uavhengige.
  • Likhet av Varianser:
    • For To-Prøve T-Test med Like Varianser, bør variansene til de to populasjonene være like (homoskedastisitet).
    • Hvis denne antagelsen ikke er oppfylt, bruk Welch's T-Test (ulike varianser).

Formel

Enkel T-Test

T-statistikken beregnes som:

t=xˉμ0snt = \frac{\bar{x} - \mu_0}{\frac{s}{\sqrt{n}}}
  • xˉ\bar{x}: Prøve gjennomsnitt
  • μ0\mu_0: Populasjonsgjennomsnitt under nullhypotesen
  • ss: Prøve standardavvik
  • nn: Prøve størrelse

To-Prøve T-Test (Uavhengige Prøver)

Like Varianser Antatt
t=xˉ1xˉ2sp1n1+1n2t = \frac{\bar{x}_1 - \bar{x}_2}{s_p \sqrt{\frac{1}{n_1} + \frac{1}{n_2}}}

Pooled standardavvik (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}}
Ulike Varianser (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}}}

Parret T-Test

t=dˉsdnt = \frac{\bar{d}}{\frac{s_d}{\sqrt{n}}}
  • dˉ\bar{d}: Gjennomsnitt av forskjellene
  • sds_d: Standardavvik av forskjellene
  • nn: Antall par

Frihetsgrader

Enkel og Parret T-Test:
df=n1df = n - 1
To-Prøve T-Test med Like Varianser:
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}}

Beregning

Kalkulatoren utfører følgende trinn:

  1. Beregn T-Statistikken ved å bruke den passende formelen basert på den valgte testen.
  2. Bestem Frihetsgrader (df).
  3. Beregn P-Verdien som tilsvarer t-statistikken og df:
    • Bruker t-fordelingen for å finne sannsynligheten.
  4. Sammenlign P-Verdien med Signifikansnivået (α\alpha):
    • Hvis pαp \leq \alpha, forkast nullhypotesen.
    • Hvis p>αp > \alpha, feil å forkaste nullhypotesen.
  5. Tolk Resultatene:
    • Gi en konklusjon i konteksten av testen.

Bruksområder

Enkel T-Test

  • Testing av Ny Legemiddel Effektivitet:
    • Bestem om gjennomsnittlig gjenopprettingstid med et nytt legemiddel avviker fra den kjente gjennomsnittlige gjenopprettingstiden.
  • Kvalitetskontroll:
    • Sjekk om gjennomsnittlig lengde på produserte deler avviker fra den spesifiserte standarden.

To-Prøve T-Test

  • A/B Testing i Markedsføring:
    • Sammenlign konverteringsrater mellom to forskjellige nettsidedesign.
  • Utdanningsforskning:
    • Vurder om det er en forskjell i testresultater mellom to undervisningsmetoder.

Parret T-Test

  • Før og Etter Studier:
    • Vurder vekttap før og etter et diettprogram.
  • Matchede Subjekter:
    • Sammenlign blodtrykksmålinger før og etter administrering av medikament til de samme subjekt.

Alternativer

Selv om t-tester er kraftige, har de antagelser som kanskje ikke alltid er oppfylt. Alternativer inkluderer:

  • Mann-Whitney U Test:
    • Ikke-parametrisk alternativ til to-prøve t-test når dataene ikke følger en normalfordeling.
  • Wilcoxon Signed-Rank Test:
    • Ikke-parametrisk ekvivalent til den parrede t-testen.
  • ANOVA (Analyse av Varians):
    • Brukes når man sammenligner gjennomsnitt på tvers av mer enn to grupper.

Historie

T-testen ble utviklet av William Sealy Gosset i 1908, som publiserte under pseudonymet "Student" mens han jobbet ved Guinness Brewery i Dublin. Testen ble designet for å overvåke kvaliteten på stout ved å bestemme om prøvebatcher var i samsvar med bryggeriets standarder. På grunn av konfidensialitetsavtaler brukte Gosset pseudonymet "Student", noe som førte til termen "Student's t-test."

Over tid har t-testen blitt en hjørnestein i statistisk analyse, mye undervist og brukt i ulike vitenskapelige disipliner. Den banet vei for utviklingen av mer komplekse statistiske metoder og er grunnleggende innen inferensiell statistikk.

Eksempler

Her er kodeeksempler for å utføre en Enkel T-Test i forskjellige programmeringsspråk:

Excel

1' Enkel T-Test i Excel VBA
2Sub OneSampleTTest()
3    Dim sampleData As Range
4    Set sampleData = Range("A1:A9") ' Erstatt med ditt dataintervall
5    Dim hypothesizedMean As Double
6    hypothesizedMean = 50 ' Erstatt med ditt hypotetiske gjennomsnitt
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-Statistikk: " & Format(tStat, "0.00")
20End Sub
21

R

1## Enkel T-Test i 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## Enkel T-Test i 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-Statistikk: {t_statistic:.2f}, P-Verdi: {p_value:.4f}")
8

JavaScript

1// Enkel T-Test i 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// Eksempel på bruk:
11const sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
12const tStatistic = oneSampleTTest(sampleData, 50);
13console.log(`T-Statistikk: ${tStatistic.toFixed(2)}`);
14

MATLAB

1% Enkel T-Test i MATLAB
2sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
3[h, p, ci, stats] = ttest(sampleData, 50);
4disp(['T-Statistikk: ', num2str(stats.tstat)]);
5disp(['P-Verdi: ', 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-Statistikk: %.2f%n", tStatistic);
11        System.out.printf("P-Verdi: %.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-Statistikk: {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    sample_data := []float64{51, 49, 52, 48, 50, 47, 53, 49, 51}
28    t_statistic := oneSampleTTest(sample_data, 50.0)
29    fmt.Printf("T-Statistikk: %.2f\n", t_statistic)
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-Statistikk: %.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-Statistikk: " . number_format($tStatistic, 2);
15?>
16

Ruby

1## Enkel T-Test i 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-Statistikk: %.2f", t_statistic)
13

Rust

1// Enkel T-Test i 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-Statistikk: {:.2}", t_statistic);
14}
15

Numerisk Eksempel

Problem: En produsent hevder at gjennomsnittlig levetid for et batteri er 50 timer. En forbrukergruppe tester 9 batterier og registrerer følgende levetider (i timer):

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

Er det bevis på 0.05 signifikansnivå for å antyde at gjennomsnittlig batterilevetid avviker fra 50 timer?

Løsning:

  1. Angi Hypotesene:

    • Nullhypotese (H0H_0): μ=50\mu = 50
    • Alternativ Hypotese (HaH_a): μ50\mu \neq 50
  2. Beregn Prøve Gjennomsnitt (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. Beregn Prøve Standardavvik (ss):

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

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

    df=n1=8df = n - 1 = 8
  6. Bestem P-Verdi:

    • For t=0.00t = 0.00 og df=8df = 8, er p-verdien 1.00.
  7. Konklusjon:

    • Siden p-verdi (1.00) > α\alpha (0.05), feiler vi å forkaste nullhypotesen.
    • Tolkning: Det er ikke nok bevis for å antyde at gjennomsnittlig batterilevetid avviker fra 50 timer.

Referanser

  1. Gosset, W. S. (1908). "The Probable Error of a Mean". Biometrika, 6(1), 1–25. JSTOR.
  2. Student's t-test. Wikipedia. https://en.wikipedia.org/wiki/Student%27s_t-test
  3. GraphPad Statistics Guide: Forstå t-tester. Link
  4. Laerd Statistics: Uavhengig t-test. Link

Ytterligere Ressurser

  • Antagelseskontroller:
    • Bruk Shapiro-Wilk Test for normalitet.
    • Bruk Levene's Test for likhet av varianser.
  • Programvareverktøy:
    • SPSS, SAS, Stata, og R for avansert statistisk analyse.
  • Videre Lesing:
    • "Introduction to Statistical Learning" av Gareth James, Daniela Witten, Trevor Hastie, og Robert Tibshirani.
    • "Statistical Methods" av George W. Snedecor og William G. Cochran.