টি-টেস্ট ক্যালকুলেটর
পরিচিতি
টি-টেস্ট একটি মৌলিক পরিসংখ্যান সরঞ্জাম যা গোষ্ঠীর গড়গুলির মধ্যে একটি গুরুত্বপূর্ণ পার্থক্য আছে কিনা তা নির্ধারণ করতে ব্যবহৃত হয়। এটি মনোবিজ্ঞান, চিকিৎসা এবং ব্যবসার মতো বিভিন্ন ক্ষেত্রে অনুমান পরীক্ষার জন্য ব্যাপকভাবে প্রয়োগ করা হয়। এই ক্যালকুলেটরটি আপনাকে সমস্ত ধরনের টি-টেস্ট সম্পন্ন করতে দেয়:
- একক-নমুনা টি-টেস্ট: একটি একক গোষ্ঠীর গড় একটি পরিচিত মান থেকে আলাদা কিনা তা পরীক্ষা করে।
- দুই-নমুনা টি-টেস্ট (স্বাধীন নমুনা): দুটি স্বাধীন গোষ্ঠীর গড় তুলনা করে।
- জোড় টি-টেস্ট: বিভিন্ন সময়ে একই গোষ্ঠীর গড় তুলনা করে (যেমন, চিকিৎসার আগে এবং পরে)।
টি-টেস্টের প্রকার
এই ক্যালকুলেটরটি কীভাবে ব্যবহার করবেন
-
টি-টেস্টের প্রকার নির্বাচন করুন:
- একক-নমুনা টি-টেস্ট
- দুই-নমুনা টি-টেস্ট
- জোড় টি-টেস্ট
-
প্রয়োজনীয় ইনপুটগুলি প্রবেশ করুন:
-
একক-নমুনা টি-টেস্টের জন্য:
- নমুনার গড় ()
- নমুনার স্ট্যান্ডার্ড ডেভিয়েশন ()
- নমুনার আকার ()
- জনসংখ্যার গড় ()
-
দুই-নমুনা টি-টেস্টের জন্য:
- নমুনা ১ এর গড় ()
- নমুনা ১ এর স্ট্যান্ডার্ড ডেভিয়েশন ()
- নমুনা ১ এর আকার ()
- নমুনা ২ এর গড় ()
- নমুনা ২ এর স্ট্যান্ডার্ড ডেভিয়েশন ()
- নমুনা ২ এর আকার ()
- ভ্যারিয়েন্সের অনুমান: সমান বা অসমান ভ্যারিয়েন্সের জন্য নির্বাচন করুন।
-
জোড় টি-টেস্টের জন্য:
- পার্থক্য তথ্য: জোড় পার্থক্য প্রবেশ করুন।
- বিকল্পভাবে, পার্থক্যের গড় (), পার্থক্যের স্ট্যান্ডার্ড ডেভিয়েশন () এবং নমুনার আকার () প্রবেশ করুন।
-
-
গুরুত্বের স্তর () সেট করুন:
- সাধারণ পছন্দগুলি হল 0.05 95% বিশ্বাসযোগ্যতার স্তরের জন্য বা 0.01 99% বিশ্বাসযোগ্যতার স্তরের জন্য।
-
পরীক্ষার দিক নির্বাচন করুন:
- দুই-মুখী পরীক্ষা: যেকোনো পার্থক্যের জন্য পরীক্ষা করে।
- এক-মুখী পরীক্ষা: একটি দিকনির্দেশক পার্থক্যের জন্য পরীক্ষা করে (বেশি বা কম পরীক্ষা করার জন্য নির্দিষ্ট করুন)।
-
"গণনা করুন" বোতামে ক্লিক করুন:
-
ক্যালকুলেটরটি প্রদর্শন করবে:
- টি-স্ট্যাটিস্টিক
- ডিগ্রী অফ ফ্রিডম
- পি-ভ্যালু
- উপসংহার: শূন্য অনুমানটি প্রত্যাখ্যান করা উচিত কিনা বা প্রত্যাখ্যান করা উচিত নয়।
-
অনুমান
টি-টেস্ট ব্যবহার করার আগে নিশ্চিত করুন যে নিম্নলিখিত অনুমানগুলি পূরণ হয়েছে:
- স্বাভাবিকতা: তথ্যগুলি আনুমানিকভাবে স্বাভাবিকভাবে বিতরণ করা উচিত।
- স্বাধীনতা: পর্যবেক্ষণগুলি একে অপরের স্বাধীন হতে হবে।
- দুই-নমুনা টি-টেস্টের জন্য, দুটি গোষ্ঠী স্বাধীন হওয়া উচিত।
- জোড় টি-টেস্টের জন্য, পার্থক্যগুলি স্বাধীন হওয়া উচিত।
- ভ্যারিয়েন্সের সমতা:
- সমান ভ্যারিয়েন্সের সাথে দুই-নমুনা টি-টেস্টের জন্য, দুটি জনসংখ্যার ভ্যারিয়েন্স সমান হওয়া উচিত (হোমোস্কেডাস্টিসিটি)।
- যদি এই অনুমানটি পূরণ না হয়, তবে ওয়েলচের টি-টেস্ট (অসমান ভ্যারিয়েন্স) ব্যবহার করুন।
সূত্র
একক-নমুনা টি-টেস্ট
টি-স্ট্যাটিস্টিক হিসাব করা হয়:
- : নমুনার গড়
- : শূন্য অনুমানের অধীনে জনসংখ্যার গড়
- : নমুনার স্ট্যান্ডার্ড ডেভিয়েশন
- : নমুনার আকার
দুই-নমুনা টি-টেস্ট (স্বাধীন নমুনা)
সমান ভ্যারিয়েন্স অনুমান করা হয়েছে
পুলড স্ট্যান্ডার্ড ডেভিয়েশন ():
অসমান ভ্যারিয়েন্স (ওয়েলচের টি-টেস্ট)
জোড় টি-টেস্ট
- : পার্থক্যের গড়
- : পার্থক্যের স্ট্যান্ডার্ড ডেভিয়েশন
- : জোড়ের সংখ্যা
ডিগ্রী অফ ফ্রিডম
একক-নমুনা এবং জোড় টি-টেস্ট:
সমান ভ্যারিয়েন্সের সাথে দুই-নমুনা টি-টেস্ট:
ওয়েলচের টি-টেস্ট:
গণনা
ক্যালকুলেটরটি নিম্নলিখিত পদক্ষেপগুলি সম্পন্ন করে:
- নির্বাচিত পরীক্ষার ভিত্তিতে সঠিক সূত্র ব্যবহার করে টি-স্ট্যাটিস্টিক গণনা করুন।
- ডিগ্রী অফ ফ্রিডম (df) নির্ধারণ করুন।
- টি-স্ট্যাটিস্টিক এবং df এর সাথে সম্পর্কিত পি-ভ্যালু গণনা করুন:
- সম্ভাবনা খুঁজে বের করতে টি-বিতরণ ব্যবহার করে।
- গুরুত্বের স্তরের () সাথে পি-ভ্যালুর তুলনা করুন:
- যদি , তবে শূন্য অনুমান প্রত্যাখ্যান করুন।
- যদি , তবে শূন্য অনুমান প্রত্যাখ্যান করতে ব্যর্থ হন।
- ফলাফলগুলি ব্যাখ্যা করুন:
- পরীক্ষার প্রেক্ষাপটে একটি উপসংহার প্রদান করুন।
ব্যবহার মামলা
একক-নমুনা টি-টেস্ট
- নতুন ওষুধের কার্যকারিতা পরীক্ষা:
- একটি নতুন ওষুধের সাথে গড় পুনরুদ্ধার সময় একটি পরিচিত গড় পুনরুদ্ধার সময় থেকে আলাদা কিনা তা নির্ধারণ করুন।
- গুণমান নিয়ন্ত্রণ:
- উত্পাদিত অংশগুলির গড় দৈর্ঘ্য নির্দিষ্ট মান থেকে বিচ্যুত কিনা তা পরীক্ষা করুন।
দুই-নমুনা টি-টেস্ট
- মার্কেটিংয়ে A/B পরীক্ষা:
- দুটি ভিন্ন ওয়েব পৃষ্ঠা ডিজাইনের মধ্যে রূপান্তর হার তুলনা করুন।
- শিক্ষাগত গবেষণা:
- দুটি শিক্ষণ পদ্ধতির মধ্যে পরীক্ষার স্কোরের পার্থক্য মূল্যায়ন করুন।
জোড় টি-টেস্ট
- আগে এবং পরে অধ্যয়ন:
- একটি ডায়েট প্রোগ্রামের আগে এবং পরে ওজন হ্রাস মূল্যায়ন করুন।
- ম্যাচ করা বিষয়:
- একই বিষয়গুলিতে ওষুধ দেওয়ার আগে এবং পরে রক্তচাপের পরিমাপ তুলনা করুন।
বিকল্পগুলি
যদিও টি-টেস্টগুলি শক্তিশালী, তবে এগুলির এমন কিছু অনুমান রয়েছে যা সবসময় পূরণ হতে পারে না। বিকল্পগুলির মধ্যে রয়েছে:
- ম্যান-হুইটনি ইউ টেস্ট:
- যখন তথ্য স্বাভাবিক বিতরণ অনুসরণ করে না তখন দুই-নমুনা টি-টেস্টের জন্য অ-প্যারামেট্রিক বিকল্প।
- উইলকক্সন স্বাক্ষর-র্যাঙ্ক টেস্ট:
- জোড় টি-টেস্টের জন্য অ-প্যারামেট্রিক সমতুল্য।
- এনওভা (ভ্যারিয়েন্সের বিশ্লেষণ):
- যখন দুটি বা তার বেশি গোষ্ঠীর মধ্যে গড় তুলনা করতে হয় তখন ব্যবহৃত হয়।
ইতিহাস
টি-টেস্টটি উইলিয়াম সিলি গসেট দ্বারা 1908 সালে বিকাশিত হয়েছিল, যিনি ডাবলিনের গিনেস ব্রিউয়ারিতে কাজ করার সময় ছদ্মনাম "স্টুডেন্ট" এর অধীনে প্রকাশ করেছিলেন। এই পরীক্ষাটি গিনেসের মানগুলির সাথে নমুনার ব্যাচগুলি সামঞ্জস্যপূর্ণ কিনা তা নির্ধারণ করতে স্টাউটের গুণমান পর্যবেক্ষণ করার জন্য ডিজাইন করা হয়েছিল। গসেট গোপনীয়তা চুক্তির কারণে "স্টুডেন্ট" ছদ্মনাম ব্যবহার করেছিলেন, যার ফলে "স্টুডেন্টের টি-টেস্ট" শব্দটি এসেছে।
সময়ের সাথে সাথে, টি-টেস্ট পরিসংখ্যান বিশ্লেষণের একটি মৌলিক ভিত্তিতে পরিণত হয়েছে, যা বিভিন্ন বৈজ্ঞানিক শৃঙ্খলায় ব্যাপকভাবে শেখানো এবং প্রয়োগ করা হয়। এটি আরও জটিল পরিসংখ্যান পদ্ধতির বিকাশের পথ প্রশস্ত করেছে এবং অনুমানমূলক পরিসংখ্যানের ক্ষেত্রে মৌলিক।
উদাহরণ
এখানে বিভিন্ন প্রোগ্রামিং ভাষায় একক-নমুনা টি-টেস্ট সম্পাদনের কোড উদাহরণ রয়েছে:
এক্সেল
' একক-নমুনা টি-টেস্ট এক্সেল VBA তে
Sub OneSampleTTest()
Dim sampleData As Range
Set sampleData = Range("A1:A9") ' আপনার তথ্যের পরিসরের সাথে প্রতিস্থাপন করুন
Dim hypothesizedMean As Double
hypothesizedMean = 50 ' আপনার অনুমিত গড়ের সাথে প্রতিস্থাপন করুন
Dim sampleMean As Double
Dim sampleStdDev As Double
Dim sampleSize As Integer
Dim tStat As Double
sampleMean = Application.WorksheetFunction.Average(sampleData)
sampleStdDev = Application.WorksheetFunction.StDev_S(sampleData)
sampleSize = sampleData.Count
tStat = (sampleMean - hypothesizedMean) / (sampleStdDev / Sqr(sampleSize))
MsgBox "টি-স্ট্যাটিস্টিক: " & Format(tStat, "0.00")
End Sub
আর
## আর এ একক-নমুনা টি-টেস্ট
sample_data <- c(51, 49, 52, 48, 50, 47, 53, 49, 51)
t_test_result <- t.test(sample_data, mu = 50)
print(t_test_result)
পাইথন
import numpy as np
from scipy import stats
## পাইথনে একক-নমুনা টি-টেস্ট
sample_data = [51, 49, 52, 48, 50, 47, 53, 49, 51]
t_statistic, p_value = stats.ttest_1samp(sample_data, 50)
print(f"টি-স্ট্যাটিস্টিক: {t_statistic:.2f}, পি-ভ্যালু: {p_value:.4f}")
জাভাস্ক্রিপ্ট
// জাভাস্ক্রিপ্টে একক-নমুনা টি-টেস্ট
function oneSampleTTest(sample, mu0) {
const n = sample.length;
const mean = sample.reduce((a, b) => a + b) / n;
const sd = Math.sqrt(sample.map(x => (x - mean) ** 2).reduce((a, b) => a + b) / (n - 1));
const t = (mean - mu0) / (sd / Math.sqrt(n));
return t;
}
// উদাহরণ ব্যবহার:
const sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
const tStatistic = oneSampleTTest(sampleData, 50);
console.log(`টি-স্ট্যাটিস্টিক: ${tStatistic.toFixed(2)}`);
ম্যাটল্যাব
% ম্যাটল্যাব এ একক-নমুনা টি-টেস্ট
sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
[h, p, ci, stats] = ttest(sampleData, 50);
disp(['টি-স্ট্যাটিস্টিক: ', num2str(stats.tstat)]);
disp(['পি-ভ্যালু: ', num2str(p)]);
জাভা
import org.apache.commons.math3.stat.inference.TTest;
public class OneSampleTTest {
public static void main(String[] args) {
double[] sampleData = {51, 49, 52, 48, 50, 47, 53, 49, 51};
TTest tTest = new TTest();
double mu = 50;
double tStatistic = tTest.t(mu, sampleData);
double pValue = tTest.tTest(mu, sampleData);
System.out.printf("টি-স্ট্যাটিস্টিক: %.2f%n", tStatistic);
System.out.printf("পি-ভ্যালু: %.4f%n", pValue);
}
}
সি#
using System;
using MathNet.Numerics.Statistics;
class OneSampleTTest
{
static void Main()
{
double[] sampleData = {51, 49, 52, 48, 50, 47, 53, 49, 51};
double mu0 = 50;
int n = sampleData.Length;
double mean = Statistics.Mean(sampleData);
double stdDev = Statistics.StandardDeviation(sampleData);
double tStatistic = (mean - mu0) / (stdDev / Math.Sqrt(n));
Console.WriteLine($"টি-স্ট্যাটিস্টিক: {tStatistic:F2}");
}
}
গো
package main
import (
"fmt"
"math"
)
func oneSampleTTest(sample []float64, mu0 float64) float64 {
n := float64(len(sample))
var sum, mean, sd float64
for _, v := range sample {
sum += v
}
mean = sum / n
for _, v := range sample {
sd += math.Pow(v - mean, 2)
}
sd = math.Sqrt(sd / (n - 1))
t := (mean - mu0) / (sd / math.Sqrt(n))
return t
}
func main() {
sampleData := []float64{51, 49, 52, 48, 50, 47, 53, 49, 51}
tStatistic := oneSampleTTest(sampleData, 50.0)
fmt.Printf("টি-স্ট্যাটিস্টিক: %.2f\n", tStatistic)
}
সুইফট
import Foundation
func oneSampleTTest(sample: [Double], mu0: Double) -> Double {
let n = Double(sample.count)
let mean = sample.reduce(0, +) / n
let sd = sqrt(sample.map { pow($0 - mean, 2) }.reduce(0, +) / (n - 1))
let t = (mean - mu0) / (sd / sqrt(n))
return t
}
let sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51]
let tStatistic = oneSampleTTest(sample: sampleData, mu0: 50)
print(String(format: "টি-স্ট্যাটিস্টিক: %.2f", tStatistic))
পিএইচপি
<?php
function oneSampleTTest($sample, $mu0) {
$n = count($sample);
$mean = array_sum($sample) / $n;
$sd = sqrt(array_sum(array_map(function($x) use ($mean) {
return pow($x - $mean, 2);
}, $sample)) / ($n - 1));
$t = ($mean - $mu0) / ($sd / sqrt($n));
return $t;
}
$sampleData = [51, 49, 52, 48, 50, 47, 53, 49, 51];
$tStatistic = oneSampleTTest($sampleData, 50);
echo "টি-স্ট্যাটিস্টিক: " . number_format($tStatistic, 2);
?>
রুবি
## রুবিতে একক-নমুনা টি-টেস্ট
def one_sample_t_test(sample, mu0)
n = sample.size
mean = sample.sum(0.0) / n
sd = Math.sqrt(sample.map { |x| (x - mean)**2 }.sum / (n - 1))
t = (mean - mu0) / (sd / Math.sqrt(n))
t
end
sample_data = [51, 49, 52, 48, 50, 47, 53, 49, 51]
t_statistic = one_sample_t_test(sample_data, 50)
puts format("টি-স্ট্যাটিস্টিক: %.2f", t_statistic)
রাস্ট
// রাস্টে একক-নমুনা টি-টেস্ট
fn one_sample_t_test(sample: &Vec<f64>, mu0: f64) -> f64 {
let n = sample.len() as f64;
let mean: f64 = sample.iter().sum::<f64>() / n;
let sd = (sample.iter().map(|x| (x - mean).powi(2)).sum::<f64>() / (n - 1.0)).sqrt();
let t = (mean - mu0) / (sd / n.sqrt());
t
}
fn main() {
let sample_data = vec![51.0, 49.0, 52.0, 48.0, 50.0, 47.0, 53.0, 49.0, 51.0];
let t_statistic = one_sample_t_test(&sample_data, 50.0);
println!("টি-স্ট্যাটিস্টিক: {:.2}", t_statistic);
}
সংখ্যাগত উদাহরণ
সমস্যা: একটি প্রস্তুতকারক দাবি করে যে একটি ব্যাটারির গড় জীবনকাল 50 ঘণ্টা। একটি ভোক্তা গোষ্ঠী 9টি ব্যাটারি পরীক্ষা করে এবং নিম্নলিখিত জীবনকাল (ঘণ্টায়) রেকর্ড করে:
কীভাবে 0.05 গুরুত্ব স্তরে প্রমাণ আছে কিনা যে গড় ব্যাটারি জীবনকাল 50 ঘণ্টা থেকে আলাদা?
সমাধান:
-
হাইপোথিসিসগুলি নির্ধারণ করুন:
- শূন্য হাইপোথিসিস ():
- বিকল্প হাইপোথিসিস ():
-
নমুনার গড় () গণনা করুন:
-
নমুনার স্ট্যান্ডার্ড ডেভিয়েশন () গণনা করুন:
-
টি-স্ট্যাটিস্টিক গণনা করুন:
-
ডিগ্রী অফ ফ্রিডম:
-
পি-ভ্যালু নির্ধারণ করুন:
- এবং এর জন্য, পি-ভ্যালু হল 1.00।
-
উপসংহার:
- যেহেতু পি-ভ্যালু (1.00) > (0.05), আমরা শূন্য অনুমান প্রত্যাখ্যান করতে ব্যর্থ হচ্ছি।
- ব্যাখ্যা: গড় ব্যাটারি জীবনকাল 50 ঘণ্টা থেকে আলাদা হওয়ার জন্য যথেষ্ট প্রমাণ নেই।
রেফারেন্স
- গসেট, W. S. (1908)। "গড়ের সম্ভাব্য ত্রুটি"। বায়োমেট্রিকা, 6(1), 1–25। JSTOR।
- স্টুডেন্টের টি-টেস্ট। উইকিপিডিয়া। https://en.wikipedia.org/wiki/Student%27s_t-test
- গ্রাফপ্যাড পরিসংখ্যান গাইড: টি-টেস্ট বোঝা। লিঙ্ক
- লার্ড পরিসংখ্যান: স্বাধীন টি-টেস্ট। লিঙ্ক
অতিরিক্ত সম্পদ
- অনুমান পরীক্ষা:
- স্বাভাবিকতার জন্য শাপিরো-উল্ক টেস্ট ব্যবহার করুন।
- ভ্যারিয়েন্সের সমতার জন্য লেভেনের টেস্ট ব্যবহার করুন।
- সফটওয়্যার টুলস:
- উন্নত পরিসংখ্যান বিশ্লেষণের জন্য SPSS, SAS, Stata, এবং R।
- অতিরিক্ত পড়া:
- "পরিসংখ্যানগত শেখার পরিচিতি" গার্থ জেমস, ড্যানিয়েলা উইটেন, ট্রেভর হ্যাস্টি, এবং রবার্ট টিবশির দ্বারা।
- "পরিসংখ্যান পদ্ধতি" জর্জ W. স্নেডেকর এবং উইলিয়াম G. কোচরান দ্বারা।