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
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
Hvordan Bruke Denne Kalkulatoren
-
Velg Type T-Test:
- Enkel T-Test
- To-Prøve T-Test
- Parret T-Test
-
Skriv Inn Nødvendige Inndata:
-
For Enkel T-Test:
- Prøve Gjennomsnitt ()
- Prøve Standardavvik ()
- Prøve Størrelse ()
- Populasjonsgjennomsnitt ()
-
For To-Prøve T-Test:
- Gjennomsnitt av Prøve 1 ()
- Standardavvik av Prøve 1 ()
- Prøve Størrelse av Prøve 1 ()
- Gjennomsnitt av Prøve 2 ()
- Standardavvik av Prøve 2 ()
- Prøve Størrelse av Prøve 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 (), Standardavvik av Forskjeller (), og Prøve Størrelse ().
-
-
Sett Signifikansnivå ():
- Vanlige valg er 0.05 for et 95% konfidensnivå eller 0.01 for et 99% konfidensnivå.
-
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).
-
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:
- : Prøve gjennomsnitt
- : Populasjonsgjennomsnitt under nullhypotesen
- : Prøve standardavvik
- : Prøve størrelse
To-Prøve T-Test (Uavhengige Prøver)
Like Varianser Antatt
Pooled standardavvik ():
Ulike Varianser (Welch's T-Test)
Parret T-Test
- : Gjennomsnitt av forskjellene
- : Standardavvik av forskjellene
- : Antall par
Frihetsgrader
Enkel og Parret T-Test:
To-Prøve T-Test med Like Varianser:
Welch's T-Test:
Beregning
Kalkulatoren utfører følgende trinn:
- Beregn T-Statistikken ved å bruke den passende formelen basert på den valgte testen.
- Bestem Frihetsgrader (df).
- Beregn P-Verdien som tilsvarer t-statistikken og df:
- Bruker t-fordelingen for å finne sannsynligheten.
- Sammenlign P-Verdien med Signifikansnivået ():
- Hvis , forkast nullhypotesen.
- Hvis , feil å forkaste nullhypotesen.
- 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):
Er det bevis på 0.05 signifikansnivå for å antyde at gjennomsnittlig batterilevetid avviker fra 50 timer?
Løsning:
-
Angi Hypotesene:
- Nullhypotese ():
- Alternativ Hypotese ():
-
Beregn Prøve Gjennomsnitt ():
-
Beregn Prøve Standardavvik ():
-
Beregn T-Statistikken:
-
Frihetsgrader:
-
Bestem P-Verdi:
- For og , er p-verdien 1.00.
-
Konklusjon:
- Siden p-verdi (1.00) > (0.05), feiler vi å forkaste nullhypotesen.
- Tolkning: Det er ikke nok bevis for å antyde at gjennomsnittlig batterilevetid avviker fra 50 timer.
Referanser
- Gosset, W. S. (1908). "The Probable Error of a Mean". Biometrika, 6(1), 1–25. JSTOR.
- Student's t-test. Wikipedia. https://en.wikipedia.org/wiki/Student%27s_t-test
- GraphPad Statistics Guide: Forstå t-tester. Link
- 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.
Tilbakemelding
Klikk på tilbakemeldings-toasten for å begynne å gi tilbakemelding om dette verktøyet
Relaterte verktøy
Oppdag flere verktøy som kan være nyttige for arbeidsflyten din