দ্বিপদী রিগ্রেশন জন্য আর এর আউটপুট ব্যাখ্যা


38

দ্বিপদী ডেটা পরীক্ষাগুলি নিয়ে আমি এটিতে বেশ নতুন, তবে এটি করার দরকার ছিল এবং এখন কীভাবে ফলাফলটি ব্যাখ্যা করা যায় তা আমি নিশ্চিত নই। Y- ভেরিয়েবল, প্রতিক্রিয়ার পরিবর্তনশীল দ্বি-দ্বি এবং ব্যাখ্যামূলক কারণগুলি অবিচ্ছিন্ন। ফলাফলের সংক্ষিপ্তসারটি দেওয়ার সময় আমি এটি পেয়েছিলাম:

glm(formula = leaves.presence ~ Area, family = binomial, data = n)

Deviance Residuals: 
Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

আমি এখানে পাই না এমন অনেকগুলি জিনিস রয়েছে, এটি কী বলে:

                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
leaves.presence        0.0008166  0.0002472   3.303 0.000956 ***

এবং এআইসি এবং ফিশার স্কোরিং সংখ্যার সংখ্যাটি কী বোঝায়?

> fit
Call:  glm(formula = Lövförekomst ~ Areal, family = binomial, data = n)

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166  

Degrees of Freedom: 12237 Total (i.e. Null);  12236 Residual
(314 observations deleted due to missingness)
Null Deviance:      16660 
Residual Deviance: 16650        AIC: 16650

এবং এখানে এর অর্থ কী:

Coefficients:
(Intercept)        Areal  
-0.3877697    0.0008166 

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

2
এখানে উত্তর দেওয়া খুব বিস্তৃত হতে পারে; @ ইউজার 7777 যেমন বলেছে, একটি ভাল পাঠ্যের পরামর্শ নেওয়া যেতে পারে। আগ্রেস্তি ভাল, আমি রাজি। হোমার এবং লেমশোও ভাল। আপনি যদি সংক্ষিপ্ত এবং নিখরচায় কিছু পেতে চান (স্ব-প্লাগ সতর্কতা) লজিস্টিক রিগ্রেশনটির সাথে আমার পরিচয় দেখুন তবে এটি আপনার প্রয়োজনের জন্য খুব বেসিক হতে পারে।
পিটার ফ্লুম - মনিকা পুনরায়

ঠিক আছে, আপনার দ্রুত উত্তরগুলির জন্য ধন্যবাদ, আমি
আগ্রেস্তি

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

1
আমি এই সাথে @ গুং এর সাথে আছি, যদি প্রশ্নটি স্ক্রিনে আর স্কুইরিড ব্যাখ্যা করে থাকে। অস্পষ্টতা যেখানে "মানে" বলতে বোঝায়? যদি ওপিকে এই বলে খুশি হয় যে সহগগুলি লগ প্রতিক্রিয়াগুলির স্কেলের মানগুলির সাথে মডেলের আনুমানিক মান হয় তবে এই প্রশ্নটি ঠিক আছে। যদি ওপি এতে সন্তুষ্ট না হয় এবং তথ্য, মডেল ইত্যাদির ক্ষেত্রে তাদের অর্থের ব্যাখ্যা প্রয়োজন হয়, তবে এটি বেশ বিস্তৃত প্রশ্ন হবে যে এটি দেওয়া বেশ কয়েকটি প্রশ্নের মধ্যে একটি।
মনিকা পুনরায় ইনস্টল করুন - জি সিম্পসন

উত্তর:


74

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

আপনি দুটি মডেল উপস্থাপন করেছেন বলে মনে হচ্ছে, আমি প্রাথমিকভাবে শীর্ষের দিকে মনোনিবেশ করব। এ ছাড়াও অনুলিপি এবং মডেল অথবা আউটপুট পেস্ট, তাই আমি অদলবদল হবে একটি ত্রুটি হয়েছে বলে মনে হয় leaves.presenceসঙ্গে Areaআউটপুটে এটা মডেল সঙ্গে সামঞ্জস্যপূর্ণ করতে। এখানে আমি যে মডেলটির কথা উল্লেখ করছি তা এখানে (লক্ষ্য করুন যে আমি যুক্ত করেছি (link="logit"), যা দ্বারা বোঝানো হয়েছে family=binomial; দেখুন ? গ্ল্যাম এবং পরিবার? ):

glm(formula = leaves.presence ~ Area, family = binomial(link="logit"), data = n)

