এই লেকচারে যেসব বিষয় কভার করা হবে সেগুলো হলো,
ক. কনফিডেন্স ইন্টারভ্যাল
১. বড় স্যাম্পল
২. ছোট স্যাম্পল
খ. হাইপোথিসিস টেস্টিং
১. স্যাম্পল যখন ১টি
১.১ বড় স্যাম্পল z-টেস্ট
১.২ ছোট স্যাম্পল t-টেস্ট
২. স্যাম্পল যখন ২টি
২.১ দু’টি নির্ভরশীল স্যাম্পল
২.২ দু’টি স্বাধীন স্যাম্পল
২.২.১ পপুলেশন স্ট্যান্ডার্ড ডিভিশন জানা আছে এরকম ক্ষেত্র
২.২.২ পপুলেশন স্ট্যান্ডার্ড ডিভিশন জানা নেই কিন্তু ধরে নেয়া হচ্ছে যে সেগুলো একই সমান
২.২.৩ পপুলেশন স্ট্যান্ডার্ড ডিভিশন জানা নেই এবং ধরে নেয়া হচ্ছে যে সেগুলো ভিন্ন
আমরা এই বিষয়গুলো একেকটি উদাহরণের মাধ্যমে দেখবো কীভাবে R-এর সাহায্য নিয়ে এগুলো গণনা করা যায়।
ক. কনফিডেন্স ইন্টারভ্যালঃ বড় বা ছোট স্যাম্পল
প্রথমে আমরা একটা ড্যাটা বেছে নেই কাজ করার জন্য। উদাহরণ হিসেবে আমি MASS package এর anorexia ড্যাটাটা ব্যবহার করবো। প্যাকেজটি ইনস্টল করে ড্যাটাটি ব্যবহার করতে হলে এই কমান্ডগুলি ব্যবহার করতে হবে –
install.packages("MASS", dependencies=TRUE) library("MASS")
এরপর ড্যাটাটি লোড করে নেই –
data(anorexia)
প্রথম দেখে নেই ড্যাটাতে কী রয়েছে। সেটার জন্য আমরা ড্যাটার ডেসক্রিপ্টিভ স্ট্যাটিসটিকসে চোখ বুলিয়ে নিতে পারি –
summary(anorexia)
কনফিডেন্স ইন্টারভ্যাল গণনা করতে আমাদের গড়, স্ট্যান্ডার্ড ডিভিয়েশন এবং একটি নির্দিষ্ট কনফিডেন্স লেভেলে টেবিল ভ্যালু কতো সেটা জানতে হবে। প্রথমে আমরা গড় ও স্ট্যান্ডার্ড ডিভিয়েশন দু’টি অবজেক্ট হিসেবে মেমরিতে নিয়ে নেই।
mu <- mean(anorexia$Prewt) s <- sd(anorexia$Prewt)
এরপর 95% কনফিডেন্স লেভেলের টেবিল ভ্যালু বের করতে qt কমান্ডের সাহায্য নেই। qt কমান্ডটিতে আমার কনফিডেন্স লেভেলকে ২ দিয়ে ভাগ করে নিয়ে সাথে degrees of freedom ব্যবহার করছি। এরপর স্লাইডে দেখানো ফর্মূলা লিখে আমরা আপার কনফিডেন্স লেভেল ও লোয়ার কনফিডেন্স লেভেল বের করে নিতে পারি।
ci_l <- mu + qt(0.975, 71)*(s/sqrt(72)) ci_u <- mu - qt(0.975, 71)*(s/sqrt(72)) ci_l ci_u
বড় ও ছোট স্যাম্পলের জন্য একই পদ্ধতিতে কনফিডেন্স লেভেল বের করতে হবে।
খ. t-টেস্ট একটি স্যাম্পলের জন্য
আমরা anorexia ড্যাটার Prewt সিরিজটা দিয়ে কীভাবে একটি স্যাম্পলের জন্য t-টেস্ট করা যায় সেটি দেখবো। আমরা জানি উত্তর আমেরিকায় বসবাসকারিদের গড় ওজন ৮০.৭ কেজি। আমি দেখতে চাই আমাদের Prewt ভ্যারিয়েবলটি সাথে পপুলেশন গড়ের কোন পার্থক্য আছে কিনা। এজন্য আমাকে t.test কমান্ডটি ব্যবহার করতে হবে।
t.test(anorexia$Prewt, mu=80.7)
এটি নিন্মোক্ত আউটপুট দেবে,
One Sample t-test data: anorexia$Prewt t = 2.7971, df = 71, p-value = 0.006632 alternative hypothesis: true mean is not equal to 80.7 95 percent confidence interval: 81.19051 83.62615 sample estimates: mean of x 82.40833
আমরা আউটপুটে দেখতে পাচ্ছি t স্টাটিসটিক ২.৮ যেটা আমাদের টেবিল ভ্যালু থেকে বেশি। এছাড়া p ভ্যালুও প্রায় শূন্যের কাছাকাছি। অতএব আমরা আমাদের null হাইপোথিসিস রিজেক্ট করতে পারি। আমরা সিদ্ধান্তে আসতে পারি আমাদের স্যাম্পল গড় পপুলেশন গড় থেকে আলাদা।
খ. t-টেস্ট দু’টি স্যাম্পলের জন্য
আমরা anorexia ড্যাটার Prewt ও Postwt সিরিজটা দিয়ে কীভাবে দু’টি স্যাম্পলের জন্য t-টেস্ট করা যায় সেটি দেখবো। প্রথম আমি দেখতে চাই উল্লেখিত ভ্যারিয়েবল/সিরিজ দু’টি পরিসংখ্যানগতভাবে আলাদা কিনা। এখানে আমার অনুমিতি হলো আমরা ভ্যারিয়ান্স সম্পর্কে জানি। আমাদের এজন্য আমাকে t.test কমান্ডটি ব্যবহার করতে হবে।
# Independent sample t-test, variance is known t.test(anorexia$Prewt, anorexia$Postwt, paired=FALSE, var.equal=TRUE)
আর যদি আমরা ভ্যারিয়ান্স সমান এরকম অনুমিতি না নেই তাহলে,
# Independent sample t-test, variance is unknown and assumed to be unequal t.test(anorexia$Prewt, anorexia$Postwt, paired=FALSE, var.equal=FALSE)
এছাড়া আমরা যদি দু’টি জোড়বদ্ধ স্যাম্পলের মধ্যে পার্থক্য আছে কিনা বুঝতে t-টেস্ট করি তাহলে,
# Dependent sample t-test (paired sample) t.test(anorexia$Prewt, anorexia$Postwt, paired=TRUE)
সংযুক্তি
১. R স্কৃপ্ট
২. স্লাইড