ফলাফলের ভেরিয়েবল 5% - 95% বিভক্ত হয়ে গেলে কি লজিস্টিক রিগ্রেশন পক্ষপাতদুষ্ট হয়?


10

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

  • ফলাফল কি পক্ষপাতিত্ব করা হবে?
  • ভাল মডেল গড়তে সর্বোত্তম 'খারাপ থেকে ভাল অনুপাত' কী?

আমি মনে করি যে থাম্বের নিয়ম অনুসারে 50% পণ্য এবং 50% ব্যাড থাকা ভাল। ওগের বাইরে মডেলটিকে নমুনায় পক্ষপাতদুষ্ট হওয়া উচিত নয়।

উত্তর:


7

আমি মন্তব্যে অন্যান্য উত্তরগুলির সাথে একমত নই, সুতরাং এটি কেবল আমার নিজের দেওয়া ন্যায্য। এর প্রতিক্রিয়া (ভাল / খারাপ অ্যাকাউন্ট) হয়ে উঠুক এবং এক্স সহকারী হতে দিন।ওয়াইএক্স

লজিস্টিক রিগ্রেশন জন্য, মডেল নিম্নলিখিত:

লগ(পি(ওয়াই=1|এক্স=এক্স)পি(ওয়াই=0|এক্স=এক্স))=α+ +Σআমি=1এক্সআমিβআমি

কীভাবে ডেটা সংগ্রহ করা যেতে পারে তা ভেবে দেখুন:

  • আপনি কিছু অনুমান "জনসংখ্যা" থেকে এলোমেলোভাবে পর্যবেক্ষণগুলি নির্বাচন করতে পারেন
  • আপনি উপর ভিত্তি করে ডেটা নির্বাচন করতে এবং Y এর মানগুলি ঘটে তা দেখতে পারেন ।এক্সওয়াই

উপরের মডেলটির জন্য উভয়ই ঠিক আছে, কারণ আপনি কেবল বিতরণকে মডেলিং করছেন এক্স । এগুলিকে একটি সম্ভাব্য অধ্যয়ন বলা হবে ।ওয়াই|এক্স

বিকল্পভাবে:

  • আপনি উপর ভিত্তি করে পর্যবেক্ষণগুলি নির্বাচন করতে পারেন (প্রত্যেকটির 100 টি বলুন) এবং এক্স এর আপেক্ষিক প্রসার দেখতে পাবেন (যেমন আপনি Y এর উপর স্তরবদ্ধ করছেন )। এটাকে একটি পূর্ববর্তী বা মামলা-নিয়ন্ত্রণ অধ্যয়ন বলা হয়ওয়াইএক্সওয়াই

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

সেখানে এপিডেমিওলজি থেকে একটা চমৎকার ফলাফল (দেখতে প্রেন্টিস এবং পাইক (1979) একটি কেস-নিয়ন্ত্রণ চর্চা জন্য, জন্য সর্বোচ্চ সম্ভাবনা অনুমান যে) লজিস্টিক রিগ্রেশন দ্বারা পাওয়া যেতে পারে, যে ভূতাপেক্ষ ডেটার জন্য প্রত্যাশিত মডেল ব্যবহার করছে।β

তাহলে এটি আপনার সমস্যার সাথে কীভাবে প্রাসঙ্গিক?

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

কিন্তু অন্য দিকে, যদি আপনি ইতিমধ্যে সব সম্ভব তথ্য আছে, তাহলে stratifying কোন বিন্দু হল: আপনি কেবল দূরে ডেটা নিক্ষেপ (খারাপ অনুমান দান) হবে, এবং তারপর অনুমান করার চেষ্টা সমস্যার সাথে বাকি করা α


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

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

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

@ সিমন, বিটিডাব্লু প্রিন্টাইস এবং পাইকে রেফারেন্সের জন্য ধন্যবাদ, এটি দরকারী বলে মনে হচ্ছে।
ডিকরান মার্সুপিয়াল

1
@ ডিকরান: এটি অন্যান্য মডেলের পক্ষে পক্ষপাতদুষ্ট হতে পারে, তবে লজিস্টিক রিগ্রেশনের জন্য নয়, এটিই পুরো বিষয়টি।
সাইমন বাইর্ন

3

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

