T-testi Laskin: Suorita Yksinäyte, Kaksinäyte ja Paritetut
Suorita kaikenlaisia t-testejä: yksinäyte, kaksinäyte ja paritetut t-testit. Tämä laskin mahdollistaa tilastollisten hypoteesitestien suorittamisen keskiarvoille, mikä auttaa tietojen analysoinnissa ja tulosten tulkinnassa.
T-testi Laskin
Dokumentaatio
T-Test Laskin
Johdanto
t-testi on perustavanlaatuinen tilastollinen työkalu, jota käytetään määrittämään, onko ryhmien keskiarvojen välillä merkittävää eroa. Sitä sovelletaan laajalti eri aloilla, kuten psykologiassa, lääketieteessä ja liiketoiminnassa hypoteesin testaamiseen. Tämä laskin mahdollistaa kaikkien t-testaustyyppien suorittamisen:
- Yksinäytteen t-testi: Testaa, poikkeaako yhden ryhmän keskiarvo tunnetusta arvosta.
- Kaksi näytteen t-testi (riippumattomat näytteet): Vertaa kahden riippumattoman ryhmän keskiarvoja.
- Paritettu t-testi: Vertaa samasta ryhmästä saatuja keskiarvoja eri aikoina (esim. ennen ja jälkeen hoidon).
T-Testin Tyypit
Kuinka Käyttää Tätä Laskinta
-
Valitse t-testin tyyppi:
- Yksinäytteen t-testi
- Kaksi näytteen t-testi
- Paritettu t-testi
-
Syötä vaaditut syötteet:
-
Yksinäytteen t-testille:
- Näytteen Keskiarvo ()
- Näytteen Keskihajonta ()
- Näytteen Koko ()
- Populaation Keskiarvo ()
-
Kaksi näytteen t-testille:
- Näytteen 1 Keskiarvo ()
- Näytteen 1 Keskihajonta ()
- Näytteen 1 Koko ()
- Näytteen 2 Keskiarvo ()
- Näytteen 2 Keskihajonta ()
- Näytteen 2 Koko ()
- Varianssin Oletus: Valitse, oletetaanko varianssien olevan yhtä suuret vai erikokoiset.
-
Paritetulle t-testille:
- Erotusdata: Syötä parittaiset erot.
- Vaihtoehtoisesti, syötä Erotusten Keskiarvo (), Erotusten Keskihajonta () ja Näytteen Koko ().
-
-
Aseta Merkitsevyystaso ():
- Yleisiä valintoja ovat 0.05 95 % luottamustasolle tai 0.01 99 % luottamustasolle.
-
Valitse Testin Suunta:
- Kaksisuuntainen Testi: Testaa eroa minkä tahansa suuntaan.
- Yksisuuntainen Testi: Testaa suuntaavaa eroa (määritä, testataanko suurempaa vai pienempää).
-
Napsauta "Laske" Painiketta:
-
Laskin näyttää:
- T-Statistiikka
- Vapausasteet
- P-Arvo
- Johtopäätös: Onko nollahypoteesi hylättävä vai ei.
-
Oletukset
Ennen t-testin käyttöä varmista, että seuraavat oletukset täyttyvät:
- Normaalisuus: Datan tulisi olla suunnilleen normaalijakautunutta.
- Itsenäisyys: Havainnot on oltava riippumattomia toisistaan.
- Kaksi näytteen t-testille kaksi ryhmää on oltava riippumattomia.
- Paritetulle t-testille erotusten on oltava riippumattomia.
- Varianssien Yhtäläisyys:
- Kaksi näytteen t-testille, jossa oletetaan yhtä suuret varianssit, kahden populaation varianssien tulisi olla yhtä suuret (homoskedastisuus).
- Jos tämä oletus ei pidä paikkaansa, käytä Welchin t-testiä (erikokoiset varianssit).
Kaava
Yksinäytteen t-testi
T-statistiikka lasketaan seuraavasti:
- : Näytteen keskiarvo
- : Populaation keskiarvo nollahypoteesin mukaan
- : Näytteen keskihajonta
- : Näytteen koko
Kaksi näytteen t-testi (riippumattomat näytteet)
Oletetaan, että varianssit ovat yhtä suuret
Yhdistetty keskihajonta ():
Erilaiset varianssit (Welchin t-testi)
Paritettu t-testi
- : Erojen keskiarvo
- : Erojen keskihajonta
- : Parien määrä
Vapausasteet
Yksinäytteen ja paritetun t-testin:
Kaksi näytteen t-testille, jossa oletetaan yhtä suuret varianssit:
Welchin t-testille:
Laskenta
Laskin suorittaa seuraavat vaiheet:
- Laske T-Statistiikka käyttäen valittua kaavaa.
- Määritä Vapausasteet (df).
- Laske P-Arvo vastaavasti t-statistiikalle ja df:lle:
- Käyttää t-jakaumaa löytääkseen todennäköisyyden.
- Vertaile P-Arvoa Merkitsevyystasoon ():
- Jos , hylkää nollahypoteesi.
- Jos , älä hylkää nollahypoteesia.
- Tulkitse Tulokset:
- Anna johtopäätös testin kontekstissa.
Käyttötapaukset
Yksinäytteen t-testi
- Uuden Lääkkeen Tehokkuuden Testaus:
- Määritä, poikkeaako keskimääräinen toipumisaika uuden lääkkeen avulla tunnetusta keskimääräisestä toipumisajasta.
- Laatuvalvonta:
- Tarkista, poikkeaako valmistettujen osien keskimääräinen pituus määritellystä standardista.
Kaksi näytteen t-testi
- A/B Testaus Markkinoinnissa:
- Vertaa konversioprosentteja kahden eri verkkosivun suunnittelun välillä.
- Koulutustutkimus:
- Arvioi, onko eroa testituloksissa kahden opetusmenetelmän välillä.
Paritettu t-testi
- Ennen ja Jälkeen Tutkimukset:
- Arvioi painonpudotus ennen ja jälkeen ruokavalion.
- Vastaavat Aineistot:
- Vertaa verenpainemittauksia ennen ja jälkeen lääkityksen antamista samoille henkilöille.
Vaihtoehdot
Vaikka t-testit ovat tehokkaita, niillä on oletuksia, joita ei aina voida täyttää. Vaihtoehtoja ovat:
- Mann-Whitney U Testi:
- Ei-parametrinen vaihtoehto kahden näytteen t-testille, kun data ei noudata normaalia jakaumaa.
- Wilcoxonin Merkittyjen Erojen Testi:
- Ei-parametrinen vastine paritetulle t-testille.
- ANOVA (Varianssianalyysi):
- Käytetään, kun vertaillaan keskiarvoja yli kahden ryhmän.
Historia
T-testi kehitti William Sealy Gosset vuonna 1908, joka julkaisi salanimellä "Student" työskennellessään Guinnessin panimolla Dublinin kaupungissa. Testi suunniteltiin stoutin laadun valvomiseksi määrittämällä, ovatko näytteen erät yhdenmukaisia panimon standardien kanssa. Salassapitosopimusten vuoksi Gosset käytti salanimeä "Student", mikä johti termin "Studentin t-testi" syntyyn.
Ajan myötä t-testistä on tullut kulmakivi tilastollisessa analyysissä, ja sitä opetetaan ja sovelletaan laajalti eri tieteellisillä aloilla. Se avasi tietä monimutkaisempien tilastollisten menetelmien kehittämiselle ja on perusta inferentiaaliselle tilastotiolle.
Esimerkit
Tässä on koodiesimerkkejä Yksinäytteen t-testin suorittamisesta eri ohjelmointikielillä:
Excel
1' Yksinäytteen t-testin Excel VBA:ssa
2Sub OneSampleTTest()
3 Dim sampleData As Range
4 Set sampleData = Range("A1:A9") ' Korvaa omalla datasi alueella
5 Dim hypothesizedMean As Double
6 hypothesizedMean = 50 ' Korvaa omalla oletetulla keskiarvolla
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-Statistiikka: " & Format(tStat, "0.00")
20End Sub
21
R
1## Yksinäytteen t-testi R:ssä
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## Yksinäytteen t-testi Pythonissa
5sample_data = [51, 49, 52, 48, 50, 47, 53, 49, 51]
6t_statistic, p_value = stats.ttest_1samp(sample_data, 50)
7print(f"T-Statistiikka: {t_statistic:.2f}, P-Arvo: {p_value:.4f}")
8
JavaScript
1// Yksinäytteen t-testi JavaScriptissä
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// Esimerkin käyttö:
11const sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
12const tStatistic = oneSampleTTest(sampleData, 50);
13console.log(`T-Statistiikka: ${tStatistic.toFixed(2)}`);
14
MATLAB
1% Yksinäytteen t-testi MATLAB:ssa
2sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
3[h, p, ci, stats] = ttest(sampleData, 50);
4disp(['T-Statistiikka: ', num2str(stats.tstat)]);
5disp(['P-Arvo: ', 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-Statistiikka: %.2f%n", tStatistic);
11 System.out.printf("P-Arvo: %.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-Statistiikka: {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-Statistiikka: %.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-Statistiikka: %.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-Statistiikka: " . number_format($tStatistic, 2);
15?>
16
Ruby
1## Yksinäytteen t-testi Rubyssa
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-Statistiikka: %.2f", t_statistic)
13
Rust
1// Yksinäytteen t-testi Rustissa
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-Statistiikka: {:.2}", t_statistic);
14}
15
Numeraalinen Esimerkki
Ongelma: Valmistaja väittää, että akun keskimääräinen käyttöikä on 50 tuntia. Kuluttajaryhmä testaa 9 akkua ja kirjaa seuraavat käyttöajat (tunneissa):
Onko olemassa todisteita 0.05 merkitsevyystasolla, joka viittaa siihen, että akun keskimääräinen käyttöikä poikkeaa 50 tunnista?
Ratkaisu:
-
Määritä Hypoteesit:
- Nollahypoteesi ():
- Vaihtoehtoinen Hypoteesi ():
-
Laske Näytteen Keskiarvo ():
-
Laske Näytteen Keskihajonta ():
-
Laske T-Statistiikka:
-
Vapausasteet:
-
Määritä P-Arvo:
- ja , p-arvo on 1.00.
-
Johtopäätös:
- Koska p-arvo (1.00) > \alpha (0.05), emme hylkää nollahypoteesia.
- Tulkitseminen: Ei ole tarpeeksi todisteita viittaamaan siihen, että akun keskimääräinen käyttöikä poikkeaa 50 tunnista.
Viitteet
- Gosset, W. S. (1908). "The Probable Error of a Mean". Biometrika, 6(1), 1–25. JSTOR.
- Studentin t-testi. Wikipedia. https://en.wikipedia.org/wiki/Student%27s_t-test
- GraphPad Statistics Guide: Ymmärtäminen t-testeistä. Link
- Laerd Statistics: Riippumaton t-testi. Link
Lisäresurssit
- Oletusten Tarkistukset:
- Käytä Shapiro-Wilk Testiä normaalisuuden testaamiseen.
- Käytä Levene's Testiä varianssien yhtäläisyyden testaamiseen.
- Ohjelmistotyökalut:
- SPSS, SAS, Stata ja R edistyneeseen tilastolliseen analyysiin.
- Lisälukeminen:
- "Introduction to Statistical Learning" kirjoittaneet Gareth James, Daniela Witten, Trevor Hastie ja Robert Tibshirani.
- "Statistical Methods" kirjoittaneet George W. Snedecor ja William G. Cochran.
Palaute
Napsauta palautetoimintoa aloittaaksesi palautteen antamisen tästä työkalusta
Liittyvät työkalut
Löydä lisää työkaluja, jotka voivat olla hyödyllisiä työnkulussasi