🛠️

Whiz Tools

Build • Create • Innovate

T-testi kalkulaator: Tehke erinevaid t-teste lihtsalt

Tehke kõikvõimalikke t-teste: ühe näidise, kahe näidise ja paaristatud t-testid. See kalkulaator võimaldab teil läbi viia statistilisi hüpoteeside teste keskmiste jaoks, aidates andmete analüüsi ja tulemuste tõlgendamist.

T-Testi Kalkulaator

sampleDataDescription
📚

Dokumentatsioon

T-Test Kalkulaator

Sissejuhatus

t-test on põhiline statistiline tööriist, mida kasutatakse, et määrata, kas rühmade keskmiste vahel on oluline erinevus. Seda rakendatakse laialdaselt erinevates valdkondades, nagu psühholoogia, meditsiin ja äri hüpoteeside testimiseks. See kalkulaator võimaldab teil teostada kõiki t-teste:

  • Ühe näidise t-test: Testib, kas ühe rühma keskmine erineb teadaolevast väärtusest.
  • Kahe näidise t-test (iseseisvad näidised): Võrdleb kahe iseseisva rühma keskmisi.
  • Paarditud t-test: Võrdleb keskmisi samast rühmast erinevatel aegadel (nt enne ja pärast ravi).

T-Testide Tüübid

Näidise andmed Populatsiooni keskmine Ühe näidise t-test Näidis 1 Näidis 2 Keskmise erinevus Kahe näidise t-test Enne Pärast Erinevused Paarditud t-test

Kuidas seda kalkulaatorit kasutada

  1. Valige t-testi tüüp:

    • Ühe näidise t-test
    • Kahe näidise t-test
    • Paarditud t-test
  2. Sisestage vajalikud sisendid:

    • Ühe näidise t-testi jaoks:

      • Näidise keskmine (xˉ\bar{x})
      • Näidise standardhälve (ss)
      • Näidise suurus (nn)
      • Populatsiooni keskmine (μ0\mu_0)
    • Kahe näidise t-testi jaoks:

      • Näidise 1 keskmine (xˉ1\bar{x}_1)
      • Näidise 1 standardhälve (s1s_1)
      • Näidise 1 suurus (n1n_1)
      • Näidise 2 keskmine (xˉ2\bar{x}_2)
      • Näidise 2 standardhälve (s2s_2)
      • Näidise 2 suurus (n2n_2)
      • Variatsiooni eeldus: Valige, kas variatsioonid on eeldatavad võrdsed või erinevad.
    • Paarditud t-testi jaoks:

      • Erinevuste andmed: Sisestage paarilised erinevused.
      • Või sisestage Erinevuste keskmine (dˉ\bar{d}), Erinevuste standardhälve (sds_d) ja Näidise suurus (nn).
  3. Seadke olulisuse tase (α\alpha):

    • Tavalised valikud on 0.05 95% usaldusnivoo jaoks või 0.01 99% usaldusnivoo jaoks.
  4. Valige testi suund:

    • Kahepoolne test: Testib igasugust erinevust.
    • Ühepoolne test: Testib suunatud erinevust (täpsustage, kas testite suuremat või väiksemat).
  5. Klõpsake nuppu "Kalkuleeri":

    • Kalkulaator kuvab:

      • T-statistika
      • Vabadusastmed
      • P-väärtus
      • Järeldus: Kas hülgata või mitte hülgata nullhüpoteesi.

Eeldused

Enne t-testi kasutamist veenduge, et järgmised eeldused on täidetud:

  • Normaalsus: Andmed peaksid olema ligikaudu normaaljaotunud.
  • Iseseisvus: Vaatlused peavad olema üksteisest sõltumatud.
    • Kahe näidise t-testi jaoks peavad kaks rühma olema sõltumatud.
    • Paarditud t-testi jaoks peavad erinevused olema sõltumatud.
  • Variatsioonide võrdsus:
    • Kahe näidise t-test, kui variatsioonid on võrdsed, peaks kahe populatsiooni variatsioon olema võrdsed (homoscedasticity).
    • Kui see eeldus ei ole täidetud, kasutage Welchi t-testi (erinevad variatsioonid).

