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
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
Kuidas seda kalkulaatorit kasutada
-
Valige t-testi tüüp:
- Ühe näidise t-test
- Kahe näidise t-test
- Paarditud t-test
-
Sisestage vajalikud sisendid:
-
Ühe näidise t-testi jaoks:
- Näidise keskmine ()
- Näidise standardhälve ()
- Näidise suurus ()
- Populatsiooni keskmine ()
-
Kahe näidise t-testi jaoks:
- Näidise 1 keskmine ()
- Näidise 1 standardhälve ()
- Näidise 1 suurus ()
- Näidise 2 keskmine ()
- Näidise 2 standardhälve ()
- Näidise 2 suurus ()
- 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 (), Erinevuste standardhälve () ja Näidise suurus ().
-
-
Seadke olulisuse tase ():
- Tavalised valikud on 0.05 95% usaldusnivoo jaoks või 0.01 99% usaldusnivoo jaoks.
-
Valige testi suund:
- Kahepoolne test: Testib igasugust erinevust.
- Ühepoolne test: Testib suunatud erinevust (täpsustage, kas testite suuremat või väiksemat).
-
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:
- : Näidise keskmine
- : Populatsiooni keskmine nullhüpoteesi alusel
- : Näidise standardhälve
- : Näidise suurus
Kahe näidise t-test (iseseisvad näidised)
Eeldatakse võrdsed variatsioonid
Kogutud standardhälve ():
Erinevad variatsioonid (Welchi t-test)
Paarditud t-test
- : Erinevuste keskmine
- : Erinevuste standardhälve
- : Paaride arv
Vabadusastmed
Ühe näidise ja paaritud t-test:
Kahe näidise t-test, kui variatsioonid on võrdsed:
Welchi t-test:
Kalkulatsioon
Kalkulaator teostab järgmised sammud:
- Arvuta T-statistika vastavalt valemile, mis põhineb valitud testil.
- Määrake vabadusastmed (df).
- Arvuta P-väärtus, mis vastab t-statistikale ja df:
- Kasutab t-jaotust tõenäosuse leidmiseks.
- Võrdle P-väärtust olulisuse tasemega ():
- Kui , hülga nullhüpotees.
- Kui , ära hülga nullhüpoteesi.
- 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):
Kas on tõendeid 0.05 olulisuse tasemel, et väita, et keskmine aku eluiga erineb 50 tunnist?
Lahendus:
-
Teadke hüpoteesid:
- Nullhüpotees ():
- Alternatiivne hüpotees ():
-
Arvutage näidise keskmine ():
-
Arvutage näidise standardhälve ():
-
Arvutage T-statistika:
-
Vabadusastmed:
-
Määrake P-väärtus:
- ja , p-väärtus on 1.00.
-
Järeldus:
- Kuna p-väärtus (1.00) > (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
- 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: T-testi mõistmine. Link
- 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.
Tagasiside
Kliki tagasiside teavitusele, et alustada tagasiside andmist selle tööriista kohta
Seotud tööriistad
Avasta rohkem tööriistu, mis võivad olla kasulikud sinu töövoo jaoks