রিগ্রেশন এনালাইসিসের রেজাল্ট ভালই আসছিলো। কিন্তু সুপারভাইজারের মুখে বিরক্তি। তার বক্তব্য হলো আপনি নাকি ভুল এনালাইসিস করেছেন। কিন্তু প্রথম দেখাতে আপনার সেটা মনেই হয়নি। আপনি তো ঠিকঠাক এনালাইসিস করলেন। তাহলে কি সুপারভাইজার ভুল বললো?
একদমই না।
আপনার এনালাইসিসের জন্য কোন রিগ্রেশন নির্বাচন করবেন সেটা অনেকটাই নির্ভর করবে ডিপেন্ডেন্ট ভ্যারিয়েবলের উপর। সমস্যা হলো ডিপেন্ডেন্ট ভ্যারিয়েবলের এই মান গুলোর মধ্যেই লুকিয়ে থাকে নানা ধরন। এই মান গুলো হলো এক পাল ভেড়ার মত। কিছু কিছু হয়তো আপনি খুব সহজেই আলাদা করে ফেলতে পারবেন। কিন্তু বেশিরভাগ দেখতে একই রকম। আর দেখতে একই রকম হলে তো আর সবাই এক না।
চলুন আজকে এই ভেড়ার পাল গুলোকে এক এক করে চিনে নেই।
আমরা সবচেয়ে বেশি যেটার সাথে পরিচিত সেটা হলো কন্টিনিউয়াস ডেটা। ১.৫, ২.৮, ৩.৭৫, ৪.২৫... এই ধরনের সংখ্যা যেখানে দশমিক থাকতে পারে, দুই মানের মাঝে অসংখ্য মান থাকতে পারে। যেমন ফসলের ফলন (ton/hectare), পরিবারের আয় (টাকা), উচ্চতা (cm), তাপমাত্রা (°C)। এই ধরনের ডেটার জন্য আমরা সাধারণত লিনিয়ার রিগ্রেশন ব্যবহার করি।
কিন্তু এখানে একটা শর্ত আছে, Dependent এবং Independent এর মধ্যে সম্পর্কটা linear হতে হবে। মানে একটা বাড়লে আর একটা proportionally বাড়বে বা কমবে। যদি সম্পর্কটা curved হয় (যেমন সার একটা limit পর্যন্ত ফলন বাড়ায়, তারপর কমিয়ে দেয়), তাহলে শুধু লিনিয়ার দিয়ে কাজ হবে না।
এতদূর পর্যন্ত সব সহজ মনে হচ্ছে। সমস্যা হলো এই continuous এর মধ্যেই কয়েকটা special case আছে যেটা আমরা অনেকেই মিস করি।
ধরুন আপনি গবেষণা করছেন পরিবারের savings নিয়ে। ডেটা সংগ্রহ করতে গিয়ে দেখলেন অনেক পরিবারের savings ০ টাকা। তারা মাস শেষে কিছুই save করতে পারেন না। বাকি যারা save করেন, তাদের amount বিভিন্ন - কেউ ৫০০, কেউ ৫০০০, কেউ ৫০০০০।
এই ০ গুলো সাধারণ ০ না। অনেকের actual ability to save হয়তো negative-ও হতে পারতো (মানে তারা ঋণ করে চলেন), কিন্তু আমরা সেটা measure করতে পারছি না। শুধু ০ দেখছি। মানে ডেটা একটা limit এ এসে আটকে গেছে। এই অবস্থাকে বলে Censored data। অথবা সিজিপিএ এর কথাই হিসাব করুন। যতই মেধাবী হন না কেন আপনার রেজাল্ট ৪.০০ এর বেশি হবে না। এটাও Censored data.
এই ধরনের ডেটার জন্য সাধারণ লিনিয়ার রিগ্রেশন ভুল ফলাফল দেবে। তখন আমরা ব্যবহার করি Tobit Regression।
এখন আসি একটা সম্পূর্ণ আলাদা ধরনের সংখ্যার কথায়। ০, ১, ২, ৩, ৪... এই প্যাটার্নের সংখ্যা। এখানে ১.৫ বা ২.৮ আসবে না। এদের বলে Count data বা গণনাযোগ্য পূর্ণ সংখ্যা।
যেমন একজন কৃষকের কয়টা গরু আছে (০, ১, ২, ৫), এক বছরে কতবার হসপিটাল ভিজিট করেন (০, ৩, ৭), একজন কৃষক কতবার extension officer এর সাথে দেখা করেছেন (০, ১, ৮), একটা গ্রামে এক মাসে কতটা accident হয়েছে (০, ২, ৪), ইত্যাদি।
এবার আমরা continuous আর count এর পার্থক্যটা বোঝার চেষ্টা করি। continuous এ দেখা হয় পরিমাণ? (১.৫ kg ধান), আর countএ দেখা হয় কয়টা? (৩টা গরু)। এই পার্থক্য না বুঝে count data তে লিনিয়ার মডেল রান করলেই সমস্যা তৈরি হবে। তখন দেখবেন ফলাফলে negative মান চলে আসছে, যেটা logically impossible।
Count data এর জন্য আমরা সাধারণত যেতে পারি Poisson Regression এ। কিন্তু এখানেই গল্প শেষ না।
Poisson এর একটা critical শর্ত আছে। mean এবং variance প্রায় সমান হতে হবে। বাস্তবে কি হয়? কিছু কৃষক কখনোই officer এর সাথে দেখা করেন না, আবার কেউ কেউ মাসে ৫-৬ বার দেখা করেন। ফলে এ সব ক্ষেত্রে mean এর তুলনায় variance অনেক বেশি হয়ে যায় । এই অবস্থাকে বলে overdispersion। তখন Poisson ভুল ফলাফল দেবে। এক্ষেত্রে p-value কে artificially ছোট দেখাবে, এমন variable কেও significant দেখাবে যেগুলো আসলে significant না।
এই overdispersion এর সমস্যা সামলাতে আমরা যাই Negative Binomial Regression এর দিকে।
কিন্তু এখানেও একটা ঝামেলা আছে। এমন কি হতে পারে না যে আউটকাম ডেটার বেশীরভাগের মান শূন্য?
যেমন আপনার ক্লাসেই যদি সবাইকে জিজ্ঞেস করা হয় তুমি ডিনস এওয়ার্ড কয়টা পেয়েছ? এখানে দুই একজনের ৪-৫ থাকলেও বেশিরভাগের ক্ষেত্রে এই মান শূন্য হবে। এই অবস্থাকে বলা হয় Zero-Inflated। তখন Poisson বা Negative Binomial কোনোটাই ঠিকমতো কাজ করবে না। তখন আপনাকে যেতে হবে Zero-Inflated Poisson বা Zero-Inflated Negative Binomial এর দিকে।
এবার আসি একদম ভিন্ন ধরনের ডেটার দিকে। এখানে ডিপেন্ডেন্ট ভ্যারিয়েবল কোনো পরিমাণ না, বরং গ্রুপ বা category। ডিপেন্ডেন্ট যদি মাত্র দুইটা ক্যাটাগরির হয়, যেমন হ্যাঁ/না, সফল/ব্যর্থ, adopt করেছে/করেনি, তাহলে আপনি Binary Logistic Regression রান করবেন। যেমন কৃষক modern variety seed adopt করেছে কি করে নাই, রোগী সুস্থ হয়েছে কি হয়নি।
কিন্তু ক্যাটাগরিক্যাল আউটকাম আবার তিনটা বা তার বেশি হলে আপনাকে যেতে হবে Multinomial Logistic Regression এ। আবার সব সময় তিনটা ক্যাটাগরি দেখে খুশিতে আটখান হয়ে multinomial রান করলে হবে না।
দেখতে হবে ক্যাটাগরি গুলোর মধ্যে কোন অর্ডার আছে কিনা। অর্থাৎ এই ক্যাটাগরি দিয়ে বড় ছোট বোঝাচ্ছে কিনা। যদি ক্যাটাগরির মধ্যে সিরিয়াল বা অর্ডার থাকে তাহলে আমাদের যেতে হবে Ordered Logistic Regression এর দিকে।
ব্যাপারটা একটু পরিষ্কার করি। ধরুন আপনি জিজ্ঞেস করলেন কোন crop চাষ করেন? ধান, গম, না ভুট্টা? এখানে ধান গমের চেয়ে বড় বা ছোট না, শুধু আলাদা। এটা nominal, এখানে multinomial logistic চলবে। কিন্তু যদি জিজ্ঞেস করেন এই কোম্পানির এর সার নিয়ে আপনি কতটা সন্তুষ্ট? অসন্তুষ্ট, মাঝামাঝি, নাকি সন্তুষ্ট? এখানে স্পষ্ট order আছে। সন্তুষ্ট অসন্তুষ্ট থেকে বেশি। এই পার্থক্য না বুঝে multinomial রান করলে আপনি ordering এর তথ্য হারাবেন, ফোলে ফলাফল হবে ভুল।
আরেকটা ধরনের ডেটা আছে যেটা একদম আলাদা category. যেটাকে বলে time-to-event data বা survival data। এখানে ডিপেন্ডেন্ট ভ্যারিয়েবল শুধু একটা সংখ্যা না, এটা দুটো জিনিসের combination. সময় এবং event ঘটেছে কিনা।
যেমন ধরুন আপনি দেখতে চান একটা নতুন variety seed কতদিন পর কৃষকরা adopt করছেন। কেউ ৬ মাসে adopt করলো, কেউ ২ বছরে। কিন্তু study শেষ হয়ে গেলো, কিছু কৃষক তখনো adopt করেননি। এদের সম্পর্কে আমরা শুধু জানি এতদিন পর্যন্ত adopt করেনি, কিন্তু ভবিষ্যতে করবে কিনা জানি না। এদের বলে censored observations (এই censoring আগের Tobit এর censoring থেকে আলাদা)।
এই ধরনের ডেটার জন্য সাধারণ regression কাজ করবে না। এখানে আমরা ব্যবহার করি Cox Regression বা Survival Analysis।
আরো কিছু উদাহরণ যেমন, রোগ সনাক্ত হবার পর রোগী কতদিন বাঁচলেন, মেশিন চালু করার পর কতদিনে নষ্ট হলো, loan নেওয়ার পর কতদিনে default করলো। এই সকল ক্ষেত্রেও Cox Regression বা Survival Analysis ব্যবহার করতে হবে।
শেষে একটা স্পেশাল অবস্থার কথা বলি। সাধারণত গবেষণায় আমরা একটা ডিপেন্ডেন্ট ভ্যারিয়েবল নিয়ে কাজ করি। কিন্তু কখনো কখনো একসাথে কয়েকটা binary outcome থাকে যেগুলো একে অপরের সাথে সম্পর্কিত।
যেমন আপনি দেখতে চাচ্ছেন একজন কৃষক একসাথে কয়টা technology adopt করেছেন। improved seed, fertilizer, pesticide, smart irrigation এই চারটা আলাদা আলাদা binary outcome (Yes/No), কিন্তু এরা আবার নিজেদের মধ্যে সম্পর্কিত। যে কৃষক improved seed use করেন, তার smart irrigation ব্যবহার করার সম্ভাবনা বেশি থাকে। অর্থাৎ এই দুইটা technology adoption এর মধ্যে সম্পর্ক থাকতে পারে। এই correlated structure কে handle করতে হলে যেতে হয় Multivariate Probit (MVP) এর দিকে।