Atlikite visų rūšių t-testus: vieno mėginio, dviejų mėginių ir porinių t-testus. Ši skaičiuoklė leidžia atlikti statistinį hipotezės testavimą vidurkiams, padedant analizuoti duomenis ir interpretuoti rezultatus.
t-testas yra pagrindinis statistinis įrankis, naudojamas nustatyti, ar yra reikšmingas skirtumas tarp grupių vidurkių. Jis plačiai taikomas įvairiose srityse, tokiose kaip psichologija, medicina ir verslas, hipotezių testavimui. Ši skaičiuoklė leidžia atlikti visų rūšių t-testus:
Pasirinkite t-testo tipą:
Įveskite reikiamus duomenis:
Vienos imties t-testui:
Dviejų imčių t-testui:
Poriniam t-testui:
Nustatykite reikšmingumo lygį ():
Pasirinkite testo kryptį:
Paspauskite mygtuką "Skaičiuoti":
Skaičiuoklė parodys:
Prieš naudojantis t-testu, įsitikinkite, kad yra tenkinamos šios prielaidos:
T-statistika apskaičiuojama taip:
Bendra standartinė nuokrypis ():
Skaičiuoklė atlieka šiuos veiksmus:
Nors t-testai yra galingi, jie turi prielaidas, kurios gali būti ne visada tenkinamos. Alternatyvos apima:
t-testą sukūrė William Sealy Gosset 1908 m., kuris publikavo po slapyvardžiu "Student", dirbdamas Guinness alaus darykloje Dubline. Testas buvo sukurtas stebėti stout kokybę, nustatant, ar imties partijos atitinka alaus daryklos standartus. Dėl konfidencialumo sutarčių Gossetas naudojo slapyvardį "Student", todėl atsirado terminas "Studento t-testas."
Per laiką t-testas tapo kertiniu akmeniu statistinėje analizėje, plačiai mokomas ir taikomas įvairiose mokslinėse disciplinose. Jis atvėrė kelią sudėtingesnių statistinių metodų plėtrai ir yra pagrindinis inferencinės statistikos srityje.
Čia pateikiami kodo pavyzdžiai, kaip atlikti Vienos imties t-testą įvairiose programavimo kalbose:
1' Vienos imties t-testas Excel VBA
2Sub OneSampleTTest()
3 Dim sampleData As Range
4 Set sampleData = Range("A1:A9") ' Pakeiskite savo duomenų diapazonu
5 Dim hypothesizedMean As Double
6 hypothesizedMean = 50 ' Pakeiskite savo hipotezės vidurkį
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
1## Vienos imties t-testas 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
1import numpy as np
2from scipy import stats
3
4## Vienos imties t-testas 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-Statistika: {t_statistic:.2f}, P-Reikšmė: {p_value:.4f}")
8
1// Vienos imties t-testas 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// Pavyzdžio naudojimas:
11const sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
12const tStatistic = oneSampleTTest(sampleData, 50);
13console.log(`T-Statistika: ${tStatistic.toFixed(2)}`);
14
1% Vienos imties t-testas MATLAB
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-Reikšmė: ', num2str(p)]);
6
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-Reikšmė: %.4f%n", pValue);
12 }
13}
14
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
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 sampleData := []float64{51, 49, 52, 48, 50, 47, 53, 49, 51}
28 tStatistic := oneSampleTTest(sampleData, 50.0)
29 fmt.Printf("T-Statistika: %.2f\n", tStatistic)
30}
31
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
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
1## Vienos imties t-testas 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-Statistika: %.2f", t_statistic)
13
1// Vienos imties t-testas 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-Statistika: {:.2}", t_statistic);
14}
15
Problema: Gamintojas teigia, kad vidutinė baterijos tarnavimo trukmė yra 50 valandų. Vartotojų grupė išbando 9 baterijas ir užfiksuoja šias tarnavimo trukmes (valandomis):
Ar yra įrodymų 0.05 reikšmingumo lygyje, kad vidutinė baterijos tarnavimo trukmė skiriasi nuo 50 valandų?
Sprendimas:
Nustatykite hipotezes:
Apskaičiuokite imties vidurkį ():
Apskaičiuokite imties standartinį nuokrypį ():
Apskaičiuokite T-statistiką:
Laipsnių laisvė:
Nustatykite P-reikšmę:
Išvada:
Raskite daugiau įrankių, kurie gali būti naudingi jūsų darbo eiga.