Valem

Ühe näidise t-test

T-statistika arvutatakse järgmiselt:

t=xˉμ0snt = \frac{\bar{x} - \mu_0}{\frac{s}{\sqrt{n}}}
  • xˉ\bar{x}: Näidise keskmine
  • μ0\mu_0: Populatsiooni keskmine nullhüpoteesi alusel
  • ss: Näidise standardhälve
  • nn: Näidise suurus

Kahe näidise t-test (iseseisvad näidised)

Eeldatakse võrdsed variatsioonid
t=xˉ1xˉ2sp1n1+1n2t = \frac{\bar{x}_1 - \bar{x}_2}{s_p \sqrt{\frac{1}{n_1} + \frac{1}{n_2}}}

Kogutud standardhälve (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}}
Erinevad variatsioonid (Welchi 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}}}

Paarditud t-test

t=dˉsdnt = \frac{\bar{d}}{\frac{s_d}{\sqrt{n}}}
  • dˉ\bar{d}: Erinevuste keskmine
  • sds_d: Erinevuste standardhälve
  • nn: Paaride arv

Vabadusastmed

Ühe näidise ja paaritud t-test:
df=n1df = n - 1
Kahe näidise t-test, kui variatsioonid on võrdsed:
df=n1+n22df = n_1 + n_2 - 2
Welchi 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}}

Kalkulatsioon

Kalkulaator teostab järgmised sammud:

  1. Arvuta T-statistika vastavalt valemile, mis põhineb valitud testil.
  2. Määrake vabadusastmed (df).
  3. Arvuta P-väärtus, mis vastab t-statistikale ja df:
    • Kasutab t-jaotust tõenäosuse leidmiseks.
  4. Võrdle P-väärtust olulisuse tasemega (α\alpha):
    • Kui pαp \leq \alpha, hülga nullhüpotees.
    • Kui p>αp > \alpha, ära hülga nullhüpoteesi.
  5. Tõlgenda tulemusi:
    • Esita järeldus testi kontekstis.

Kasutusalad

Ühe näidise t-test

  • Uue ravimi efektiivsuse testimine:
    • Määrake, kas keskmine taastumisaeg uue ravimi abil erineb teadaolevast keskmisest taastumisajast.
  • Kvaliteedikontroll:
    • Kontrollige, kas valmistatud osade keskmine pikkus erineb määratud standardist.

Kahe näidise t-test

  • A/B testimine turunduses:
    • Võrrelge konversioonimäärasid kahe erineva veebilehe disaini vahel.
  • Haridusuuringud:
    • Hinnake, kas kahe õpetamismeetodi vahel on erinevus testitulemustes.

Paarditud t-test

  • Enne ja pärast uuringud:
    • Hinnake kaalulangust enne ja pärast dieedi programmi.
  • Sobitatud subjektid:
    • Võrrelge vererõhu mõõtmisi enne ja pärast ravimi manustamist samade subjektide puhul.

Alternatiivid

Kuigi t-testid on võimsad, on neil eeldused, mis ei pruugi alati olla täidetud. Alternatiivid hõlmavad:

  • Mann-Whitney U test:
    • Mitteparametriline alternatiiv kahe näidise t-testile, kui andmed ei järgi normaaljaotust.
  • Wilcoxoni järjestatud vahetest:
    • Mitteparametriline ekvivalent paaritud t-testile.
  • ANOVA (variantsi analüüs):
    • Kasutatakse, kui võrreldakse keskmisi rohkem kui kahes grupis.

Ajalugu

T-test töötati välja William Sealy Gosset'i poolt 1908. aastal, kes avaldas pseudonüümi "Student" all, töötades Dublinis Guinnessi õlletehases. Testi eesmärk oli jälgida stout'i kvaliteeti, määrates, kas näidisbatsid olid kooskõlas õlletehase standarditega. Konfidentsiaalsuslepingute tõttu kasutas Gosset pseudonüümi "Student", mis viis termini "Student's t-test" tekkimiseni.

