পটভূমি : আমার সামাজিক মনোবিজ্ঞানে পিএইচডি আছে, যেখানে তাত্ত্বিক পরিসংখ্যান এবং গণিত সীমাবদ্ধভাবে আমার পরিমাণগত পাঠ্যক্রমের মধ্যে আবৃত ছিল। আন্ডারগ্র্যাড এবং গ্রেড স্কুলের মাধ্যমে, "ক্লাসিকাল" ঘন ঘন ঘন কাঠামোর মাধ্যমে আমাকে শেখানো হয়েছিল (আপনার অনেকের মতো সামাজিক বিজ্ঞানেও সম্ভবত) was এখন, আমি আর কেও পছন্দ করি এবং পদ্ধতিগুলি যেভাবে কাজ করে তা যাচাই করতে সিমুলেশন পদ্ধতি ব্যবহার করেগাণিতিক প্রমাণগুলির চেয়ে আমার কাছে আরও জ্ঞান (আবার: একটি পরিমাণগত সামাজিক বিজ্ঞানের পটভূমি, তাত্ত্বিক পরিসংখ্যান নয়)। ক্রমবর্ধমান পদ্ধতি এবং সিমুলেশন পদ্ধতিগুলি একসাথে আমার কাছে প্রচুর পরিমাণে অর্থবোধ করে। কারণ ঘন ঘনবাদীরা সম্ভাবনাটিকে দীর্ঘকালীন প্রতিকূলতা হিসাবে দেখেন (যেমন, আমি যদি এটি নির্বিচারে বহুবার করে থাকি এবং এটি সময়ের 50% হয় তবে তার সম্ভাবনা 50% থাকে)। আমরা মন্টি কার্লো পদ্ধতিতে এই দীর্ঘ রানটি অনুকরণ করতে পারি!
জটিলতা : undergrad সাল থেকে আমি Bayesian পদ্ধতি খুব সচেতন হয়েছে, এবং সেখানে সর্বদা হয়েছে আমার জীবনে মানুষ, Bayesian পাশ থেকে আমাকে আহ্বান এই বলে যে ফলাফল ব্যাখ্যা করা আরো সহজ ছিল, যে আমরা সম্ভাব্যতা পেতে জন্য ডেটা পরিবর্তে একটি হাইপোথিসিস একটি হাইপোথিসিস দেওয়া ইত্যাদি। আমি সত্যিই এটিতে এসেছি এবং একটি বায়সিয়ান ক্লাস নিয়েছি, কিছু বায়সিয়ান বই এবং কাগজপত্র পড়েছি এবং এখন স্টান এবং এর সাথে সম্পর্কিত আর প্যাকেজগুলির সাথে বেশ পরিচিত familiar
মেয়ো প্রবেশ করান : কিছুক্ষণের জন্য "বয়েসিয়ান সম্ভবত ভবিষ্যতের পথ" চিন্তা করার পরে, আমি দেবোরাহ মায়োর পরিসংখ্যানগত অনুভূতিটি গুরুতর পরীক্ষা হিসাবে পড়ি । তিনি বলেছেন যে বইয়ের শুরুতে তিনি কোনও দিক বেছে নেন নি, তবে তিনি করেন: তিনি একজন ঘনঘনবাদী, এবং বইয়ের অনেকগুলি ঘনত্ববাদী পদ্ধতিগুলি রক্ষা করছে def আমি প্রমাণের যেভাবে দেখছি সেটিকে বৈধ বলে মনে করি বা না তা অগত্যা একটি আলোচনায় আসতে চাই না, তবে এটি আমাকে এই ভাবনায় পেয়েছে: বাইয়েস কি আসলেই বিজ্ঞাপন হিসাবে প্রকাশিত সমস্ত কিছু? আমি বোঝাতে চাইছি, বায়েসের ভিড় নিজেই এতটা ভাঙ্গা হয়ে পড়েছে যে আমি প্রায়শই বয়েশিয়ান কাঠামোর মধ্যে ডেটা বিশ্লেষণের "সঠিক" উপায়টিও জানি না। সাধারণত, আমি কেবল ব্যবহার করবrstanarm
এবং বর্তমান পয়েন্টের অনুমান এবং বিশ্বাসযোগ্য ব্যবধানগুলি ... যা প্রায়শই ঘন ঘন ঘন ঘন অনুমান এবং আত্মবিশ্বাসের অন্তরগুলির সাথে ঘনিষ্ঠ থাকে। আমি মডেল তুলনা করতে পারি, তবে আমি বয়েস ফ্যাক্টরকে উত্তরীয় সম্ভাবনার তুলনা ইত্যাদি হিসাবে বর্ণনা করতে সবসময়ই ভীত
আরও চিন্তাভাবনা : মায়োর বইয়ের মধ্য দিয়ে আমি যা ভাবছিলাম তা হ'ল: আমাদের ঘন ঘনবাদী পদ্ধতিগুলি কাজ করে তা নিশ্চিত করার জন্য আমরা কম্পিউটারগুলি ব্যবহার করতে পারি, কারণ সম্ভাব্যতা যা আমরা দীর্ঘমেয়াদে দেখি এবং আমরা তা অনুকরণ করতে পারি। বায়েসিয়ানরা এমনকি সম্ভাবনা কী তা নিয়ে একমত হতে পারে না বলে মনে হয়, এটি বায়সিয়ান স্কুল (ডিফল্ট, বিষয়গত ইত্যাদি) উপর নির্ভর করে, যা আমাকে আমার প্রশ্নের দিকে নিয়ে যায়:
প্রশ্ন : বায়েসিয়ানরা কীভাবে যাচাই করে যে তাদের পদ্ধতিগুলি মন্টি কার্লো সিমুলেশন পদ্ধতিগুলি ব্যবহার করে যদি মন্টে কার্লো সিমুলেশন পদ্ধতিগুলি ব্যবহার করে সঠিকভাবে অনিশ্চয়তা (যেমন বৈধ বিশ্বাসযোগ্য অন্তর এবং উত্তর বিতরণ গণনা করে) সংজ্ঞা দেয় তবে যদি সম্ভাবনাটি দীর্ঘকালীন হার হিসাবে সংজ্ঞায়িত না হয়?
উদাহরণ : আমি একটি ডেটা জেনারেটর তৈরি করি। এটি কেবল .5 এর সম্ভাব্যতার সাথে একটি বার্নোল্লি বিতরণ থেকে অনুকরণ করতে চলেছে:
set.seed(1839)
p <- .50
n <- 100
gen_dat <- function(n, p) {
rbinom(n, 1, p)
}
এখন, আসুন আমি বলি যে আমি নিশ্চিত করতে চাই যে একটি লজিস্টিক রিগ্রেশন-এ আত্মবিশ্বাসের অন্তরগুলি আসলে বৈধ কিনা। আমি প্রচুর সংখ্যক রিগ্রেশন অনুকরণ করতে পারি এবং নিশ্চিত করতে পারি যে প্রকৃত জনসংখ্যার মান 95% আত্মবিশ্বাসের ব্যবধানে 95% সময়ের মধ্যে পড়ে। এটি একটি ইন্টারসেপ্ট-ইন্ডিস্ট মডেল, সুতরাং আমি নিশ্চিত করতে চাই যে আমি p
সঠিকভাবে অনুমান করছি :
set.seed(1839)
iter <- 10000
results <- sapply(seq_len(iter), function(zzz) {
mod <- glm(gen_dat(n, p) ~ 1, binomial)
conf <- suppressMessages(confint(mod))
log(p / (1 - p)) < max(conf) & log(p / (1 - p)) > min(conf)
})
mean(results)
এটি চালাতে কয়েক মিনিট সময় নেয় তবে আমরা mean(results)
আমাদের কল দিয়ে শেষ করি 0.9416
। এটি প্রায় 95%, এবং আমি এই বিষয়ে আত্মবিশ্বাসী যে glm
কমান্ডটি একটি বৈধ উপায়ে অনিশ্চয়তার বর্ণনা দিচ্ছে । আমি নিশ্চিত যে আমি যদি আপ করি iter
এবং আমার ল্যাপটপে আরও বেশিক্ষণ এখানে অপেক্ষা করতে চাই তবে এটি 95% এ নাকের ডানদিকে কাছে যেতে পারত ।
অন্যদিকে, আসুন একই জিনিসটির জন্য একটি বায়েশিয়ান মডেলটি ফিট করি:
library(rstanarm)
set.seed(1839)
dat <- data.frame(y = gen_dat(n, p))
stan_mod <- stan_glm(y ~ 1, binomial, dat)
summary(stan_mod)
অংশ হিসাবে, এটি আমাকে দেয়:
Estimates:
mean sd 2.5% 25% 50% 75% 97.5%
(Intercept) -0.1 0.2 -0.5 -0.2 -0.1 0.0 0.3
mean_PPD 0.5 0.1 0.3 0.4 0.5 0.5 0.6
log-posterior -73.0 0.7 -75.1 -73.1 -72.7 -72.5 -72.5
বায়েশিয়ানরা যেহেতু আমরা দীর্ঘমেয়াদে যা দেখি তেমন সম্ভাবনার সংজ্ঞা দেয় না, তাই আমি stan_glm
অনিশ্চয়তা সঠিকভাবে ক্যাপচারের চেয়ে যাচাই করার জন্য সিমুলেশন পদ্ধতিগুলি কীভাবে ব্যবহার করতে পারি ? অর্থাত্, সিমুলেশন পদ্ধতি ব্যবহার করে আমি কীভাবে বিশ্বাস করতে পারি যে এই বিশ্বাসযোগ্য অন্তরগুলি বৈধ? এবং এই মুহুর্তে, আমি এমনকি পূর্বের সংজ্ঞা দিচ্ছি না i এখানে বন্দীদের অন্তর্ভুক্তি কীভাবে কার্যকর হবে, যেহেতু এটি আমাদের অনিশ্চয়তার ব্যবস্থাগুলিকে প্রভাবিত করবে?
আমি যখন স্টান থেকে একবারে বাধা মডেল উপাদানটি দিয়ে বিটা রিগ্রেশন লেখার চেষ্টা করছিলাম, তখন আমার কাছে কেউ আমার কাছে পরামর্শ দিয়েছিল: "ডেটা সিমুলেট করুন times এটি বেশ কয়েকবার করুন, এবং সত্যিকারের অনুমানগুলি নির্ভরযোগ্য বিরতিতে 95 এর মধ্যে হওয়া উচিত % সময়." তবে আমার কাছে, এটি বেইসিয়ানরা যে বিশ্বাস করে তার বিপরীতে যায়! যা সম্ভাবনার ঘনত্ববাদী বোঝার উপর নির্ভর করে! সুতরাং একজন বায়েশিয়ান কীভাবে আমাকে বোঝাতে পারবেন যে আমি summary()
আমার মডেলটির কল থেকে যে বিশ্বাসযোগ্য ব্যবধানটি পেয়ে যাচ্ছি তা সিমুলেশন পদ্ধতিগুলি ব্যবহার করে অনিশ্চয়তার সঠিকভাবে বর্ণনা করছে?
প্রশ্নের উদ্দেশ্য : এটি একটি তুচ্ছ উদাহরণ, তবে অনেক সময় ক্লায়েন্টরা আমাকে কঠিন সমস্যা সরবরাহ করে। এবং আমি যে জিনিসগুলির সাথে আমি অপরিচিত তা চেষ্টা করি, তাই আমি যা করছি তা বৈধ কিনা তা নিশ্চিত করার জন্য আমি প্রায়শই একটি সিমুলেশন অধ্যয়ন পরিচালনা করি। যদি আমি স্টানে একটি কাস্টম মডেল লিখি, তবে আমি কীভাবে জানব যে আমি যা করছি তা বৈধ? আমি স্ট্যানের মধ্যে যা করছি তা যাচাই করার জন্য আমি কীভাবে সিমুলেশন পদ্ধতি ব্যবহার করতে পারি যা আমি জানতে চাই?