Categories
Bangla Django Python Screencast

Django Life – Session 4 (Bangla Screencast)

The audio is in Bangla, you can switch to HD video by toggling the youtube settings.

(I do not prepare the scripts beforehand, so please apologize my clumsiness) .

Categories
Bangla Data Science

হিস্টোগ্রাম নাকি বার চার্ট?

ডাটা ভিজুয়ালাইজেশনের সময় আমরা প্রায়শই হিস্টোগ্রাম ও বার চার্ট এর ব্যবহার দেখবো । বার চার্ট এবং হিস্টোগ্রাম দেখতে অনেকটা একই রকম । দুটোতেই আমরা লম্বা লম্বা বার আকিঁ । x-axis এ ইন্ডিপেন্ডেন্ট ভ্যারিয়েবল ও y-axis এ ডিপেন্ডেন্ট ভ্যারিয়েবল এর মান বসিয়ে দিয়ে আমরা সুন্দর করে হিস্টোগ্রাম ও বার চার্ট একেঁ ফেলি ।

দেখতে একই রকম হলেও দুটোর মধ্যে রয়েছে মৌলিক পার্থক্য । হিস্টোগ্রাম টা আমরা রেন্জ বা ডিস্ট্রিবিউশানের ক্ষেত্রে ব্যবহার করি । যেমন নিচের হিস্টোগ্রামটা দেখি:

এখানে আমরা দেখছি বিভিন্ন বয়সের মানুষ, যারা ছুটি কাটাতে যায় তাদের মধ্যে কতজন হোটেলে থাকে । আমরা খেয়াল করলে দেখবো, এখানে ২০ বছরের নিচে যারা, তাদের মধ্যে ৫ জন হোটেলে থাকে, ২১-৩০ এর মধ্যে ১৫ জন, ৩১-৪০ এর মধ্যে আছে ১০ জন এবং ৪১-৫০ বয়সীদের মধ্যে ৫ জন এর কম ।

লক্ষ্য করি, এখানে আমাদের ডাটা নিউমেরিক্যাল এবং আমরা রেন্জ নিয়ে কাজ করছি – বয়সের রেন্জ । বিভিন্ন বয়সের মানুষকে নির্দিষ্ট কিছু রেন্জে আমরা ডিস্ট্রিবিউট করেছি । এখানে ডাটার এই রেন্জে কোন গ্যাপ নেই । এবং হিস্টোগ্রামের পার্টগুলোকে বা বার গুলোকে অন্য কোন অর্ডারে রি-এ্যারেন্জ করার সুযোগ নেই ।

এবার দেখি একটি বার চার্ট:

এই চার্টে আমরা দেখছি বিভিন্ন ব্র্যান্ডের গাড়ি নির্মাতাদের জানুয়ারী মাসে বিক্রিত গাড়ির সংখ্যা । এখানে প্রধান লক্ষনীয় বিষয় হলো এইবার আমাদের ডাটা কিন্তু নিউমেরিক্যাল না, বরং ক্যাটেগরিক্যাল । বিভিন্ন ব্র্যান্ডের মধ্যে তুলনা করতে আমরা এই বার চার্টটি ব্যবহার করতে পারি । বার চার্টের ক্ষেত্রে বার গুলোকে রি-এ্যারেন্জ করলেও কোন সমস্যা হয় না । এবং বার গুলো একটা আরেকটার সাথে কানেক্টেড না, মাঝ খানে তাই গ্যাপ থাকে ।


TL;DR – হিস্টোগ্রাম একটা ভ্যারিয়েবলের ডিস্ট্রিবিউশান রিপ্রেজেন্ট করার জন্য ব্যবহার করা হয়, বার চার্ট বিভিন্ন ভ্যারিয়েবলের মধ্যে তুলনা করার জন্য ব্যবহার করা হয় ।

Categories
Bangla Data Science

কো-রিলেশন (Correlation), কজেশন (Causation) ও ফেইসবুকের গল্প

স্ট্যাটিস্টিক্স – ১০১ কিংবা বিজনেস রিসার্চ – ১০১ কোর্স গুলোতে একটা প্রশ্ন খুবই কমন – “কো-রিলেশনই কি কজেশন? উদাহরন সহ ব্যখ্যা করো” । কো-রিলেশন থেকে আমরা জানতে পারি দুটো ভ্যারিয়েবল এর মধ্যে কোন “কো-রিলেশনশিপ” আছে কিনা ।

মনে করি num_friends হচ্ছে একজন ব্যক্তির ফেইসবুক ফ্রেন্ডের সংখ্যা আর time_spent হচ্ছে সেই ব্যক্তি দিনে কতটুকু সময় ফেইসবুকে ব্যয় করে । একদিন সময় করে আমি বিজনেস এ্যাডমিনিস্ট্রেশন ডিসিপ্লিনের শিক্ষার্থীদের উপর জরিপ করে এই ডাটা কালেক্ট করি এবং কো-রিলেশন নির্নয় করি । দেখা গেলো এই ভ্যারিয়েবল দুটি পজিটিভলি কো-রিলেটেড । তার মানে যাদের ফেইসবুকে ফ্রেন্ড সংখ্যা বেশী, তারা ফেইসবুকে বেশী সময় কাটায় ।