আসুন এই আউটপুটটি দিয়ে চলুন (লক্ষ্য করুন যে আমি নীচের দ্বিতীয় লাইনে চলকের নাম পরিবর্তন করেছি Coefficients):

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 
(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

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

Deviance Residuals: 
   Min      1Q  Median      3Q     Max  
-1.213  -1.044  -1.023   1.312   1.344  

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


পরবর্তী আমরা covariates সম্পর্কিত তথ্য দেখতে পাই, যা সাধারণত লোকেরা সাধারণত আগ্রহী:

Coefficients:
                        Estimate Std. Error z value Pr(>|z|) 
(Intercept)           -0.3877697  0.0282178 -13.742  < 2e-16 ***
Area                   0.0008166  0.0002472   3.303 0.000956 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

AreaEstimateleaves.presenceArealeaves.presenceArea0।) পরবর্তী কলামে, আমরা এই অনুমানগুলির সাথে যুক্ত স্ট্যান্ডার্ড ত্রুটি দেখি see এটি হ'ল, এগুলি একটি অনুমান যে গড়পড়তাভাবে, এই অনুমানগুলি প্রায় অদ্যাবধি উত্সাহিত হবে যদি অধ্যয়নটি একইভাবে পুনরায় চালানো হত তবে নতুন ডেটা সহ, বারবার। (আপনি যদি কোনও স্ট্যান্ডার্ড ত্রুটির ধারণার সাথে খুব বেশি পরিচিত না হন তবে আমার উত্তরটি এখানে পড়তে আপনাকে সহায়তা করতে পারে: রৈখিক প্রতিরোধের সহগ মানের ত্রুটিগুলি কীভাবে ব্যাখ্যা করা যায় ।) আমরা যদি স্ট্যান্ডার্ড ত্রুটির দ্বারা অনুমানটি বিভক্ত করি তবে আমরা একটি ভাগফল পান যা সাধারণত পর্যাপ্ত পরিমাণে নমুনার সাথে বিতরণ করা হয় বলে ধরে নেওয়া হয়। এই মান অধীনে তালিকাভুক্ত করা হয় z value। নীচে Pr(>|z|)দুটি লেজযুক্ত পি-মান তালিকাভুক্ত করা হয়েছেযা একটি সাধারণ সাধারণ বিতরণে সেই জেড-মানগুলির সাথে সামঞ্জস্য। শেষ অবধি, প্রচলিত তাত্পর্যপূর্ণ তারা রয়েছে (এবং সহগের টেবিলের নীচে কীটি নোট করুন)।


Dispersionলাইন GLiMs সঙ্গে ডিফল্টরূপে ছাপা হয়, কিন্তু এখানে অনেক তথ্য যোগ না (এটা গণনা মডেল, যেমন সঙ্গে আরো গুরুত্বপূর্ণ)। আমরা এটিকে উপেক্ষা করতে পারি।


শেষ পর্যন্ত, আমরা মডেল এবং এটির ফিটনের ভালতা সম্পর্কে তথ্য পাই:

    Null deviance: 16662  on 12237  degrees of freedom
Residual deviance: 16651  on 12236  degrees of freedom
(314 observations deleted due to missingness)
AIC: 16655
Number of Fisher Scoring iterations: 4

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

Residual devianceNull devianceEstimateAreaএফ

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

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



আপনার তালিকাভুক্ত দ্বিতীয় মডেল এবং আউটপুট সম্পর্কিত, এটি ফলাফল প্রদর্শন করার এক অন্যরকম উপায়। বিশেষত, এগুলি

Coefficients:
(Intercept)       Areal  
-0.3877697    0.0008166

উপরে বর্ণিত একই ধরণের অনুমানগুলি (যদিও ভিন্ন মডেল থেকে কম পরিপূরক তথ্যের সাথে উপস্থাপিত হয়)।


1

কল : এটি কেবলমাত্র কল যা আপনি ফাংশনে করেছেন। আপনি আর টাইপ করেছেন ঠিক একই কোডটি। আপনি কোনও টাইপস তৈরি করেছেন কিনা তা দেখার জন্য এটি সহায়ক হতে পারে।

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

