গবেষণা শুরু করা নতুন গবেষকদের জন্য অনেক আনন্দের হলেও মাঝপথে থেমে যাওয়ার সমস্যা প্রায়ই দেখা যায়। কখনো উদ্দেশ্যহীন গবেষণা, কখনো সঠিক গাইডলাইন বা সময় ব্যবস্থাপনার অভাব এর কারণ হতে পারে। এখানে গবেষণার ধারাবাহিকতা ধরে রাখার সমস্যাগুলো এবং সমাধান নিয়ে আলোচনা করা হলো।
Friday, June 19, 2026
Tuesday, June 9, 2026
Normalization and Standardization in Statistics and ML
আপনি একটা ডেটাসেট নিয়ে কাজ করছেন যেখানে মানুষের বয়স এবং মাসিক আয় দেওয়া আছে। বয়স হয়তো ২০ থেকে ৬০ বছরের মধ্যে, কিন্তু আয় হয়তো ২০ হাজার থেকে ২ লাখ টাকার মধ্যে।
এখন আপনি যদি এই ডেটা দিয়ে কোনো মডেল বা স্ট্যাটিস্টিক্যাল এনালাইসিস রান করতে যান, মডেল ভাববে আয় ভ্যারিয়েবলটা বয়সের চেয়ে অনেক বেশি গুরুত্বপূর্ণ। কারণ এর সংখ্যাগুলো বড়! কিন্তু বাস্তবে তো দুটোই সমান গুরুত্বপূর্ণ। এই আপেল আর কমলার তুলনাকে এক পাল্লায় মাপার জন্যই ডেটা সায়েন্সে আমরা ফিচার স্কেলিং (Feature Scaling) করি।
কিন্তু ফিচার স্কেলিং আসলে কেন এত জরুরি?
ফিচার স্কেলিংয়ের প্রথম কাজ হলো মডেলের বায়াস দূর করা। যদি স্কেলিং না করেন, অ্যালগরিদম বড় সংখ্যার ভ্যারিয়েবলকে (যেমন- আয়) বেশি পাত্তা দেবে আর ছোট সংখ্যার ভ্যারিয়েবলকে (যেমন- বয়স) কম পাত্তা দেবে । ডেটা স্কেলিং সব ভ্যারিয়েবলকে সমান চোখে দেখতে সাহায্য করে। এছাড়াও ঠিকঠাক তুলনা করার জন্য এটি গুরুত্বপূর্ণ। রিগ্রেশন এনালাইসিসে কোন ভ্যারিয়েবলটার প্রভাব বেশি, সেটা বোঝার জন্য সবগুলোকে একই স্কেলে আনাটা মাস্ট। তা না হলে আপনার ফলাফল আনবায়াসড থাকবে না।
আর এই ফিচার স্কেলিংয়ের সবচেয়ে জনপ্রিয় দুটো উপায় হলো Normalization এবং Standardization। নতুন গবেষকরা অনেক সময় এই দুটোকে এক মনে করে গুলিয়ে ফেলেন। চলুন একদম সহজভাবে এই দুটোর পার্থক্য বুঝে নেওয়া যাক।
Normalization কী? Normalization বা মিন-ম্যাক্স স্কেলিং (Min-Max Scaling) হলো আপনার ডেটার মানগুলোকে একটা নির্দিষ্ট সীমানার মধ্যে নিয়ে আসা। সাধারণত এই সীমানা হয় ০ থেকে ১ এর মধ্যে। বিষয়টা অনেকটা এমন, ধরুন আপনার কাছে ১০০ এবং ৫০০ টাকার নোট আছে। আপনি বললেন সবচেয়ে ছোট নোটটাকে আমি ০ ধরব আর সবচেয়ে বড়টাকে ১ ধরব। বাকি সব নোট এর মাঝখানে আনুপাতিক হারে বসে যাবে। এতে ডেটার মূল আকার বা ডিস্ট্রিবিউশন বদলায় না, শুধু রেঞ্জটা ছোট হয়ে আসে।
Standardization কী? অন্যদিকে Standardization বা জেড-স্কোর (Z-score) স্কেলিং কাজ করে একটু ভিন্নভাবে। এটা ডেটার গড় বা Mean কে ০ তে নিয়ে আসে এবং স্ট্যান্ডার্ড ডেভিয়েশন (Standard Deviation) কে ১ বানিয়ে দেয়। এখানে সীমানার কোনো বাধ্যবাধকতা নেই। এটা মূলত দেখে ডেটা তার গড়ের চেয়ে কতটা দূরে আছে। ধরুন ক্লাসে অঙ্কের গড় নম্বর ৫০। কেউ যদি ৭০ পায়, তার স্কোর হবে পজিটিভ। আর কেউ যদি ৩০ পায়, তার স্কোর হবে নেগেটিভ।
এখন প্রশ্ন কখন কোনটা ইউজ করবেন?
কখন কোনটা ব্যবহার করবেন সেটা বোঝা আসলে খুব একটা কঠিন কিছু না। নিজেকে শুধু তিনটি প্রশ্ন করবেন। প্রথমত, ডেটার ডিস্ট্রিবিউশন কেমন? আপনার ডেটা যদি নরমাল ডিস্ট্রিবিউশন (Normal Distribution) বা বেল কার্ভ মেনে না চলে, তবে Normalization ব্যবহার করা ভালো। আর ডেটা যদি মোটামুটি নরমাল ডিস্ট্রিবিউশন মেনে চলে, তখন Standardization ব্যবহার করতে পারেন।
দ্বিতীয়ত দেখতে হবে, ডেটাতে কি আউটলায়ার (Outliers) আছে? আপনার ডেটাতে যদি অনেক অস্বাভাবিক মান বা আউটলায়ার থাকে, তাহলে Normalization ব্যবহার করলে সমস্যা। কারণ সে ওই অস্বাভাবিক বড় মানটাকে ১ ধরে বসবে, ফলে আপনার দরকারি সব ডেটা খুব ছোট একটা জায়গায় চলে আসবে। এরকম ক্ষেত্রে Standardization অনেক বেশি কার্যকরী, কারণ এটি আউটলায়ার দ্বারা খুব একটা প্রভাবিত হয় না।
তৃতীয়ত, আপনি কোন অ্যালগরিদম ব্যবহার করছেন? K-Nearest Neighbors (KNN) বা Neural Networks এর মতো অ্যালগরিদমগুলো দূরত্বের ওপর ভিত্তি করে কাজ করে। এসব জায়গায় Normalization খুব ভালো কাজ করে। অন্যদিকে Linear Regression, Logistic Regression বা Support Vector Machine এর মতো মডেলগুলোর ক্ষেত্রে Standardization ভালো ফলাফল দেয়।
শেষ কথায় বলতে গেলে, গবেষণায় বা ডেটা সায়েন্সে কোনো বাঁধাধরা নিয়ম নেই। আপনি যদি কনফিউজড থাকেন, তবে আপনার ডেটাসেট নিয়ে দুটি পদ্ধতিই ব্যবহার করে দেখতে পারেন। এরপর Model fit statistics মিলিয়ে দেখুন কোনটায় আপনার মডেল সবচেয়ে নিখুঁত রেজাল্ট দিচ্ছে। ডেটা যেটা চাইবে, আপনাকে সেটাই ব্যবহার করতে হবে!
Saturday, June 6, 2026
The Butterfly Effect
আপনি ঠিক যেখানে বসে এই লেখা পড়ছেন... আপনার কি আসলেই সেখানে থাকার কথা ছিল? কীভাবে এখানে আসলেন? কোন সিদ্ধান্তটা আপনাকে ঠিক এই জায়গাটিতে নিয়ে এসেছে? এখানে না থাকলে আজ কোথায় থাকতেন? কী করতেন?
Wednesday, May 27, 2026
গবেষণা ও গবেষণাপত্রের পার্থক্য
গতদিন 'কীভাবে ৩ ঘণ্টায় Q1 জার্নালের জন্য পেপার রেডি করবেন' নিয়ে একটি ফানি পোস্ট দেওয়ার পর একটি বিষয় খুব ভালোভাবে বুঝলাম। অনেকেই, বিশেষ করে গবেষণার জগতে নতুন পা রাখা অনেকেই গবেষণা ও গবেষণাপত্র বিষয় দুটিকে এক মনে করে গুলিয়ে ফেলেন। তাঁরা ভাবেন, সুন্দর করে কয়েক পৃষ্ঠা ইংরেজি লিখে ফেলাই বুঝি রিসার্চ! বিষয়টা কিন্তু মোটেও তা নয়। একটি ম্যানুস্ক্রিপ্ট আপনি হয়তো AI এর সাহায্য নিয়ে খুব দ্রুত লিখে ফেলতে পারবেন। কিন্তু গবেষণা?
Friday, May 22, 2026
মডেল ফিট স্ট্যাটিস্টিক্স: আপনার তৈরি মডেলটি আসলে কতটা ভালো?
ডেটা এনালাইসিসের পর সেই মডেলটা আসলে কতটা কার্যকর বা বাস্তবের সাথে কতটা মানানসই, তা বোঝার জন্য আমরা সাধারণত Model fit statistics ব্যবহার করি। সহজ কথায় বলতে গেলে, Model fit statistics হলো এমন কিছু গাণিতিক মাপকাঠি, যা আমাদের বলে দেয় যে আমাদের তৈরি করা মডেলটি বাস্তবের ডেটার সাথে কতটা নিখুঁতভাবে মিলে যাচ্ছে। বিষয়টা অনেকটা এমন যে আপনি দর্জির কাছে গিয়ে মাপ দিয়ে একটি শার্ট বানালেন। শার্টটি তৈরি হওয়ার পর আপনি যখন গায়ে দেন, তখন বুঝতে পারেন সেটি আপনার গায়ে ফিট হয়েছে কিনা। শার্ট যদি খুব ঢিলা বা খুব চাপা হয়, তার মানে শার্টের ফিটিং ভালো হয়নি। ডেটা এনালাইসিসের ক্ষেত্রেও বিষয়টা ঠিক এমনই। আমরা আমাদের সংগৃহীত ডেটা দিয়ে যে মডেলটি তৈরি করি, সেটি বাস্তবের ফলাফলগুলোকে কতটা নিখুঁতভাবে প্রেডিক্ট করতে পারছে, তা যাচাই করার উপায়ই হলো Model fit statistics।
মডেল কতটা ফিট সেটা যাচাই করার জন্য অনেক রকমের ইনডিকেটর আছে। যেমন R square, Adjusted R square, RMSE, Pseudo R square, Log-likelihood এর মতো বিষয়গুলো। তবে মনে রাখতে হবে, সব মডেলে এই সবগুলোর প্রয়োজন হয় না। মডেলের ধরন অনুযায়ী আমাদের যাচাইয়ের পদ্ধতিও বদলে যায়।
শুরুতেই ধরা যাক লিনিয়ার রিগ্রেশনের কথা। মনে করুন, আপনি বের করতে চাইছেন একজন শিক্ষার্থীর পড়াশোনার সময় এবং ক্লাসে উপস্থিতির হারের ওপর তার সিজিপিএ কীভাবে নির্ভর করে। এই মডেলে আপনি প্রথমেই যেটা দেখবেন, তা হলো R-squared। R-squared এর মান আপনাকে বলবে আপনার ইন্ডিপেন্ডেন্ট ভ্যারিয়েবলগুলো, অর্থাৎ পড়াশোনার সময় ও উপস্থিতি মিলে শিক্ষার্থীর সিজিপিএ এর কতটুকু পরিবর্তন বা ভ্যারিয়েশন বা কারণ ব্যাখ্যা করতে পারছে। আপনার মডেলে যদি R-squared = ০.৭০ আসে, তার মানে হলো সিজিপিএ-র ৭০% পরিবর্তন আপনি পড়াশোনা ও উপস্থিতির সময় দিয়ে ব্যাখ্যা করতে পেরেছেন। বাকি ৩০% হয়তো তার মেধা বা পরীক্ষার দিনের মানসিক অবস্থা বা অন্য কোনো অজানা কারণের ওপর নির্ভর করছে যেগুলো মডেলে আনা হয়নি।
কিন্তু শুধু R-square দেখলেই হবে না, আপনাকে Adjusted R-square এর দিকেও তাকাতে হবে। কারণ সাধারণত মডেলে আপনি যত ভ্যারিয়েবল যোগ করবেন (ধরে নিন আপনি শিক্ষার্থীর জুতার সাইজও মডেলে ঢুকিয়ে দিলেন) গাণিতিক কারণে R-square এর মান কিছুটা বেড়ে যায়। Adjusted R-square এখানেই গুরুত্বপূর্ণ ভূমিকা পালন করে। জুতার সাইজ তো আর সিজিপিএ তে কোনো প্রভাব ফেলে না, তাই এই অপ্রয়োজনীয় ভ্যারিয়েবল যোগ করলে Adjusted R-square বৃদ্ধি না পেয়ে উল্টো কমে যাবে।
এরপরে আসে RMSE (Root Mean Squared Error)। এটা হলো আপনার মডেল যে সিজিপিএ প্রেডিক্ট করেছে, আর ওই শিক্ষার্থীর আসল সিজিপিএ এই দুটোর মধ্যে গড়ে কতটা দূরত্ব। এই মান যত কম হবে, আপনার প্রেডিকশন তত নিখুঁত বলে ধরা হবে। লিনিয়ার রিগ্রেশনের ক্ষেত্রে সবচেয়ে গুরুত্বপূর্ণ অথচ সবচেয়ে অবহেলিত বিষয় হলো রেসিডিউয়াল প্লট (Residual Plot)। রেসিডিউয়াল মানে হলো শিক্ষার্থীর আসল সিজিপিএ থেকে আপনার প্রেডিক্ট করা সিজিপিএর বিয়োগফল। আপনি যদি এগুলো নিয়ে একটা গ্রাফ আঁকেন আর দেখেন বিন্দুগুলো এলোমেলোভাবে বা র্যান্ডমলি ছড়িয়ে আছে, তাহলে বুঝবেন মডেল ঠিক আছে। কিন্তু যদি দেখেন একটা নির্দিষ্ট প্যাটার্ন তৈরি হয়েছে, তাহলে বুঝতে হবে আপনার মডেলে গুরুত্বপূর্ণ কোনো কিছু বাদ পড়েছে।
এবার ধরুন, আপনার গবেষণার বিষয়টা একটু আলাদা। আপনি সিজিপিএ জানতে চাইছেন না, আপনি দেখতে চাইছেন পড়াশোনার সময় এবং ক্লাস টেস্টের মার্কসের ওপর ভিত্তি করে একজন শিক্ষার্থী চূড়ান্ত পরীক্ষায় পাশ করবে নাকি ফেল করবে। যেহেতু ফলাফল এখানে পাশ বা ফেল ভিত্তিক, তাই আপনাকে লজিস্টিক রিগ্রেশন ব্যবহার করতে হবে। লজিস্টিক মডেলে লিনিয়ার রিগ্রেশনের মতো সরাসরি R-square পাওয়া যায় না। এর পরিবর্তে আমরা McFadden’s বা Nagelkerke-এর মতো Pseudo R-square ব্যবহার করি। এগুলো দিয়ে হুবহু ভ্যারিয়েশন ব্যাখ্যা করা না গেলেও, দুটো ভিন্ন মডেলের মধ্যে তুলনা করতে এগুলো কাজ করে। McFadden’s R-square এর মান ০.২ থেকে ০.৪-এর মধ্যে থাকলে ধরে নেওয়া হয় মডেলটা বেশ ভালো ফিট করেছে।
লজিস্টিক মডেলে আপনাকে দেখতে হবে Hosmer-Lemeshow Test। এই টেস্ট বলে দেয় আপনার মডেলের প্রেডিক্ট করা পাশ করার সম্ভাব্যতার সাথে বাস্তবে সত্যিই পাশ করার কতটা মিল আছে। অন্যান্য টেস্টে p-value কম হলে আমরা খুশি হই, কিন্তু এখানে ব্যাপারটা ঠিক উল্টো। Hosmer-Lemeshow Test এ p-value যদি ০.০৫ এর বেশি হয়, তবেই মডেলটির ফিট ভালো ধরা হয়। p-value ছোট হওয়ার মানে হলো মডেল আর বাস্তব ডেটার মধ্যে বড় কোনো সমস্যা আছে। এর পাশাপাশি আপনাকে Confusion matrix দেখতে হবে। এটা একটা চমৎকার টেবিল বা ছক, যা দেখায় আপনার মডেল কতজনকে সঠিকভাবে পাশ বলে প্রেডিক্ট করেছিল এবং বাস্তবেও তারা পাশ করেছে, আর কতজনকে ফেল বলেছিল এবং বাস্তবেও তারা ফেল করেছে। এখান থেকেও আপনি মডেলের Accuracy বা নির্ভুলতা বুঝতে পারবেন।
আপনি যদি লজিস্টিক রিগ্রেশনের বদলে প্রোবিট মডেল ব্যবহার করেন, সেক্ষেত্রে চিত্রটা প্রায় একই রকমই থাকবে। কারণ প্রোবিট মডেলও পাশ-ফেল বা হ্যাঁ-না জাতীয় ডেটা নিয়েই কাজ করে। তবে এখানে মডেল যাচাইয়ের জন্য Log-likelihood এবং Likelihood Ratio (LR) Test-এর ওপর বেশি ফোকাস করা হয়। Log-likelihood আপনাকে বলবে আপনার ডেটার সাথে মডেলটা কতটা সামঞ্জস্যপূর্ণ। এই মানটি সাধারণত নেগেটিভ হয়, আর এটি শূন্যের যত কাছাকাছি থাকবে, মডেল তত ভালো বলে ধরে নেয়া হয়। অন্যদিকে LR Test হলো একটা তুলনামূলক পরীক্ষা। ধরুন আপনি একটা Null Model বানালেন, যেখানে পড়াশোনার সময় বা ক্লাস টেস্টের মার্কসের মতো কোনো ভ্যারিয়েবলই নেই, মডেল শুধু আন্দাজে পাশ-ফেল প্রেডিক্ট করছে। LR Test আপনার আসল মডেলটাকে এই Null Model-এর সাথে তুলনা করে। এর Chi-square মানটি যদি সিগনিফিকেন্ট হয়, তার মানে হলো আপনার বানানো মডেলটা Null মডেলের চেয়ে অনেক অনেক গুণ ভালো কাজ করছে।
এবার আসি টোবিট মডেল এর দিকে। ধরুন, ক্লাসে একটা খুব কঠিন পরীক্ষা হয়েছে। নিয়ম হলো, কেউ ৪০-এর নিচে পেলে তার মার্কস খাতায় ০ হিসেবে লেখা হবে। পরীক্ষা এতই কঠিন ছিল যে, ক্লাসের অর্ধেকের বেশি শিক্ষার্থী ৪০ এর নিচে পেয়েছে, তাই আপনার ডেটাসেটের অনেকগুলো মার্কস ০ তে আটকে আছে, আর বাকিরা বিভিন্ন মার্কস পেয়েছে। এই ধরনের পরিস্থিতিতে টোবিট মডেলে আমরা আগের মত Log-likelihood এবং LR test দেখে থাকি। পাশাপাশি Pseudo R-square ও দেখা হয়। এর বাইরে টোবিট মডেল ঠিকমতো কাজ করছে কি না, তা বোঝার জন্য আপনার মডেল যেসব মার্কস প্রেডিক্ট করেছে, তার ডিস্ট্রিবিউশন আর শিক্ষার্থীদের আসল মার্কসের ডিস্ট্রিবিউশন পাশাপাশি রেখে তুলনা করতে হয়। এই দুটো ডিস্ট্রিবিউশনের চেহারা যদি কাছাকাছি হয়, তাহলে নিশ্চিন্ত হতে পারেন যে আপনার মডেল ঠিক আছে।
সবশেষে আপনাকে মনে রাখতে হবে যে ডেটা এনালাইসিসের ক্ষেত্রে কোনো একটা নির্দিষ্ট ইন্ডিকেটর বা সংখ্যা দিয়ে মডেলের মান বিচার করা ঠিক নয়। R-square অনেক বেশি মানেই যে মডেল খুব ভালো বিষয়টা মোটেও এমন নয়। আপনাকে সব সময় কয়েকটা ইন্ডিকেটর একসাথে দেখতে হবে। আপনার পাওয়া পরিসংখ্যানগুলো আপনার গবেষণার মূল থিওরির সাথে কতটা মিলছে, তার ওপর ভিত্তি করে চূড়ান্ত সিদ্ধান্ত নিতে হবে।