সমস্যা হলো, এই ঘটনার পিছনে ৩ ধরনের কারন থাকতে পারে:

(১) যাদের ফ্রেন্ড সংখ্যা বেশী, তারা ফ্রেন্ডদের পোস্ট, ছবি, কমেন্ট পড়ার জন্য ফেইসবুকে বেশী সময় ব্যয় করে (“num_friends” causes “time_spent”)

(২) যারা ফেইসবুকে বেশী সময় কাটায় তারা ফটোগ্রাফি গ্রুপ, ফুডিজ গ্রুপ, নিজের ক্লাসের গ্রুপ, ডিসিপ্লিনের গ্রুপ – নানা গ্রুপে মতামত শেয়ার করে । এরফলে সমমনা অনেক মানুষের সাথে বন্ধুত্ব হয় । (“time_spent” causes “num_friends”)

(৩) এরা ফেইসবুকে বেশী সময় কাটান বয়ফ্রেন্ড বা গার্লফ্রেন্ডের সাথে চ্যাট করে আর ফ্রেন্ড এ্যাড করেন ডিসিপ্লিনের সিনিয়র জুনিয়র সবাইকে । (none causes the other)

এখন যেহেতু আমরা নিশ্চিত না এই ৩টি ঘটনার কোনটি ঘটছে । তাই কোরিলেশন মানেই যে কজেশন – এই ধারনা আমাদের নাকচ করে দিতে হয় । এবং এটা আমরা সুন্দর করে পরীক্ষার খাতায় ব্যখ্যা করে নাম্বার পাই । তাই এর বেশী আমাদের চিন্তা করা হয়ে উঠে না ।

অন্যদিকে ফেইসবুকের বেতনভুক্ত ডাটা সায়েন্টিস্টরা কিন্তু এত সহজে পার পান না । তাদের টার্গেট আমাদের স্টুডেন্টদেরকে বেশী সময় ফেইসবুকে আটকে রাখা, এজন্য এটা নিয়ে তাদের বিশাল মাথা ব্যথা । তারা জানতে চায় বিএ ডিসিপ্লিনের এই কো-রিলেশনের পিছনে আসল ঘটনা কি । তারা ডিসিপ্লিনের স্টুডেন্টদের থেকে র‍্যান্ডম সাবসেট নিয়ে তাদের উপর এক্সপেরিমেন্ট চালায় – তাদের নিউজফিড কাস্টোমাইজ করে ফেলে এবং ২ ধরনের টেস্ট চালায় –

(১) কিছু লোকজনকে ব্যাড এর নেটওয়ার্ক থেকে পোস্ট দেখানো কমিয়ে দেয় । কিছু লোকজনকে বেশী পোস্ট দেখানো শুরু করে ।

(২) কিছু লোকজনকে বেশী বেশী ব্যাড এর সিনিয়র, জুনিয়রদের ফ্রেন্ড রিকুয়েস্ট সাজেস্ট করতে থাকে, কিছু লোকজনকে কমিয়ে দেয় ।

যেহেতু এটি একটি কল্পিত ঘটনা সেহেতু এই টেস্টের ফলাফল আমার জানা নেই । তবে প্রথম এবং দ্বিতীয় টেস্ট থেকে কিছুটা “কনফিডেন্স” পাওয়া যেতে পারে । যদি প্রথম টেস্টে দেখা যায় যে বেশী পোস্ট দেখানোর কারনে লোকজন বেশী সময় কাটাচ্ছে, আর পোস্ট কমিয়ে দেওয়ার কারনে কম সময় কাটাচ্ছে তাহলে আমরা কিছুটা আইডিয়া পাই যে আসলে num_friends causes time_spent অন্যদিকে দ্বিতীয় টেস্ট থেকে আমরা এর উল্টোটা জানতে পারি । আর দুটো টেস্টেই যদি নেগেটিভ রেজাল্ট পাই, তাহলে ফেইসবুকের রিসার্চ টীমের কাজ আরও বেড়ে গেলো । ৩য় কি ঘটনা ঘটতে পারে এটা নিয়ে এখন তাদের চুলচেরা বিশ্লেষন করতে হবে ।

সহজ কথায়, কোরিলেশন নিশ্চিতভাবে কজেশন মিন করে না, তবে টোটাল পপুলেশনের র‍্যান্ডম সাবসেট নিয়ে কিছু টেস্ট করে কোরিলেশনের পাশাপাশি কজেশনও আছে কিনা সে ব্যাপারে আইডিয়া পাওয়া যেতে পারে ।

পুনশ্চ: আমার এই উদাহরন সম্পূর্ন বানোয়াট হলেও ফেইসবুক তার নিউজফিড নিয়ে এক্সেপেরিমেন্ট করেছে এবং সেটার ইথিক্যাল দিক নিয়ে আলোচনা সমালোচনাও হয়েছে অনেক ।

রেফারেন্স: http://www.nytimes.com/2014/06/30/technology/facebook-tinkers-with-users-emotions-in-news-feed-experiment-stirring-outcry.html?_r=1