যদি এটি সম্ভব না হয় তবে সবচেয়ে ভাল কাজটি হ'ল ভারসাম্যপূর্ণ ডেটাসেট পাওয়ার জন্য ডেটাটিকে পুনরায় নমুনা দেওয়া এবং তারপরে প্রশিক্ষণ সেট এবং অপারেশনাল আপেক্ষিক শ্রেণীর ফ্রিকোয়েন্সিগুলির মধ্যে পার্থক্য পূরণের জন্য শ্রেণিবদ্ধের আউটপুটে একটি গুণগত সমন্বয় প্রয়োগ করা। আপনি (asyptotically) অনুকূল সমন্বয় ফ্যাক্টর গণনা করতে পারেন, বাস্তবে ক্রস-বৈধতা ব্যবহার করে অ্যাডজাস্টমেন্ট টিউন করা ভাল (যেমন আমরা একটি অ্যাসিম্পটোটিকের চেয়ে সীমাবদ্ধ ব্যবহারিক ক্ষেত্রে ডিল করছি)।

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


2
কিন্তু এই লজিস্টিক রিগ্রেশন প্রাসঙ্গিক? আমাদের উভয় শ্রেণির পরিসংখ্যানগত বিতরণ বর্ণনা করার দরকার নেই, কেবলমাত্র সম্পর্কিত প্রতিকূল অনুপাত (@ হেনরিতে আমার মন্তব্য দেখুন)।
সাইমন বাইর্ন

অবিচ্ছিন্ন উদাহরণে সম্ভবত, তবে আপনার যদি একাধিক ব্যাখ্যামূলক পরিবর্তনশীল থাকে তবে "বৈষম্যমূলক" সঠিকভাবে ওরিয়েন্ট করার জন্য আপনার নিদর্শন বিতরণ সম্পর্কিত তথ্য প্রয়োজন।
ডিকরান মার্সুপিয়াল

লজিস্টিক ফাংশন প্রয়োগ করার আগে লগ বিজোড়ন স্থানটিতে গুণক সমন্বয় প্রয়োগ করা ভাল না?
rm999

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

@ ডিকরান: "বৈষম্যমূলক" সঠিকভাবে ওরিয়েন্ট করার বিষয়ে আপনার অর্থ কী তা আমি বুঝতে পারি না। এমনকি মাল্টিভারিয়েট ক্ষেত্রেও, লজিস্টিক রিগ্রেশন এখনও আপেক্ষিক প্রতিকূল অনুপাতের গণনা করে।
সাইমন বাইর্ন

1

তত্ত্ব অনুসারে, "ভাল" এবং "খারাপ" এর অনুপাতগুলি আকারের সাথে প্রায় একই রকম হলে আপনি আরও ভাল বৈষম্য করতে সক্ষম হবেন। আপনি স্তম্ভিত নমুনা, খারাপ কেসগুলি ওভার স্যাম্পলিং করে এবং এরপরে সত্যিকারের অনুপাতে ফিরে আসতে পুনরায় ওজন দ্বারা এই দিকে এগিয়ে যেতে সক্ষম হতে পারেন।

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


আসলে, আমি লজিস্টিক রিগ্রেশনটির জন্য এটি সত্য বলে মনে করি না: প্রতিকূলতার অনুপাতের স্থিতিশীলতার পক্ষে প্রতিকূলতা-অনুপাতের প্যারামিটার (যা বৈষম্য সম্পাদন করে) অস্থির। এজন্য এটি কেস-নিয়ন্ত্রণ অধ্যয়নের জন্য ব্যবহার করা যেতে পারে।
সাইমন বাইর্ন

@ সিমন: বৈষম্যের অনুপাতের বিষয়ে আমি আপনার মন্তব্যের সাথে একমত নই, তবে আমি দেখেছি লোকেরা অন্যান্য ক্ষেত্রে যেমন স্ট্র্যাটেড নমুনা দেওয়ার পরে জনগণের পক্ষে সঠিকভাবে পরিণতি ঘটাতে ব্যর্থ হয়েছে। উদাহরণস্বরূপ, যদি আপনি দেখতে পান যে ফ্যাক্টর 'এ' সত্য সেই লোকদের মধ্যে দু'বার "খারাপ" হওয়ার সম্ভাবনা থাকে কারণ এ ফ্যাক্টর এ না থাকে তবে এটি স্তরিত নমুনা দিয়ে পরিবর্তন করা উচিত নয়, তবে আপনি যদি জনসংখ্যার অনুপাতের পরিমাণ কত হবে তা জানতে চান অকারণে প্রভাবিত যদি আপনি ফ্যাক্টর এ এর ​​সাথে চিহ্নিত করেন তবে আপনার নমুনা থেকে নেওয়া তথ্যের যত্ন সহকারে আপনার ওজন করা দরকার।
হেনরি

