Thursday, June 7, 2018

    R এর গ্রাফগুলোতে এমনিতে গ্রিড থাকে না। কিন্তু চাইলে করা যাবে না, এমন কিছু R-এ খুঁজে পাওয়া দুষ্কর। আমরা আজকে নীচের গ্রাফটি আঁকার উপায় দেখব।


    বরাবরের মতোই আগে লাগবে ডেটা। তো কিছু ডেটা বানিয়ে নেই। 

    x=sample(30)+1:30
    y=sample(30)+30:1
    df=data.frame(x,y)
    df.ts=ts(df,start=1980)

    একটি টাইম সিরিজ ফরম্যাট বানিয়ে নিলাম। এবার চাইলে প্লটের ব্যাকগ্রাউন্ড সেট করে নিতে পারি। না করলেও দুনিয়া ধ্বংস হয়ে যাবে না। আপনার ইচ্ছা! 

    par(bg="#8FBC8F")

    এখানে #8FBC8F হলো হেক্স কোডে লেখা কালার। আপনি এ সাইট থেকে আরও নানান ধরনের কালার বসাতে পারেন। চাইলে আপনি red, blue ইত্যাদিও দিতে পারেন। 

    x ও y চলকে বসানোর জন্য দুই রকম কালার ঠিক করে রাখি। 

    color= c("red","yellow")

    এবার প্রাথমিক প্লটখানা এঁকে ফেলি। এতে কিন্তু কোনো গ্রিড নেই। 

    ts.plot(df.ts, gpars=list(col=color), lwd=5,
            ylab="Value", xlab="Year", main="Grid on R plot")

    এবারই আমাদের মূল কাজ। মানে গ্রিড। 

    grid(7,7, col="black", lwd=3, lty='solid')

    7, 7 বোঝাচ্ছে যে x ও y অক্ষ বরাবর যথাক্রমে কয়টি করে লাইন আঁকা হবে। লাইনের রঙ, লাইনের প্রস্থ সবই চেঞ্জ করতে পারবেন ইচ্ছা মতো। 

    আরও নানান উপায় দেখতে হেল্প ফাইল দেখে নিন। 

    ?grid

    এবার প্লটে লিজেন্ড দিয়ে বুঝিয়ে দেওয়া যাক কোন লাইনটা কোন চলকের। 

    legend("top", legend=names(df), ncol=2, col=color, pch=19)
    তবে সবচেয়ে ভালো grid() ফাংশনের ভেতরে কিছুই না লিখলে। এতে করে y অক্ষের সাথে দাগগুলো নিজে নিজেই মিলে যাবে। দেখতে ও বুঝতেও হবে সহজ। অবশ্য প্লট ব্যাকগ্রাউন্ড সেট করলে কালার ম্যাচিং না হলে কালার যুক্ত করা যেতে পারে।

    par(bg="#00bfff")
    plot(sample(10,6), pch=19, col="white", type="b", lwd=2,
         ylab="Value")
    grid()

    এটায় কালার মিলছে না। তাই গ্রিডের কালার দিয়ে দিলাম।

    par(bg="#00bfff")
    plot(sample(10,6), pch=19, col="white", type="b", lwd=2,
         ylab="Value")
    grid(col="black")

    R প্লটে অটো গ্রিড 
    এখানে আমরা প্লট করার জন্য ১০টি ভ্যালু থেকে ৬টি ভ্যালু স্যাম্পল নিয়েছি। তাই একই কোড রান করলেও গ্রাফটি এটা থেকে আলাদা আসার সম্ভাবনাই বেশি।

    আরও পড়ুন 
    ☛  স্মুথ প্লট আঁকবেন কীভাবে 
    Category: articles
    আমরা নীচের ছবির মতো একটি গ্রাফ আঁকতে চাই। যেখানে একই গ্রাফে অনেকগুলো টাইম সিরিজ ডেটা থাকবে।

    একই গ্রাফে অনেকগুলো টাইম সিরিজ 

    তো প্রথমেই আঁকার জন্যে আমাদের কাছে কিছু ডেটা থাকতে হবে। আপাতত আমরা নিজেরাই কিছু ডেটা বানিয়ে নিচ্ছি। আপনি চাইলেই এক্সেল বা CSV (কমা সেপারেটেড ভ্যালু) ফাইল থেকেও ডেটা লোড করতে পারেন।

    x=seq(30000,40000,500)+rnorm(mean=500, sd=1000,n=21)
    y=seq(29000,39000,500)+rnorm(mean=500, sd=1000,n=21)
    z=x-y
    df=data.frame(income=x, expense=y, balance=z)

    এখানে আমরা df নামে একটি ডেটা ফ্রেইম তৈরি করলাম। আপনি চাইলে head(df) লিখে ডেটা ফ্রেইমের চলকগুলোর প্রথম ৬টি করে মান দেখে নিতে পারেন। এবার আমাদেরকে এই ডেটাকে টাইম সিরিজ ফরম্যাটে রূপ দিতে হবে। একটি চলক (variable) নিয়ে প্লট করার উপায়টা আগে একটু দেখে নেই। 

    x.ts=ts(x, end=2018)

    ts ফাংশন x চলকটিকে টাইম সিরিজ ফরম্যাটে রুপান্তর করল।  ?ts কমান্ডের সাহায্যে আপনি ts ফাংশনের আরও নানান অপশন দেখে নিতে পারেন। যেমন ডেটা কোন বছর শুরু হল, সেটা জানা থাকলে start=year অপশন ব্যবহার করতে পারেন। 

    এবার আমরা একে প্লট করব

    plot(x.ts) 
    এটা খুব একটা সুন্দর হবে না। তার চেয়ে আরও কিছু attribute যোগ করলে ভাল হয়। 

    plot(x.ts, col=3, lwd=2, ylab="Amount")
    lwd এর কাজ হলো লাইন কতটা মোটা বা চিকন হবে তা ঠিক করা। lwd=1 দিলে সবচেয়ে চিকন হবে। আরও ভাল করতে চাইলে একটা ব্যাকগ্রাউন্ড যোগ করতে পারেন।

    par(bg="gray")
    plot(x.ts, col="red", lwd=2) 

    একটি চলকের টাইম সিরিজ গ্রাফ 

    এবার আমরা একই গ্রাফে আমাদের df ডেটাফ্রেইমের ৩টা চলক একত্রে আঁকবো। তাহলে একে আগে টাইম সিরিজ ফরম্যাট করা যাক। চেঞ্জ করে নতুন নাম দিলাম df.ts।

    df.ts=ts(df, end=2018)
    এবার একে প্লট করে ফেলি।

    ts.plot(df.ts, gpars=list(col=topo.colors(3)), lwd=2,
            ylab="Amount")
    খেয়াল করুন, এখানে আমরা plot ফাংশনের বদলে ts.plot ব্যবহার করলাম। 

    topo.colors এর কাজ হলো অটোম্যাটিক কালার করে নেওয়া। ভেতরে ৩ মানে ৩টি কালার হবে। যেহেতু আমাদের চলক ৩টি। অটো কালার করার আরও অনেক উপায় আছে। যেমন terrain.colors(3), rainbow(3), heat.colors(3)। আবার ম্যানুয়ালিও কালার করা যাবে। 

    ts.plot(df.ts, gpars=list(col=c("green",'Blue','Yellow'), lwd=2))। 

    এবার legend দিয়ে বোঝাতে হবে কোন কালারের কী মানে। 

    legend("topleft", legend=names(df), fill=terrain.colors(3), ncol=3)

    ts.plot কমান্ডে col অপশনে যেটা থাকবে এখানে fill এর জায়গায় সেটাই দিতে হবে। ncol মানে লিজেন্ড বক্স এর কলাম কয়টি হবে। প্লট দেখে সুবিধামতো লিজেন্ড এর পজিশন ঠিক করতে হবে। topleft এর বদলে top, bottom, right, left বা এদের যে কোন রকম কম্বিনেশন ব্যাবহার করা যাবে। 
    legend এর ভেতরের legend এর মানে হলো কালারগুলোর নাম কী কী হবে। ওপরের কোডে আমরা সরাসরি ডেটাফ্রেইমের কলাম নেইম দিয়ে দিয়েছি। চাইলে ইচ্ছামতো অন্য কিছুও দেওয়া যায়। 

    legend("topleft", legend=c("red","green","yellow"), fill=terrain.colors(3), ncol=3)


    আরেকটি অপশনাল কাজ বাকি। প্লটের ব্যাকগ্রাউন্ড একটু চেঞ্জ করে নিলে আরেকটু দৃষ্টিনন্দন হতে পারে। এটা আমাদের মোটামুটি ফাইনাল কাজ। 

    par(bg="gray")
    ts.plot(df.ts, gpars=list(col=topo.colors(3)), lwd=5, ylab="Amount", xlab="Year")
    legend("topleft", legend=names(df), fill=topo.colors(3), ncol=3,)
    এই প্লটটা স্বাভাবিকের মতো এবড়োথেবড়ো নয়। 

    পড়ে নিন তাহলে 
    Category: articles

    Wednesday, June 6, 2018

    শুধু যে ডেটা অ্যানালিটিক্সের সিরিয়াস কাজেই R কারিশমা দেখায় এমন না। হাসতে-খেলতে মনের খোরাক যোগানোরও নানান উপাদান পাওয়া যাবে এর মধ্যে। R এর অন্যতম বিখ্যাত প্যাকেজ হলো ggplot2। এর মাধ্যমেই আমরা নীচের ফুলটি এঁকে ফেলতে পারি।

    R প্রোগ্রামিং দিয়ে আঁকা ফুল 

    এর জন্যে প্রথমেই ggplot2 প্যাকজেটি লোড করতে হবে।

    library(ggplot2)

    আর যদি প্যাকেজটি আগে ইনস্টল করা না থাকে তবে ইনস্টল তো করে নিতেই হবে।

    install.packages("ggplot2")

    ফুলের আকার-আকৃতির জন্যে প্রথমে কিছু ফর্মুলা লিখে নিতে হচ্ছে। এরপরেই পাওয়া যাবে কাঙ্খিত সেই বাহারি ফুল!

    angle=pi*(3-sqrt(5)) n=500 t=angle*(1:n) x=sin(t) y=cos(t) df=data.frame(t,x,y) library(ggplot2) p=ggplot(df, aes(x*t,y*t)) p+geom_point(size=8, alpha=0.6, color='blue')+ theme(title=element_blank(), text=element_blank(), panel.grid = element_blank(), panel.background = element_rect(fill='white'))

    চাইলেই আপনি আরও হাজার রকম ফুল আঁকতে পারেন। শুধু ওপরের angle টাই পাল্টে দেখুন না! যেমন এইটুকু শুধু পাল্টালাম। ফলাফল নিজেই দেখুন।

    angle=pi*(5-sqrt(10)) n=700
    আবার এই কোড কী করল দেখুন!
    angle=2.73*(3-sqrt(4)) n=300
    R প্রোগ্রামিং দিয়ে আঁকা ফুল
    Category: articles

    Wednesday, May 30, 2018

    সকল কাজের মোক্ষম কাজী R প্রোগ্রামিং ল্যাঙ্গুয়েজ। ইমেইল করার জন্যেও এতে রয়েছে দারুণ একটি প্যাকেজ। নাম: mailR



    শুরুতে আপনাকে R এর প্যাকেজটি ইনস্টল ও লোড করে নিতে হবে।
    install.packages("mailR")
    

    এই প্যাকজেটি আবার R এর আরেকটি প্যাকেজ rjava এর ওপর নির্ভর করে। তবে সেটা আপনাকে আলাদা করে ইনস্টল করা লাগবে না। R নিজেই করে নিবে। তবে আপনার পিসিতে জাভা ইনস্টল করা থাকতে হবে। না থাকলে এখান থেকে ডাউনলোড করে ইনস্টল করে নিন। এটা একবারই করতে হবে।
    আপনার কম্পিউটার 64 bit হলে জাভার ৬৪ বিটের ভার্সন নিবেন কিন্তু।

    এবার library(mailR) কোড রান করে প্যাকেজটি লোড করুন।
    এবার নীচের কোডখানা নিজের মতো করে সাজিয়ে পাঠিয়ে ফেলুন আপনার ইমেইল।

    send.mail(from="yourmail@mail.com",
    to="sendto@mail.com",
    subject="R Email",
    body="Write what you want to send",
    html=T,
    smtp=list(host.name = "smtp.gmail.com",
    port = 465,
    user.name = "yourmail@mail.com",
    passwd = "password",
    ssl = T),
    authenticate=T,
    attach.files="C:\\file_path")
    

    এখানে নিজের মতো করে সব কিছু ঠিক করে দিয়ে কোডটি রান করালেই কেল্লা ফতে!

    ☛ ফাইল অ্যাটাচ করতে হলে attach.files অংশে ফাইলের লোকেশন লিখতে হবে।

    ☛ গুগোলের জিমেইল থেকে ইমেইল পাঠাতে গেলে সরাসরি কাজ করবে না। সেক্ষেত্রে গুগোল আপনাকে একটি ইমেইল পাঠিয়ে বাইরের অ্যাপ থেকে ইমেইল করার অনুমতি চাইবে। অনুমতি দিলেই এর পর থেকে ইমেইল যাবে। তবে এ কারণে নিরাপত্তায় কোনো সমস্যা হলে তার দায় আপনাকেই নিতে হবে!

    আরও পড়ুন 
    ☛ R প্রোগ্রামিং মহান কেন
    Category: articles

    Wednesday, May 9, 2018

    বর্তমান পৃথিবী ডেটা বা তথ্য উপাত্ত দিয়ে ভরপুর। সমাজ বা রাষ্ট্রের কার্যকরী পরিকল্পনা ও উন্নয়নের জন্যে চাই বিভিন্ন রকম উপাত্তের সঠিক বিশ্লেষণ। যে কোনো প্রতিষ্ঠান, হোক সেটা আর্থিক, সামাজিক বা গবেষণাধর্মী, সেটাকে ভালোভাবে পরিচালনা ও লক্ষ্যে পৌঁছানোর জন্যে চাই উপাত্ত বিশ্লেষণের মাধ্যমে সঠিক সিদ্ধান্ত গ্রহণ। সেবাদানকারী প্রতিষ্ঠানগুলোকে উপাত্ত ঘেঁটে বুঝতে হয়, কোন পণ্যের বাজার কেমন, মানুষ কোন দিকে ঝুঁকছে ইত্যাদি। গুগোল, ফেসবুকের মতো প্রতিষ্ঠানগুলোর ব্যাবসার অন্যতম বড় উপাদান উপাত্ত বিশ্লেষণ করে ব্যবহারকারীদের আগ্রহ ও ঝোঁক-প্রবণতা অনুমান করা। অ্যামাজন ডট কম, উবার, গুগোলের বিজ্ঞাপন সেবা অ্যাডসেন্স, কিংবা অ্যাপলের সিরি সব কিছুই উপাত্ত বিশ্লেষণের ওপর নির্ভরশীল।  বৈজ্ঞানিক গবেষণার জন্যেও একইভাবে উপাত্তের সঠিক ও গ্রহণযোগ্য ব্যাখ্যা-বিশ্লেষণ প্রয়োজন।


    এই যে কাজগুলো, এগুলোর জন্যে বর্তমানে জ্ঞানের নতুন একটু শাখাই গড়ে উঠেছে। নাম ডেটা সায়েন্স। পরিসংখ্যানের ধারণা ও প্রয়োগ নির্ভর জ্ঞানের নতুন এই শাখাটি চাকরির বাজারে ক্রমশ পেছনে ফেলে দিচ্ছে অন্য সব পেশাকে। হার্ভার্ড বিজনেস রিভিউ ম্যাগাজিনের ২০১২ সালের অক্টোবর সংখ্যায় বলা হয়, ‘একুশ শতকের সবচেয়ে আকর্ষণীয় চাকরি হল ডেটা সায়েন্স’। জব রিভিউ সাইট গ্লাসডোর এর একটি জরিপ অনুসারে, ইতোমধ্যে অ্যামেরিকার সেরা পেশার তালিকায় এক নম্বরে স্থান পেয়েছে পেশাটি। আইবিএম এর এক জরিপ অনুসারে শুধু ২০১৫ সালেই অ্যামেরিকায় এই ফিল্ডে সাড়ে তেইশ লাখ চাকরি দেওয়া হয়।

    ডেটা সায়েন্সের এ বিশাল ক্ষেত্রটিতে কাজের জন্যে রয়েছে কাড়ি কাড়ি সফটওয়্যার। রয়েছে প্রোগ্রামিং ল্যাঙ্গুয়েজ, স্ট্যাটিস্টিক্যাল প্যাকেজ। অনেকে তো মাইক্রোসফট এক্সেলেই অনেক উপাত্ত বিশ্লেষণ করে ফেলেন। আরেকটু ভালো করতে চাইলে কেউ কেউ আবার SPSS, Stata, Minitab কিংবা SAS এর আশ্রয় গ্রহণ করেন। কেউ কেউ আবার জাভা, পাইথনের মতো প্রোগ্রামিং কাজে লাগিয়েও করেন ডেটা সায়েন্সের কাজ।

    তবে সবকিছুকে ছাপিয়ে ডেটা সায়েন্সের জগতে সকল কাজের কাজি হয়ে দাঁড়িয়েছে একটি প্রোগামিং ল্যাঙ্গুয়েজ। নামটি বেশ ছোট: R। রস ইহাকা ও রবার্ট জেন্টেলম্যান নামের দুজন পরিসংখ্যানবিদ এর উদ্ভাবক। কম্পিউটারের হেন কাজ নেই যা ল্যাঙ্গুয়েজটি করতে পারে না। ওয়ার্ড ডকুমেন্ট তৈরি, প্রেজেন্টনেশনের স্লাইড কিংবা পিডিএফ বানানো থেকে শুরু ম্যাপ আঁকা এমনকি ভিডিও এডিটিং সব কিছুতে ওস্তাদ এই ল্যাঙ্গুয়েজ। তবে এর মূল পরিচয় এটি একটি পরিসংখ্যানিক সফটওয়্যার। গ্রাফ এঁকে উপাত্তের চেহারা বোঝা কিংবা বিশ্লেষোণের মাধ্যমে সুন্দর মডেল দাঁড় করানো বা পূর্বাভাস দেওয়া সব কিছুতেই এর জুড়ি মেলা ভার।

    সব মিলিয়ে R এর জনপ্রিয়তাও দিন দিন বেড়ে চলছে। নীচের গ্রাফটিতে একটু চোখ বুলালেই বিষয়টি সহজে বোঝা যায়।
    চিত্র ১: ২০১৫ ও ২০১৬ সালে উপাত্ত বিশ্লেষণের কাজে প্রোগ্রামিং/পরিসংখ্যানিক ল্যাঙ্গুয়েজের ব্যবহার

    কিন্তু R কেন এত জনপ্রিয়? এর পেছনের কারণগুলোতে একটু চোখ বুলিয়ে নেয়া যাক।
    প্রথমত, R একটি ফ্রি সফটওয়্যার। Matlab, SPSS কিংবা SAS এর মতো লাইসেন্স ক্রয়ের কোনো বিষয় নেই। যে কেউ ডাউনলোড করে ব্যবহার করতে পারেন। শুধু তাই নয়, এর সোর্স কোডও সবার জন্যে উন্মুক্ত। আপনি চাইলে কোড বদলে একে মডিফাইও করে নিতে পারেন। সাইজও খুব ছোট। মাত্র ৫০ এমবির কাছাকাছি। যেখানে Matlab এর সাইজ ৮ থেকে ১১ জিবি। অন্য দিকে পরিসংখ্যানিক বিশ্লেষণের জন্যে R ই সবচেয়ে পূর্ণাঙ্গ টুল। এর কাজকে একটু সুশৃঙ্খল উপায়ে করার জন্যে রয়েছে আরেকটি সফটওয়্যার R স্টুডিও। দারুণ এই টুলটিও সম্পূর্ণ ফ্রি।

    প্রোগ্রামিং/সফটওয়্যার ব্যবহার করতে গেলে মাঝে-মধ্যে সমস্যায় আটকে যাওয়া অস্বাভাবিক নয়। কিন্তু বেশিরভাগ ফ্রি সফটওয়্যারের অসুবিধা হল, সহজে বিভিন্ন সমস্যায় সমাধান পাওয়া যায় না। অথবা সমাধান পেতে হলে গুণতে হয় অর্থ। কিন্তু এখানে সে অসুবিধাও নেই। সমাধানের জন্যে প্রস্তুত আছেন লাখ লাখ ব্যবহারকারীরাই। Stackoverflow কিংবা Quora সহ অসংখ্য ব্লগ ও ফোরামে যে কোন সমস্যা নিয়ে প্রশ্ন করলেই জবাব পাওয়া যায়। দীর্ঘ দিন ধরে R জনপ্রিয় থাকার কারণে বর্তমানে বেশিরভাগ সাধারণ সমস্যার জবাব গুগোলে সার্চ করলে নিমিষেই মিলে যায়। মানে, বেশিরভাগ সমস্যা আগে থেকেই সমাধান হয়েই আছে।

    R এর অন্যতম প্রধান একটি সুবিধা হলো অসংখ্য প্যাকেজের উপস্থিতি। ধরুন, আপনি প্রাণপরিসংখ্যান নিয়ে কাজ করতে চান। তাহলে আপনাকে শুধু survivalপ্যাকেজটি লোড করতে হবে। বার ডায়াগ্রাম কিংবা পাই চার্টগুলোকে দৃষ্টিনন্দন করে উপস্থাপন করতে চাইলে আপনার জন্যে ggplot2 নামের প্যাকেজটি। সব মিলিয়ে সুন্দর করে উপাত্ত উপস্থাপনের জন্যে R এর বিকল্প পাওয়া কঠিন। (নীচের চিত্রে R দিয়ে বানানো একটু পাই চার্ট দেখানো হলো।) ডেটাবেজ নিয়ে কাজ করতে চাইলে রয়েছে sqldf। সুন্দর সুন্দর ম্যাপ বানাতে চাইল কাজে আসবে ggmap, maptools সহ অনেকগুলো প্যাকেজ। আর এগুলোও সব কিন্তু বিনামূল্যেই পাওয়া যাবে। এরকম প্যাকেজের সংখ্যা বর্তমানে ১০ হাজারের ওপরে। এগুলো মূল সফটওয়্যারের সাথে না দেয়ার উদ্দেশ্য সফটওয়্যারটি যাতে ভারী না হয়ে যায়। দরকারের সময় ২/৩ ক্লিকেই বা এক লাইন কোড লিখেই লোড করে ফেলা যায় নির্দিষ্ট প্যাকেজটি। নতুন নতুন কাজের জন্যে নিয়মিত নতুন প্যাকেজ উদ্ভাবনের কাজ এখনও চলছেই। এমনকি আপনি নিজেও চাইলে প্যাকেজ বানিয়ে উন্মুক্ত করে দিতে পারেন।
    R দিয়ে বানানো পাই চার্ট 

    শুধু উপাত্ত বিশ্লেষণের টুল হিসেবেই নয়, অন্যান্য কাজেও ভাগ বসাতে বসাতে R জনপ্রিয় ল্যাঙ্গুয়েজগুলোর তালিকায় ছয়ে স্থান করে নিয়েছে। এখানে (নীচের চিত্র) তুলনা করার সময় মনে রাখতে হবে ডেটা সায়েন্স এর কাজের বাইরে কম্পিউটারের বিশাল একটি ক্ষেত্র রয়েছে। অন্য দিকে ওয়েবসাইট নির্মাণের অন্যতম জনপ্রিয় ভাষা পিএইচপিও কিন্তু R এর পেছনে পড়ে আছে।

    আইট্রিপলই (IEEE) এর স্পেকট্রাম ম্যাগাজিনের ২০১৭ সালের জরিপ অনুসারে বিভিন্ন প্রোগ্রামিং এর র‍্যাংকিং

    R এর অন্যতম বড় সুবিধা হল, এর ব্যবহারের জন্যে বড় মাপের প্রোগ্রামার হতে হবে না। অল্প কিছু বিষয় শিখে নিয়েই করা যায় অনেক বেশি বিশ্লেষণ। শেখার জন্যে অনলাইনে অসংখ্য টিউটোরিয়ালের (টেক্সট ও ভিডিও দুই সংস্করণেই) পাশাপাশি রয়েছে দারুণ দারুণ অনেক বই। R এর নিজস্ব হেল্প সেকশনেও অনেক কিছু সহজে শিখে নেওয়া সম্ভব।

    বিজনেজ অ্যানালাইসিস এর জগতে R এর দক্ষতা বুঝতে পেরে অধিকাংশ প্রচলিত সফটওয়্যারই R এর সাথে সাথে সমন্বয় করে কাজ করার ব্যবস্থা করছে। এছাড়াও এক্সেল, SPSS, Stata, Microsoft Access, Oracle, MySQL কিংবা SQLite দিয়ে বানানো ডেটাবেজও R খুব সহজে পড়ে নিয়ে কাজ করতে পারে।

    R এ বানানো গ্রাফ ও ছবি খুব সহজেই ভালো রেজুলেশনের ছবি ও পিডিএফ আকারে সংরক্ষণ করা যায়। উইন্ডোজ, ম্যাকিন্টশ বা লিনাক্স যে কোনো অপারেটিং সিস্টেমেই আর সমান তালে কাজ করতে পটু।

    বিজনেস অ্যানালিটিক্স-এ R এর গ্রহণযোগ্যতার কারণে গুগোল, আইবিএম, ফেবসুক, মজিলা, বিং এর মতো প্রতিষ্ঠানগুলো উপাত্ত বিশ্লেষণে ব্যাপকভাবে R ব্যবহার করছে। ক্রিকেট বা ফুটবলের পরিসংখ্যান ঘেঁটে প্রয়োজনীয় ও আকর্ষণীয় তথ্য বের করে আনা ও সেই মাফিক পরিকল্পনা সাজাতেও বর্তমানে R এর ভূমিকা রয়েছে। সব মিলিয়ে R জানা মানে গর্ব করার মতো একটি জিনিসই জানা!

    সূত্রঃ
    ইডিএক্স ব্লগ, কম্পিউটার ওয়ার্ল্ড ডট কম, ইনফোওয়ার্ল্ড ডট কম, ওয়াশিংটন পোস্ট, আইবিএম ডট কম, স্ট্যাকওভারফ্লো, অ্যানালিটিক্স ট্রেইনিংস ডট কম।

    • https://blog.edx.org/the-importance-of-data-science-in-the-21st-century
    • analyticstrainings.com/?p=101
    • https://www.computerworld.com/article/2921176/business-intelligence/great-r-packages-for-data-import-wrangling-visualization.html
    • https://www.analyticsvidhya.com/blog/2016/10/18-new-must-read-books-for-data-scientists-on-r-and-python/
    • https://www.infoworld.com/article/2940864/application-development/r-programming-language-statistical-data-analysis.html
    • http://sharpsightlabs.com/blog/r-recommend-data-science/
    • https://www.washingtonpost.com/news/on-leadership/wp/2016/01/20/glassdoor-ranks-the-25-best-jobs-in-america-2/
    • https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=IML14576USEN&
    • https://stackoverflow.blog/2017/10/10/impressive-growth-r/
    • https://www.kdnuggets.com/2015/05/r-vs-python-data-science.html
    Category: articles
    R এ আঁকা গ্রাফগুলো সাধারণত একটু এবড়োথেবড়ো হয়। অনেক সময়ই দেখতে অতটা সুন্দর হয় না। যেমন এই গ্রাফটি দেখুন।

    R প্রোগ্রামিং: টাইম সিরিজ গ্রাফ 

    এই ছবিটা কিছুটা এবড়োথেবড়ো। অনেক সময় আরও অনেক বেশি এবড়োথেবড়োও হয়।

    সামান্য কিছু কোড করেই একে অনেকটা উন্নত করে নেওয়া যায়।
    png(filename="output.png", type="cairo")
    #see ?png for more detail
    # Code to plot
    dev.off()

    filename অংশে আপনি যে লোকশনে সেভ করতে চান, সেটা ও ফাইলের নাম উল্লেখ করবেন। উপরের কোডে output নামে একটি png ফাইলে ছবিটা সেভ হবে। আর এটা সেভ হবে আপনার working directory তে। আপনার বর্তমান ওয়ার্কিং ডিরেক্টরি দেখুন।

    getwd()

    চাইলে আবার পাল্টেও নিতে পারেন।
    setwd("D:/R")

    উদাহরণ

    আমরা নীচের বানানো ডেটা ব্যবহার করব।
    x=seq(30000,40000,500)+rnorm(mean=500, sd=1000,n=21)
    y=seq(29000,39000,500)+rnorm(mean=500, sd=1000,n=21)
    z=x-y
    df=data.frame(income=x, expense=y, balance=z
    df.ts=ts(df, end=2018)

    এবার smooth করার জন্য কাজ। এখানে par(bg="gray") অংশটি অপশনাল। ব্যাকগ্রাউন্ড সেট করার জন্য বসানো হয়েছে।

    png(filename="myplot.png", type="cairo")
    par(bg="gray")
    ts.plot(df.ts, gpars=list(col=topo.colors(3)), lwd=5, ylab="Amount", xlab="Year", main="Smooth R plot")
    legend("topleft", legend=names(df), fill=topo.colors(3), ncol=3,)
    dev.off()

    উপরের ছবিটাই এখন মসৃণ হয়ে এমন হয়ে যাবে।

    smooth R প্লট
    আরও পড়ুন 
    Category: articles

    Saturday, February 17, 2018

    লিখেছেনঃ তোফায়েল আজম

    ঢাকা বিশ্ববিদ্যালয়ের পরিসংখ্যান বিভাগের ছাত্র ও অ্যালামনাইদের কাছে অন্যতম শ্রদ্ধার নাম কাজী মোতাহার হোসেন স্যার। বাংলাদেশে পরিসংখ্যানের ভিত্তি স্থাপন থেকে শুরু করে পরিসংখ্যানে গবেষনার প্রবাদ পুরুষ হিসেবেই তাকে সবাই শ্রদ্ধার চোখে দেখি।

    বাংলাদেশে পরিসংখ্যানের প্রবর্তক মোতাহার হোসেন স্যারের সাথে আধুনিক পরিসংখ্যান বিদ্যার জনক রোনাল্ড ফিশার এর অদ্ভুত মিল। দুইজনই মারাত্মক ব্রিলিয়ান্ট। এতে কোন সন্দেহ কখনো কেউ প্রকাশ করতে পারেনি। অল্প বয়েস থেকেই দুজনই গাণিতিক দৃষ্টির ব্রিলিয়ান্ট ছিলেন।

    ☛ আরও পড়ুনঃ
    রাশিবিজ্ঞান, পরিসংখ্যান ও কাজী মোতাহার হোসেন

    রোনাল্ড ফিশার 

    দুজনের মধ্যে সবচেয়ে বড়ো মিল ছিল- দুজনই পদার্থবিজ্ঞানের লোক ছিলেন। ঢাকা বিশ্ববিদ্যালয়ে ছিলেন কাজী মোতাহার হোসেন স্যার আর ক্যাম্ব্রিজের এস্ট্রনমির গ্র্যাজুয়েট ছিলেন আর এ ফিশার (১৮৯০-১৯৬২) । পদার্থবিজ্ঞান নিয়ে কাজ করার সময়টায় দুজনই সংখ্যা নিয়ে গবেষণার প্রয়োজনীয়তা অনুভব করেন। ফিশার মশাই উনার জীবনের প্রথম যে পেপার পাবলিশ করেন সেটা স্বাভাবিক ভাবেই ছিল আধুনিক পরিসংখ্যানের জন্য অন্যতম ধাপ- Method of maximum likelihood।

    Fisher এরপর কাজ করতে থাকেন W. S. Gosset এর সাথে। বিষয়- Equation of Standard Deviation। এই গবেষণা করতে গিয়েই তিনি Sample mean আর Population mean এর মাঝে দৃশ্যমান পার্থক্যকে গানিতিক ও গঠনমুলক রুপ দান করেন। পরিসংখ্যানের বাস্তব ব্যাবহার নিয়ে এরপর কাজ করতে থাকেন মুলত ছোট ছোট Sample নিয়ে। তখন তিনি Degrees of freedom এর সঙ্গায়ন করেন এবং আরো গভীর গবেষণায় হাত দেন।

    ফিশার ব্যক্তিগত ভাবে মারাত্মক গোঁয়ার আর কাজের বেলায় ছিলেন পারফেকশনিস্ট। ভুল করার অপছন্দ থেকেই আরো জোরেসোরে কাজ শুরু করেন সংখ্যান নানান দিক নিয়ে।

    ১৯১৪ সালে আর্মিতে যোগ দেয়ার জন্য চেষ্টা করেন। কিন্তু ছোটবেলা থেকেই দৃষ্টিত্রুটিতে ভোগা ফিশার আর্মি থেকে রিজেক্টেড হবার পর হাই স্কুলে অংক ও পদার্থ বিজ্ঞান নিয়ে পড়ানো শুরু করার সময় পরিসংখ্যানে চালিয়ে যাওয়া কাজ তখনকার সময়ের বিখ্যাত পরিসংখ্যানবিদ কার্ল পিয়ারসনের নজরে আসেন। ১৯১৭ সালে পিয়ারসন পেপার পাবলিশ করেন ফিশারের কাজের উপর। মূলত ফিশারের method of maximum likelihood এর সমালোচনা সম্বলিত। অল্প নাম ওয়ালা ফিশার বিখ্যাত পিয়ারসনের সমালোচনার জবাব দেন কিন্তু পিয়ারসন তাতে তেমন গা না দিয়ে ফিশারের পরবর্তী অনেক থিওরী ও গবেষণাকে প্রত্যাখ্যান করেন।

    সেই সময়টায় ফিশার সংখ্যার এই জগতটায় বাচ্চা, কিন্তু পিয়ারসন স্বনামধন্য। পিয়ারসনের প্রভাবে রয়েল সোসাইটি থেকে ফিশারের প্রায় সব পেপার সরিয়ে নেয়া হয়। কিন্তু পারফেকশনিস্ট ফিশার তাঁর গবেষনা চালিয়ে যান, এবং তার তত্ত্বের পক্ষে প্রমাণ দেন। পিয়ারসন যদিও পরবর্তীতে ফিশারকে তার সাথে কাজ করার জন্য চাকরী অফার করেন, কিন্তু গোঁয়ার ফিশার পিয়ারসনের আগের বিরোধীতার জের ধরে আর সেই চাকরীতে যোগ দেননি! (পরিসংখ্যানের দুই রাইভাল!)

    ফিশার তখন পরিসংখ্যানবিদ হিসেবে কাজ শুরু করেন Rothamsted Experimental Station-এ। কাজ করেন কৃষি বিষয়ক গবেষণা নিয়ে এবং Analysis of variance তত্ত্ব দেন এবং কৃষি বিষয়ক গবেষনার ফলাফল হিসেবেই পরবর্তিতে আমরা পাই তার বিখ্যাত Statistical Methods for Research Workers।

    ১৯১৭তে বিবাহ এবং সংসারী জীবন যাপন করতে থাকা ফিশার পরবর্তীতে কাজ করেন Natural selection and population genetics নিয়ে এবং লিখেন Genetical Theory of Natural Selection। এই বইটায় অবশ্য উনার প্রিয়তমা পত্নি Ruth Eileen লিখতে সাহায্য করেন।

    Rothamsted এ কাজ করার সময় ম্যাক্সিমাম লাইকলিহুড এবং সাইন্টিফিক এক্সপেরিমেন্ট থেকে ছোট স্যাম্পল নেবার প্রসেসের উপর আরো দুইখানা গবেষণা প্রকাশ করেন। সেখান থেকেই sample statistic আর population values এর ধারনা স্পষ্ট হতে থাকে। এই দুই পেপার থেকেই বাকি গবেষকেরা নানান ধরনের variations আর প্রিসাইজ এস্টিমেশনের ধরনা পেতে থাকেন।

    পিয়ারসন রিটায়ার্ড করার পরে যদিও ফিশার কেম্ব্রিজের চাকরীটা গ্রহন করেন, কিন্তু যুদ্ধটা চলতেই থাকে। এর প্রভাব কেম্ব্রিজ পরিসংখ্যান বিভাগেও পড়ে বৈকি।

    দ্বিতীয় বিশ্বযুদ্ধের সময় গবেষণায় বেঘাত ঘটলেও পরবর্তিতে তিনি গবেষণা চালিয়ে যান পরিসংখ্যানের নানান দিক নিয়ে।

    সারা জীবনে একটার পর একটা ফেলোশীপ, Iowa state university তে শিক্ষকতা, রয়েল স্ট্যাটিস্টিক্স সোসাইটি থেকে তিনটা মেডেল, ডারউইন মেডেল, কোপলে মেডেল, বিভিন্ন বিশ্ববিদ্যালয় থেকে সম্মান্সূচক ডিগ্রী, ২০টার অধিক ইন্সটিটিট ও একাডেমির সম্মানসূচক সদস্য ১৯৫২ সালে কুইন এলিজাবেথ থেকে নাইট ব্যাচেলর উপাধী গ্রহণ করেন।

    ফিশারের গোঁয়ার্তুমি আর পারফেকশনিস্ট আচরণের জন্য আজকের পরিসংখ্যানের এই আধুনিক রূপ। পরবর্তীতে অনেকেই ফিশারের গবেষণার উপর এবং তাঁর দেখানো পথে অভুতপূর্ব কাজ করেছেন। ফিশার পরবর্তী পরিসংখ্যানে তাঁর অভূতপূর্ব অবদানের জন্যই তাঁকে আধুনিক গবেষণার জনক হিসেবে বিবেচনা করা হয়। :)

    আজ এই গোঁয়ার লোকটার জন্মদিন। আমাদের সকল কষ্টের(!) জনক এই পদার্থবিদ পরিসংখ্যানের জনককে শুভ জন্মদিন! :)

    তথ্যসূত্রঃ 
    ১। http://mnstats.morris.umn.edu/intro…/history/…/RAFisher.html
    ২। https://en.wikipedia.org/wiki/Ronald_Fisher

    লেখকঃ টিচিং অ্যাসিস্টেন্ট ও পিএইচডি শিক্ষার্থী, ইউনিভার্সিটি অব কেন্টাকি। লেখকের সব লেখা এখানে
    Category: articles

    Tuesday, February 6, 2018

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

    আরও পড়ুন
    কেন শিখবেন R প্রোগ্রামিং?


    R প্রোগ্রামিং ইনস্টলেশন
    R এর ওয়েবসাইট থেকে প্রথমে সফটওয়্যারটি ডাউনলোড করে নিন। R যেহেতু ওপেনসোর্স সফটওয়্যার, তাই আপনাকে কোনো টাকা-পয়সা খরচ করতে হবে না। প্রথমবারের মতো ডাউনলোড করতে চাইলে এই লিঙ্কটি ব্যবহার করলে সুবিধা হবে।
    ডাউনলোড হওয়া ফাইল ইনস্টল করে এমন একটি উইন্ডো দেখতে পাবেন।
    R প্রোগ্রামিং ইন্টারফেস। বড় করে দেখতে ক্লিক করুন 
    এবার কোড লিখে লিখে enter বাটন চাপলেই কোড সাথে সাথে রান হয়ে যাবে।
    যেমন
    1+2 লিখে enter দিলেই দেখাবে 3।
    বেসিক কাজগুলো এভাবে enter লিখে লিখেই করা যায়।

    আরও ভালোভাবে করতে হলে ওপরের মেনু বার থেকে File > New script অংশে ক্লিক করুন। এবার এখানে কোড লিখতে থাকুন। এন্টার চাপলেও কোড রান হবে না। রান করতে হলে কন্ট্রোল এবং R বাটন এক সাথে চাপুন (ctrl+R)। যে লাইনে মাউসের কার্সর থাকবে সে লাইন রান হবে এতে। একাধিক লাইন রান করতে হলে মার্ক/হাইলাইট করে ctrl+R চাপতে হবে।

    বড় করে দেখতে ক্লিক করুন 
    আবার ওপরের লাল চিহ্নিত বাটনে ক্লিক করেও রান করা যাবে।

    কিছু সময় প্রোগ্রামিং করার পর চাইলে স্ক্রিপ্টটা সেভ করে রাখতে পারেন।
    ☛ File > Save / Save as
    অথবা ctrl + S চাপুন।

    আবার আগে করা কাজও শুধু শুধু আবার না করে লোড করে নিতে পারেন।
    ☛ File > Open script...

    RStudio
    তবে প্রোগ্রামিং এর কাজগুলো আরও দারুণভাবে গুছিয়ে করতে হলে আপনাকে RStudio ব্যবহার করতেই হবে। এটাও ওপেনসোর্স সফটওয়্যার। নিয়ে নিন এখান থেকে।

    এটায়ও বেসিক R এর মতো সব করা যাবে। তবে বাড়তি পাওয়া যাবে অনেক অনেক কিছু। সেটা ব্যবহার করতে করতেই বুঝতে পারবেন।
    Category: articles

    Thursday, January 11, 2018

    লিখেছেনঃ তোফায়েল আজম

    পরিসংখ্যান বিভাগে ভর্তির পর প্রোবাবিলিটির প্রথম ক্লাস। শিক্ষক জাফর আহমেদ খান।

    ক্লাসে এসে একটা গল্প বললেন। তখন স্যার শহিদুল্লাহ হলের এক্সটেনশন দুই-এ থাকেন। স্বৈরাচার বিরোধী আন্দোলন চলে। একটা সময় ঢাকা বিশ্ববিদ্যালয় অনির্দিষ্টকালের জন্য বন্ধ ঘোষণা করে দিল। স্যার এবং উনার এক বন্ধু পড়লেন বিপদে। এই রাতে কোথায় গিয়ে উঠবেন বুঝতে পারছেন না। বরিশালের লঞ্চে উঠে বাড়ী চলে যাবেন সেই সুযোগটাও দুর্বল। কোন উপায় না পেয়ে কাছেই কাকরাইল মসজিদে গিয়ে উঠলেন। রাতটা অন্তত নিরাপদে কাটানো যাবে।

    উনাদের ব্যাগপত্র আর কাপড়চোপড় দেখে সহজেই অনুমান করা যায় এরা আর যাই হোক তাবলীগের লোক না।

    কিন্তু আল্লাহর ঘর। রাতে এক মুরুব্বি উনাদের খাবারের ব্যবস্থা করলেন। স্যার ও তাঁর বন্ধুর কাছে পুরো গল্পটা শুনলেন। শুনে মুরুব্বি হেসে বললেন- বাবারা, চিন্তা করো না। আল্লাহ যাদের খুব ভালবাসেন তাদেরকে নানান উসিলায় ধরে ধরে এখানে নিয়ে আসেন।

    স্যারের সেই রাতের গল্প ওখানেই শেষ। গল্প শেষে ক্লাসে হাসতে হাসতে বললেন- তোমরা পরিসংখ্যান বিভাগে এসে মন খারাপ করো না। আল্লাহ যাদের পছন্দ করেন তাঁদেরকে নানান উসিলায় এখানে নিয়ে আসেন।

    কথাটা বাকী কার জীবনে কিভাবে প্রভাব ফেলেছিল জানি না। তবে আমার ফেলেছিল। আমি সেদিন সত্যিই বিশ্বাস করেছি- আল্লাহ আমাকে পছন্দ করেন বলেই আমাকে এখানে নিয়ে এসেছেন।

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

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

    আল্লাহ ভরসা! আমি জানি হবেই। 

    পুনশ্চঃ
    গুগোলে একজন পরিসংখ্যানবিদের গড় বেতন ৯ লাখ সতের হাজার টাকা। না, বার্ষিক না। মাসিক। বার্ষিক বেতন ১ কোটি ১০ লাখ টাকা। 
    চাকরির জন্য মিনিমাম এমএস ডিগ্রি লাগবে। আর ডেটা অ্যানালিস্ট হিসেবে দুই বছরের অভিজ্ঞতা। 

    সূত্র: ক্যারিয়ার ডট গুগোল ডট কম, ইনডিড ডট কম।

    লেখকঃ টিচিং অ্যাসিস্টেন্ট ও পিএইচডি শিক্ষার্থী, ইউনিভার্সিটি অব কেন্টাকি। 
    Category: articles

    Monday, October 16, 2017

    লিখেছেনঃ ড. রহমতুল্লাহ ইমন

    আচ্ছা, আপনি কি এক কাপ চায়ে চুমুক দিয়েই বলে দিতে পারেন সেখানে আগে চা ঢেলে পরে দুধ মেশানো হয়েছে না আগে দুধ ঢেলে পরে কেতলি থেকে ঢালা হয়েছে চা? খুব কঠিন একটি ব্যাপার নিঃসন্দেহে। অথচ এমন দক্ষতা আছে- এই দাবি করে জগদ্বিখ্যাত হয়ে আছেন একজন মহিলা। না, এটা তাঁর দক্ষতার গুণে নয়, তাঁর এই দাবির সত্যতা প্রমাণ করতে গিয়ে সৃষ্টি হয়েছে পরিসংখ্যানের অন্যতম প্রধান একটি শাখা- পরীক্ষণ নকশা (design of experiments)।


    ১৯১৯ সালের কথা। পরিসংখ্যানের জনক বলে খ্যাত স্যার রোনাল্ড ফিশার তখন গবেষণা করছেন রথামস্টেড গবেষণা কেন্দ্রে। একদিন সকালে চা খাচ্ছেন এমন সময় সেখানে হাজির হল এক তরুণী। নাম তার মুরিয়েল ব্রিস্টল। মনোবিজ্ঞান বিষয়ে পিএইচডি করছে। ফিশারকে চা খেতে দেখেই সে বলে উঠল আমি কিন্তু চায়ে চুমুক দিয়েই বলে দিতে পারি কাপে আগে চা ঢেলে পরে দুধ মেশানো হয়েছে না আগে দুধ ঢেলে পরে চা ঢালা হয়েছে।

    ফিশার তখনই কিছু বললেন না, কিন্তু বিষয়টা তাঁর মাথায় ঘুরপাক খেতে লাগল। মেয়েটির সত্যিই কি এমন দক্ষতা রয়েছে না এটা শুধু বাত কি বাত। তিনি মেয়েটিকে পরীক্ষা করার সিদ্ধান্ত নিলেন। কিন্তু কীভাবে পরীক্ষা করা হবে? এর জন্য চাই একটি ছক বা নকশা। তিনি ৮ কাপ চা বানালেন। ৪ কাপে আগে ঢাললেন দুধ আর বাকি ৪ কাপে আগে ঢাললেন চা। এবার তিনি কাপগুলো এলোমেলো করে সাজালেন যাতে মুরিয়েল বুঝে উঠতে না পারে কোন কাপ চা কীভাবে বানানো হয়েছে। এই এলোমেলো করে সাজানো কাপ থেকেই দৈবায়ন (randomness) এর ধারণাটি এসেছিল।

    পরিসংখ্যানবিদ রোনাল্ড ফিশার। ১৯৩১ সালের ছবি। সূত্রঃ ম্যাথব্লগ ডট অর্গ

    তো, মুরিয়েলকে বলা হলো, মুরিয়েল সেখান থেকে ৪ কাপ চা পান করবে এবং বলবে কোন কাপ চা কীভাবে বানানো হয়েছে। এখন প্রশ্ন হল কত কাপ চা সঠিকভাবে বানানো হয়েছে বলতে পারলে ফিশার মুরিয়েলের দাবি মেনে নেবেন? ৪ কাপই সঠিক বলতে পারলে তো কোনো কথাই নেই, কিন্ত এর থেকে কম হলেও ফিশার তা মেনে নেবেন কেননা তিনি যে পরীক্ষণটিকে সেভাবেই সাজিয়েছেন। ৮ কাপ চা থেকে ৭০ ভাবে ৪ কাপ চা চয়ন করা যায়। আর প্রতি ক্ষেত্রেই মুরিয়েলের উত্তর হয় সঠিক হবে অথবা ভুল হবে। অর্থাৎ এখানে দুটি মাত্র সম্ভাবনা আছে। মুরিয়েলের উত্তর ৪টিই ভুল হতে পারে, হতে পারে ১টি ঠিক ৩টি ভুল, ২টি ঠিক ২টি ভুল, ৩টি ঠিক ১টি ভুল, অথবা ৪টিই সঠিক।

    পরিসংখ্যানের ছাত্রছাত্রীরা কিন্তু এর মাঝেই একটি বিষয় ধরে ফেলেছেন। আর তা হল মুরিয়েলের উত্তরকে একটি দ্বিপদী নিবেশনে (binomial distribution) বিন্যস্ত করা যায়। সেই সাথে এই কথাটিও বলে রাখা দরকার যে এর আগে পরিসংখ্যানে পরিমিত নিবেশনের ব্যবহার হয়েছে, ব্যবহার হয়েছে কাই-বর্গ, স্টুডেন্টের t, কিন্তু ফিশারই প্রথম পরিসংখ্যানে দ্বিপদী নিবেশনের ব্যবহার ঘটালেন এমন মজার এক সমস্যার সমাধান করতে গিয়ে।

    মুরিয়েলের সম্ভাব্য উত্তরগুলির বিন্যাস কেমন হতে পারে তা সাজালেন ফিশার নীচের এই ছক অনুসারে।
    [দ্রঃ × = উত্তর ভুল হয়েছে এবং √ = উত্তর সঠিক হয়েছে] 

    সঠিক উত্তরের সংখ্যা বিন্যাসের ধরন ঘটন সংখ্যা
    ×××× ১×১ = ১
    ×××√, ××√×, ×√××, √×××, ... ৪×৪ = ১৬
    ××√√, ×√×√, ×√√×, √×√×, √√××, √××√, ... ৬×৬ = ৩৬
    ×√√√, √×√√, √√×√, √√√×, ... ৪×৪ = ১৬
    √√√√ ১×১ = ১
    মোট ৭০

    সাধারণভাবে আমরা কোনো সম্ভাবনা ৫% এর নীচে নেমে গেলে তা অগ্রহণযোগ্য বলে বিবেচনা করি। এখানে অন্তত ১ কাপ চা সঠিকভাবে বলতে পারার সম্ভাবনাই (১৭/৭০=) ২৪.৩%। তাই ফিশার মুরিয়েলকে বললেন যে সে যদি এক কাপ চায়ের কথাও সঠিকভাবে বলতে পারে তবে তিনি মুরিয়েলের এই বিশেষ ক্ষমতার কথা মেনে নেবেন। বাস্তবে যা হয়েছিল তা হল মুরিয়েল শুধু যে নির্বাচিত ৪ কাপের কথাই সঠিকভাবে বলেছিল তাই নয়, সে একে একে ৮ কাপ চা-ই পান করেছিল এবং তার সবগুলো উত্তরই ছিল সঠিক। অবিশ্বাস্য!

    ড. মুরিয়েল ব্রিস্টল কীভাবে এই অদ্ভুত ক্ষমতা অর্জন করেছিলেন তা নিয়ে অনেকের কৌতূহল থাকলেও শেষ অবধি এই ঘটনা পরিসংখ্যানের জগতে এক মাইলফলক হয়ে রইল। পরিসংখ্যানের রত্নভান্ডারে যুক্ত হল পরীক্ষণ নকশার মত এক মাণিক্যের।

    [লেখক: অধ্যাপক, গাণিতিক বিজ্ঞান বিভাগ, বল স্টেট ইউনিভার্সিটি, যুক্তরাষ্ট্র] 
    Category: articles