«

»

সেপ্টে. 08

R পরিচিতি – লেকচার ৪.১: প্রোবাবিলিটি ডিস্ট্রিবিউশন ও হাইপোথেসিস টেস্টিং

এই পর্বের বিষয়বস্তু প্রোবাবিলিটি ডিসট্রিবিউশন ও হাইপোথেসিস টেস্টিং। এই পর্বে আমরা দেখবো কীভাবে স্ট্যান্ডার্ড নরমাল ডিস্ট্রিবিউশন বা z-স্কোর ব্যবহার করে প্রোবাবিলিটি গণনা করতে পারি। পরবর্তী পর্বে আমরা দেখবো কীভাবে R-এ আমরা হাইপোথেসিস টেস্ট করতে পারি। উদাহরণ হিসেবে আমরা t-টেস্টের কিছু উদাহরণ দেখবো।

z-score ও সেখান থেকে প্রোবাবিলিটি গণনা করতে R-এ pnorm কমান্ডটি ব্যবহার করতে হয়। এই কমান্ডটির সিনট্যাক্স এরকম,

pnorm(q, mean = 0, sd = 1, lower.tail = TRUE)

এখানে q হলো সেই সংখ্যাটি যার প্রোবাবিলিটি আপনি বের করতে চাচ্ছেন। mean ও sd হলো যথাক্রমে গড় ও স্ট্যান্ডার্ড ডিভিয়েশন। এখানে আপনি আপনার মতো করে ভ্যালু সেট করে নেবেন। ডিফল্ট ভ্যালু ০ ও ১ সেট করা থাকলে R ধরে নেবে আপনি z-score ব্যবহার করছেন। এটা না হলে mean ও sd আলাদা আলাদাভাবে লিখে দিতে হবে। আমরা নিচে উদাহরণের মাধ্যমে দেখে
নেব এগুলো কীভাবে সেট করতে হয়। এখানে lower.tail হলো আপনি নরমাল কার্ভের কোন অংশটির প্রোবাবিলিটি বের করতে চান। আপনি P(z < z0 ) বের করতে চাইলে TRUE এবং P(z < z0 ) হলে FALSE যোগ করবেন। অপশনটা না ব্যবহার করলে ডিফল্ট ভ্যালু TRUE থাকবে।

ধরা যাক, আমরা হাতে একটি z-score আছে এবং সেটা থেকে আমি z-table থেকে প্রোবাবিলিটি বের করতে পারি।

উদাহরণ ১: P(z < z0 ) গণনা

ধরা যাক, আপনার z-score ভ্যালু ০.৬৭ এবং আপনি বের করতে চান এর নিচে ভ্যালু হবার সম্ভাবনা কতো।

আপনাকে pnorm কমান্ডটি দিতে হবে। এখানে যেহেতু আপনার হাতে একটা z-score আছে, আপনি lower tail হিসেবে নিচ্ছেন সেহেতেু আপনাকে নিচের কমান্ডটি দিলেই যথেষ্ট হবে,


> pnorm(0.67)
[1] 0.7485711

অর্থাত আপনার প্রোবাবিলিটি ৭৪.৬৮%।

উদাহরণ ২: P(z > z0 ) গণনা

ধরা যাক, আপনার z-score ভ্যালু ১.৬৪ এবং আপনি বের করতে চান এর উপরে ভ্যালু হবার সম্ভাবনা কতো।

এখানে আমি বের করতে চাচ্ছি upper tail এর ভ্যালু। এক্ষেত্রে দু’টি উপায়ের কথা ভাবা যায়। প্রথমত আগের মতোই lower tail এর ভ্যালু বের করে সেটা ১ থেকে বিয়োগ দেয়া এবং অন্য উপায়টি হলো lower.tail অপশনটির ভ্যালু FALSE করে দেয়া।


> pnorm(1.64, lower.tail=FALSE)
[1] 0.05050258

অথবা,


> 1 - pnorm(1.64)
[1] 0.05050258

এখানে দুটি উপায়েই আপনার প্রোবাবিলিটি দেখাচ্ছে ৫.০৫%.

উদাহরণ ৩: P(−z0 < z < z0 )

ধরা যাক, আমরা মোবাইল ফোনের চার্জ কতোক্ষণ থাকে সেটা নিয়ে কাজ করছি। আমরা ধরে নিচ্ছি এটি একটি নরমালি ডিস্ট্রিবিউটেড ড্যাটা যেটার এভারেজ ১০ঘন্টা ও স্ট্যান্ডার্ড ডিভিয়েশন ১.৫ ঘন্টা। আমরা বের করতে চাই একটি মোবাইলের চার্জ ৮ থেকে ১২ ঘন্টা থাকার সম্ভাবনা কতোটা।

R-এর মাধ্যমে আমরা সমস্যাটির সমাধান আমরা দুটি উপায়ে করতে পারি। প্রথমত আমরা আলাদা আলাদাভাবে ৮ ও ১২ ঘন্টার z-score বের করে উপরে যেভাবে দেখানো হয়েছে সেভাবে প্রোবাবিলিটি বের করতে পারি। দ্বিতীয়ত, সরাসরি হাতে থাকা ভ্যালুগুলো ব্যবহার করে আমরা প্রোবাবিলিটি বের করতে পারি।

সমাধানটির জন্য আমরা প্রথমে নরমাল কার্ভে ১২ (z-score ১.৩৩) পর্যন্ত প্রোবাবিলিটি বের করবো। এরপর ৮ (z-score -১.৩৩) পর্যন্ত এরিয়া সেটা থেকে বাদ দিলে আমরা এরিয়া A1 ও A2 পাবো।

এর জন্য কমান্ডগুলো হবে,


> pnorm(1.33) - pnorm(-1.33)
[1] 0.8164817

অথবা,


>pnorm (12, mean=10, sd=1.5, lower.tail=TRUE) -
pnorm (8, mean=10, sd=1.5, lower.tail=TRUE)
[1] 0.8164817

লিংক
১. স্লাইড
২. R কোড
৩. z-table

Comments

comments

About the author

হাসিব মাহমুদ

ব্লগার,
সচলায়তন.কম
নীড়পাতা.কম

Leave a Reply