انواع مختلف t-test ها را انجام دهید: t-test یک نمونه، t-test دو نمونه و t-test جفتی. این ماشین حساب به شما امکان میدهد تا آزمون فرض آماری برای میانگینها را انجام دهید و به تحلیل دادهها و تفسیر نتایج کمک کند.
t-test یک ابزار آماری اساسی است که برای تعیین اینکه آیا تفاوت معناداری بین میانگین گروهها وجود دارد یا خیر، استفاده میشود. این روش به طور گستردهای در زمینههای مختلفی مانند روانشناسی، پزشکی و کسب و کار برای آزمون فرضیهها به کار میرود. این ماشین حساب به شما این امکان را میدهد که تمام انواع t-test ها را انجام دهید:
نوع t-test را انتخاب کنید:
ورودیهای مورد نیاز را وارد کنید:
برای t-test یک نمونهای:
برای t-test دو نمونهای:
برای t-test جفتی:
سطح معناداری () را تنظیم کنید:
جهت آزمون را انتخاب کنید:
روی دکمه "محاسبه" کلیک کنید:
ماشین حساب نمایش خواهد داد:
قبل از استفاده از t-test، اطمینان حاصل کنید که فرضیات زیر برآورده شدهاند:
t-آماره به صورت زیر محاسبه میشود:
انحراف معیار تجمیعی ():
ماشین حساب مراحل زیر را انجام میدهد:
در حالی که t-test ها قدرتمند هستند، اما فرضیات دارند که ممکن است همیشه برآورده نشوند. جایگزینها شامل:
t-test توسط ویلیام سیلی گاسِت در سال ۱۹۰۸ توسعه یافت، که تحت نام مستعار "دانشآموز" منتشر شد در حالی که در کارخانه آبجو گینس در دوبلین کار میکرد. این آزمون برای نظارت بر کیفیت استوت طراحی شده بود تا تعیین کند که آیا نمونههای مختلف با استانداردهای کارخانه مطابقت دارند یا خیر. به دلیل توافقهای محرمانه، گاسِت از نام مستعار "دانشآموز" استفاده کرد که منجر به اصطلاح "t-test دانشآموز" شد.
با گذشت زمان، t-test به یک ستون فقرات در تحلیلهای آماری تبدیل شده است که به طور گستردهای آموزش داده میشود و در رشتههای علمی مختلف به کار میرود. این آزمون راه را برای توسعه روشهای آماری پیچیدهتر هموار کرد و در زمینه آمار استنباطی بنیادی است.
در اینجا مثالهای کد برای انجام t-test یک نمونهای در زبانهای مختلف برنامهنویسی آورده شده است:
1' t-test یک نمونهای در Excel VBA
2Sub OneSampleTTest()
3 Dim sampleData As Range
4 Set sampleData = Range("A1:A9") ' جایگزین با دامنه دادههای شما
5 Dim hypothesizedMean As Double
6 hypothesizedMean = 50 ' جایگزین با میانگین فرض شده شما
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-آماره: " & Format(tStat, "0.00")
20End Sub
21
1## t-test یک نمونهای در 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## t-test یک نمونهای در 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-آماره: {t_statistic:.2f}, p-مقدار: {p_value:.4f}")
8
1// t-test یک نمونهای در 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// مثال استفاده:
11const sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
12const tStatistic = oneSampleTTest(sampleData, 50);
13console.log(`t-آماره: ${tStatistic.toFixed(2)}`);
14
1% t-test یک نمونهای در MATLAB
2sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
3[h, p, ci, stats] = ttest(sampleData, 50);
4disp(['t-آماره: ', num2str(stats.tstat)]);
5disp(['p-مقدار: ', 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-آماره: %.2f%n", tStatistic);
11 System.out.printf("p-مقدار: %.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-آماره: {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-آماره: %.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-آماره: %.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-آماره: " . number_format($tStatistic, 2);
15?>
16
1## t-test یک نمونهای در 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-آماره: %.2f", t_statistic)
13
1// t-test یک نمونهای در 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-آماره: {:.2}", t_statistic);
14}
15
مسئله: یک تولیدکننده ادعا میکند که میانگین عمر یک باتری ۵۰ ساعت است. یک گروه مصرفکننده ۹ باتری را آزمایش میکند و عمرهای زیر را ثبت میکند (به ساعت):
آیا در سطح معناداری ۰.۰۵ شواهدی وجود دارد که نشان دهد میانگین عمر باتری از ۵۰ ساعت متفاوت است؟
راهحل:
فرضیات را بیان کنید:
محاسبه میانگین نمونه ():
محاسبه انحراف معیار نمونه ():
محاسبه t-آماره:
درجه آزادی:
تعیین p-مقدار:
نتیجهگیری:
کشف ابزارهای بیشتری که ممکن است برای جریان کاری شما مفید باشند