ফাংশনটি কী করে:
সংক্ষেপে, ফাংশনটি আপনার ডেটার একটি মডেল থেকে নতুন সিউডোরডম প্রতিক্রিয়া (অর্থাত্, ) তৈরি করে। যে মডেলটি ব্যবহৃত হচ্ছে তা হ'ল একটি মানক ঘন ঘন ঘন মডেল। প্রথাগত হিসাবে, এটি ধরে নেওয়া হচ্ছে যে আপনার * ডেটা পরিচিত ধ্রুবক - সেগুলি কোনওভাবেই নমুনাযুক্ত নয়। আমি এই ফাংশনটির গুরুত্বপূর্ণ বৈশিষ্ট্য হিসাবে যা দেখছি তা হ'ল এটি আনুমানিক পরামিতিগুলি সম্পর্কে অনিশ্চয়তা সংযুক্ত করে। ওয়াইএক্স
* মনে রাখবেন যে ফাংশনটিতে ইনপুট দেওয়ার আগে আপনাকে ম্যাট্রিক্সের বামতম কলাম হিসাবে ম্যানুয়ালি ভেক্টর যুক্ত করতে হবে, যদি না আপনি ইন্টারসেপ্ট (যা সাধারণত ভাল ধারণা নয়) দমন করতে না চান।1এক্স
এই ফাংশনটির মূল বক্তব্যটি কী ছিল:
আমি সৎভাবে জানি না। এটি কোনও বায়েশিয়ান এমসিসিএম রুটিনের অংশ হতে পারে তবে এটি কেবল এক টুকরো হত - বাস্তবে কোনও বায়সিয়ান বিশ্লেষণ চালানোর জন্য আপনার অন্য কোথাও আরও কোডের দরকার পড়ে। আমি এ বিষয়ে স্পষ্টত মন্তব্য করতে বায়েশিয়ান পদ্ধতিতে যথেষ্ট দক্ষ বোধ করি না, তবে ফাংশনটি আমার কাছে 'অনুভব' করে না যা সাধারণত ব্যবহৃত হবে।
এটি সিমুলেশন-ভিত্তিক শক্তি বিশ্লেষণেও ব্যবহার করা যেতে পারে। (আমার উত্তর এখানে দেখুন: লজিস্টিক রিগ্রেশন শক্তি বিশ্লেষণের সিমুলেশন - এই ধরণের বিষয়ের উপর তথ্যের জন্য নকশা করা পরীক্ষাগুলি )) লক্ষণীয় বিষয় যে প্যারামিটারের প্রাক্কলনগুলির অনিশ্চয়তা বিবেচনায় না নেওয়ার পূর্ববর্তী তথ্যের ভিত্তিতে শক্তি বিশ্লেষণগুলি প্রায়শই হয় আশাবাদী. (আমি এখানে সেই বিন্দুটি নিয়ে আলোচনা করেছি: প্রত্যাশিত প্রভাবের আকার বনাম কাঙ্ক্ষিত প্রভাবের আকার )
আপনি যদি এই ফাংশনটি ব্যবহার করতে চান:
@ শুভ মন্তব্যগুলিতে নোট হিসাবে, এই ফাংশনটি অকার্যকর হবে। আপনি যদি এটি ব্যবহার করতে চান (উদাহরণস্বরূপ) শক্তি বিশ্লেষণ, আমি ফাংশনটি দুটি নতুন ফাংশনে বিভক্ত করব। প্রথমটি আপনার ডেটাতে পড়বে এবং পরামিতিগুলি এবং অনিশ্চয়তাগুলি আউটপুট করবে। দ্বিতীয় নতুন ফাংশনটি নতুন সিউডোর্যান্ডম ডেটা উত্পন্ন করবে । নিম্নলিখিতটি একটি উদাহরণ (যদিও এটি আরও উন্নতি করা সম্ভব হতে পারে): ওয়াই
simulationParameters <- function(Y,X) {
# Y is a vector of binary responses
# X is a design matrix, you don't have to add a vector of 1's
# for the intercept
X <- cbind(1, X) # this adds the intercept for you
fit <- glm.fit(X,Y, family = binomial(link = logit))
beta <- coef(fit)
fs <- summary.glm(fit)
M <- t(chol(fs$cov.unscaled))
return(list(betas=beta, uncertainties=M))
}
simulateY <- function(X, betas, uncertainties, ncolM, N){
# X <- cbind(1, X) # it will be slightly faster if you input w/ 1's
# ncolM <- ncol(uncertainties) # faster if you input this
betastar <- betas + uncertainties %*% rnorm(ncolM)
p <- 1/(1 + exp(-(X %*% betastar)))
return(rbinom(N, size=1, prob=p))
}