দুঃখিত, আমি যে কিছুতেই দ্বিমত পোষণ করি তা ছিল না। এটি প্রথম বিট ছিল: আগ্রাসনের একটি পরিণতি হ'ল একবার আপনার কাছে ডেটা হয়ে গেলে, স্তরকে সরানোর কোনও মানে হয় না, আপনি কেবল ডেটা ফেলে দেন। (গল্পটি ডেটা সংগ্রহের ব্যয়ের ক্ষেত্রে আসে, সুতরাং কেস-নিয়ন্ত্রণ স্টাডির অস্তিত্ব)।
সাইমন বাইর্ন

@ সিমন: আপনি যখন "কেস-কন্ট্রোল স্টাডি" বলবেন, আপনি কি বোঝাতে চাইছেন যে আপনি মূলত "খারাপ" মামলার একটি নমুনা এবং "ভাল" মামলার নমুনা নেওয়ার পরিকল্পনা করছেন? জনসংখ্যার ক্ষুদ্র অনুপাতের তুলনায় "খারাপ" ক্ষেত্রে উচ্চতর অনুপাত রয়েছে? যদি তা হয় তবে আমার উত্তরে এটিই "স্ট্রেটেইড স্যাম্পলিং, খারাপ কেসগুলিকে ছড়িয়ে দেওয়া" দ্বারা উদ্দেশ্য করেছিলাম intended
হেনরি

হ্যাঁ, এটি হ'ল আমিও বোঝাতে চাইছিলাম। প্রশ্নটি ইঙ্গিত দিয়েছিল যে তাদের কাছে ইতিমধ্যে ডেটা রয়েছে, সুতরাং স্ট্র্যাফাইটিংয়ে কোনও লাভ হবে না।
সাইমন বাইর্ন

0

Yআমিপিআমিপিআমি

p i = লজিট - 1 ( + বি 1 এক্স)

Yআমি~বের্নুলির(পিআমি)
পিআমি=logit-1(একটি+ +1এক্স1+ ++ +এনএক্সএন)
logit-1=মেপুঃ(এক্স)1+ +মেপুঃ(এক্স)

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

সর্বশেষে, তবে অন্ততপক্ষে, আপনার যদি ভারসাম্যপূর্ণ নমুনা থাকে বা কোনও নির্বাচনের পক্ষপাতিত্ব না থাকে তবে আপনি খারাপ অ্যাকাউন্টটি বিরল বলে সত্যই চিন্তিত হতে পারেন। আমি 5% বিরল বলে মনে করি না, তবে কেবল ক্ষেত্রে, একবার দেখুন look বিরল ইভেন্টের যৌক্তিকতা চালানোর বিষয়ে গ্যারি কিংয়ের কাগজটি । জেলিগ প্যাকেজে, আর-এ, আপনি একটি বিরল ইভেন্ট লজিস্টিক চালাতে পারেন।


0

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

আমি এটি দেখতে আপনার বিকল্পগুলি এখানে দিচ্ছি:

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

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

-Intercept/beta

প্রদত্ত ভেরিয়েবল সেটারিস পারিবাসের সিদ্ধান্তের সীমানা (উভয় শ্রেণিতে হওয়ার সম্ভাবনা 50%) হওয়া উচিত । যদি এটি বোঝা যায় না, উদাহরণস্বরূপ সিদ্ধান্তের সীমানাটি একটি ভেরিয়েবলের নেতিবাচক সংখ্যা যা কঠোরভাবে ইতিবাচক, তবে আপনি আপনার লজিস্টিক রিগ্রেশনকে পক্ষপাতিত্ব পেয়েছেন যা সংশোধন করা দরকার।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.