সহগ : এটি আউটপুট এর মাংস।

  • বিরতি : পইসন এবং লিনিয়ার রিগ্রেশন এর জন্য, আমাদের সমস্ত ইনপুট 0 হলে এই পূর্বাভাস দেওয়া আউটপুট হয় লজিস্টিক রিগ্রেশনের জন্য, এই মানটি 0 থেকে আরও দূরে থাকবে প্রতিটি শ্রেণিতে পর্যবেক্ষণের সংখ্যার মধ্যে পার্থক্যটি .. স্ট্যান্ডার্ড ত্রুটি উপস্থাপন করে আমরা এ সম্পর্কে কতটা অনিশ্চিত (নিম্নতর ভাল) এই ক্ষেত্রে, যেহেতু আমাদের ইন্টারসেপ্ট 0 থেকে অনেক দূরে এবং আমাদের স্ট্যান্ডার্ড ত্রুটিটি ইন্টারসেপ্টের চেয়ে অনেক ছোট, আমরা নিশ্চিতভাবে নিশ্চিত হতে পারি যে আমাদের ক্লাসগুলির মধ্যে একটি (ব্যর্থ হয়েছে বা ব্যর্থ হয়নি) এতে আরও অনেক পর্যবেক্ষণ রয়েছে। (এক্ষেত্রে এটি "ব্যর্থ হয়নি", ধন্যবাদ!)

  • বিভিন্ন ইনপুট (প্রতিটি ইনপুট একটি ভিন্ন লাইনে থাকবে): এই অনুমানটি উপস্থাপন করে যে প্রতিবার আমরা এই ইনপুটটি 1 বাড়িয়ে আউটপুটটি কীভাবে পরিবর্তিত হবে তা আমরা অনুমান করি যত বড় অনুমান, আউটপুটটিতে এই ইনপুট ভেরিয়েবলের প্রভাব তত বেশি। স্ট্যান্ডার্ড ত্রুটি এটি সম্পর্কে আমরা কতটা নিশ্চিত। সাধারণত, আমরা পুরোপুরি নিশ্চিত হতে পারি যে কোনও ইনপুট তথ্যবহুল হ'ল স্ট্যান্ডার্ড ত্রুটিটি অনুমানের 1/10 হয়। সুতরাং এই ক্ষেত্রে আমরা পুরোপুরি নিশ্চিত আছি যে ইন্টারসেপ্টটি গুরুত্বপূর্ণ।

  • Signif। কোডস : এটি প্রতিটিটির তাত্পর্যটির চাবিকাঠি: ইনপুট এবং ইন্টারসেপ্ট। আপনি কেবলমাত্র আপনার ডেটাতে একটি মডেল ফিট করলে এগুলি কেবলমাত্র সঠিক। (অন্য কথায়, পরীক্ষামূলক ডেটার জন্য এগুলি দুর্দান্ত যদি আপনি শুরু থেকে কোন ভেরিয়েবলগুলিতে আগ্রহী হন এবং ডেটা বিশ্লেষণ বা পরিবর্তনশীল নির্বাচনের জন্য তথ্যপূর্ণ না হন))

    অপেক্ষা করুন, আমরা পরিসংখ্যানগত তাত্পর্য কেন ব্যবহার করতে পারি না? আপনি পারেন, আমি সাধারণত এটি সুপারিশ করব না। ডেটা সায়েন্সে আপনি প্রায়শই একই মডেলটি চেষ্টা করে সেরা মডেলটি বেছে নেওয়ার জন্য একাধিক মডেল ফিটিং করবেন। আপনি যদি একই ডেটাসেটে পরিসংখ্যানগত তাত্পর্য জন্য কখনও একাধিক পরীক্ষা চালিয়ে থাকেন তবে এটির জন্য আপনাকে নিজের পি-মানটি অ্যাডাস্ট করতে হবে। আপনি এটি সম্পর্কে এইভাবে ভাবতে পারেন: আপনি যদি সিদ্ধান্ত নেন যে আপনি পি = 0.05 এর নীচে থাকা ফলাফলগুলি গ্রহণ করবেন তবে আপনি মূলত বলছেন যে আপনি বিশ বারের মধ্যে ভুল হওয়ার কারণে ঠিক আছেন। তবে আপনি যদি পাঁচটি পরীক্ষা করেন তবে প্রত্যেকের জন্যই আপনার ভুল হওয়ার 1/1 টি সম্ভাবনা রয়েছে, তবে এখন আপনার সেই পরীক্ষাগুলির মধ্যে কমপক্ষে একটিতে ভুল হওয়ার একটি 1/4 সুযোগ রয়েছে ... তবে আপনি কোনটি জানি না। আপনি এটির জন্য সংশোধন করতে পারেন (পি-মানকে গুণ করে আপনি যে পরীক্ষাগুলির সংখ্যার দ্বারা প্রারম্ভিক তা উল্লেখযোগ্য হিসাবে গ্রহণ করবেন ) তবে অনুশীলনে আমি দেখতে পাই যে পি-মানগুলি সম্পূর্ণরূপে ব্যবহার করা এড়ানো সহজ।

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

নাল বিচ্যুতি: নাল বিচ্যুতি আমাদের কেবলমাত্র বিরতি ব্যবহার করে আমাদের আউটপুটটির পূর্বাভাস দিতে পারে তা আমাদের জানায়। ছোট আরও ভাল।

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

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

ফিশার স্কোরিং পুনরাবৃত্তির সংখ্যা: এটি আপনাকে মডেল ফিট করতে কত সময় নিয়েছিল তার এক মাত্রি measure আপনি এটিকে নিরাপদে উপেক্ষা করতে পারেন।

আমি আরও শিখতে এই সংক্ষিপ্ত অঞ্চলটির পরামর্শ দিচ্ছি। https://www.kaggle.com/rtatman/regression-challenge-day-5

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