Aja jooksul on t-testist saanud statistilise analüüsi nurgakivi, mida õpetatakse laialdaselt ja rakendatakse erinevates teaduslikes valdkondades. See sillutas teed keerukamate statistiliste meetodite väljatöötamiseks ja on fundamentaalne inferentsiaalstatistika valdkonnas.

Näited

Siin on koodinäited ühe näidise t-testi teostamiseks erinevates programmeerimiskeeltes:

Excel

1' Ühe näidise t-test Excelis VBA-s
2Sub OneSampleTTest()
3    Dim sampleData As Range
4    Set sampleData = Range("A1:A9") ' Asendage oma andmevahemikuga
5    Dim hypothesizedMean As Double
6    hypothesizedMean = 50 ' Asendage oma hüpoteetilise keskmisega
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-Statistika: " & Format(tStat, "0.00")
20End Sub
21

R

1## Ühe näidise t-test R-is
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## Ühe näidise t-test Pythonis
5sample_data = [51, 49, 52, 48, 50, 47, 53, 49, 51]
6t_statistic, p_value = stats.ttest_1samp(sample_data, 50)
7print(f"T-Statistika: {t_statistic:.2f}, P-Väärtus: {p_value:.4f}")
8

JavaScript

1// Ühe näidise t-test JavaScriptis
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// Näidis kasutamine:
11const sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
12const tStatistic = oneSampleTTest(sampleData, 50);
13console.log(`T-Statistika: ${tStatistic.toFixed(2)}`);
14

MATLAB

1% Ühe näidise t-test MATLABis
2sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
3[h, p, ci, stats] = ttest(sampleData, 50);
4disp(['T-Statistika: ', num2str(stats.tstat)]);
5disp(['P-Väärtus: ', 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-Statistika: %.2f%n", tStatistic);
11        System.out.printf("P-Väärtus: %.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-Statistika: {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-Statistika: %.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-Statistika: %.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-Statistika: " . number_format($tStatistic, 2);
15?>
16

Ruby

1## Ühe näidise t-test Ruby-s
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-Statistika: %.2f", t_statistic)
13

Rust

1// Ühe näidise t-test Rustis
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-Statistika: {:.2}", t_statistic);
14}
15

Numbriline Näide

Probleem: Tootja väidab, et aku keskmine eluiga on 50 tundi. Tarbijagrupp testib 9 akut ja registreerib järgmised eluajad (tundides):

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

Kas on tõendeid 0.05 olulisuse tasemel, et väita, et keskmine aku eluiga erineb 50 tunnist?

Lahendus:

  1. Teadke hüpoteesid:

    • Nullhüpotees (H0H_0): μ=50\mu = 50
    • Alternatiivne hüpotees (HaH_a): μ50\mu \neq 50
  2. Arvutage näidise keskmine (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. Arvutage näidise standardhälve (ss):

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

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

    df=n1=8df = n - 1 = 8
  6. Määrake P-väärtus:

    • t=0.00t = 0.00 ja df=8df = 8, p-väärtus on 1.00.
  7. Järeldus:

    • Kuna p-väärtus (1.00) > α\alpha (0.05), siis ei hülga nullhüpoteesi.
    • Tõlgendus: Ei ole piisavalt tõendeid, et väita, et keskmine aku eluiga erineb 50 tunnist.

Viidatud allikad

  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: T-testi mõistmine. Link
  4. Laerd Statistics: Iseseisev t-test. Link

Täiendavad ressursid

  • Eelduste kontrollid:
    • Kasutage Shapiro-Wilki testi normaalsuse jaoks.
    • Kasutage Levene'i testi variatsioonide võrdsuse jaoks.
  • Tarkvaratööriistad:
    • SPSS, SAS, Stata ja R edasise statistilise analüüsi jaoks.
  • Edasi lugemiseks:
    • "Introduction to Statistical Learning" autoriteks Gareth James, Daniela Witten, Trevor Hastie ja Robert Tibshirani.
    • "Statistical Methods" autoriteks George W. Snedecor ja William G. Cochran.