95% বিশ্বাসযোগ্য ব্যবধানটি কীভাবে খুঁজে পাবেন?


13

আমি নীচের উত্তর বিতরণের 95% বিশ্বাসযোগ্য ব্যবধান গণনা করার চেষ্টা করছি am আমি আর এর জন্য ফাংশনটি খুঁজে পাইনি তবে নীচের পন্থাটি কি সঠিক?

x <- seq(0.4,12,0.4)
px <-  c(0,0, 0, 0, 0, 0, 0.0002, 0.0037, 0.018, 0.06, 0.22 ,0.43, 0.64,0.7579, 0.7870, 0.72, 0.555, 0.37, 0.24, 0.11, 0.07, 0.02, 0.009, 0.005, 0.0001, 0,0.0002, 0, 0, 0)
plot(x,px, type="l")
mm <- sum(x*px)/sum(px)
var <- (sum((x)^2*px)/sum(px)) - (mm^2)
cat("95% credible interval: ", round(mm -1.96*sqrt(var),3), "-", round(mm + 1.96*sqrt(var),3),"\n")

1
সত্যই নয় - আপনি গড় বিতরণ এবং একটি সমান বিরতি ধরে নিয়েছেন, যার মধ্যে দুটিও এই প্রসঙ্গে বিশেষভাবে ন্যায়সঙ্গত নয়। প্রকৃতপক্ষে আপনি সম্ভাবনার প্রায় ক্যাপচার করেছেন , ধরে নিলেন এটি একটি বিবিধ বিতরণ, এবং 95 % পেতে আপনার ব্যবধানটি কিছুটা প্রশস্ত করতে হবে । সর্বোচ্চ ঘনত্বের অঞ্চলটি গ্রহণ করা ভাল হতে পারে [ ৪.৪ , ৮.০ ] যদি এটি একটি বিস্তৃত বিতরণ হয়। বিকল্পভাবে একটি বিরতি গ্রহণ করুন সুতরাং এর নীচে থাকার সম্ভাবনা 2.5 % বা তারও কম, এবং এর উপরে হওয়ার সম্ভাবনা 2.5 % বা তারও কম, [ ৪.৪ ,94%95%[4.4,8.0]2.5%2.5% এখানে। [4.4,8.0]
হেনরি

উত্তর:


24

হেনরি দ্বারা উল্লিখিত হিসাবে , আপনি স্বাভাবিক বিতরণ অনুমান করছেন এবং আপনার ডেটা স্বাভাবিক বিতরণ অনুসরণ করে তবে এটি পুরোপুরি ঠিক আছে তবে আপনি যদি এটির জন্য সাধারণ বিতরণ অনুমান করতে না পারেন তবে এটি ভুল হবে। নীচে আমি দুটি পৃথক পদ্ধতি বর্ণনা করেছি যা আপনি অজানা বিতরণের জন্য ব্যবহার করতে পারেন কেবলমাত্র ডেটাপয়েন্ট xএবং তার সাথে ঘনত্বের অনুমান px

100α%বিতরণ। আপনি নীচের চিত্রের দুটি প্লট তুলনা করলে এটি আরও স্পষ্ট হবে - কোয়ান্টাইলগুলি বিতরণটিকে উল্লম্বভাবে "কাটা", যখন সর্বোচ্চ ঘনত্বের অঞ্চল এটি অনুভূমিকভাবে "কাটা" করে।

কোয়ান্টাইল বনাম এইচডিআর অন্তর

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

একটা পদক্ষেপ রৈখিক ক্ষেপক ব্যবহার করতে (দেখুন হবে ?approxfunআরো কিছু আর নেই), বা অন্যভাবে splines (দেখুন মত মসৃণ ?splinefunআর এ)। আপনি যদি এই জাতীয় দৃষ্টিভঙ্গি চয়ন করেন তবে আপনাকে মনে রাখতে হবে যে অন্তরঙ্গকরণ অ্যালগরিদমগুলির আপনার ডেটা সম্পর্কে কোনও ডোমেন জ্ঞান নেই এবং শূন্যের নীচের মানগুলির মতো অবৈধ ফলাফলগুলি ফিরে আসতে পারে etc.

# grid of points
xx <- seq(min(x), max(x), by = 0.001)

# interpolate function from the sample
fx <- splinefun(x, px) # interpolating function
pxx <- pmax(0, fx(xx)) # normalize so prob >0

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

# density of kernel density/mixture distribution
dmix <- function(x, m, s, w) {
  k <- length(m)
  rowSums(vapply(1:k, function(j) w[j]*dnorm(x, m[j], s[j]), numeric(length(x))))
}

# approximate function using kernel density/mixture distribution
pxx <- dmix(xx, x, rep(0.4, length.out = length(x)), px) # bandwidth 0.4 chosen arbitrary

এর পরে, আপনি আগ্রহের অন্তরগুলি সন্ধান করতে যাচ্ছেন। আপনি হয় সংখ্যায়, বা সিমুলেশন দ্বারা এগিয়ে যেতে পারেন।

1 ক) কোয়ান্টাইল অন্তর পেতে নমুনা

# sample from the "empirical" distribution
samp <- sample(xx, 1e5, replace = TRUE, prob = pxx)

# or sample from kernel density
idx <- sample.int(length(x), 1e5, replace = TRUE, prob = px)
samp <- rnorm(1e5, x[idx], 0.4) # this is arbitrary sd

# and take sample quantiles
quantile(samp, c(0.05, 0.975)) 

1 খ) সর্বাধিক ঘনত্বের অঞ্চল অর্জনের নমুনা

samp <- sample(pxx, 1e5, replace = TRUE, prob = pxx) # sample probabilities
crit <- quantile(samp, 0.05) # boundary for the lower 5% of probability mass

# values from the 95% highest density region
xx[pxx >= crit]

2 ক) সংখ্যাগতভাবে কোয়ান্টাইলগুলি সন্ধান করুন

cpxx <- cumsum(pxx) / sum(pxx)
xx[which(cpxx >= 0.025)[1]]   # lower boundary
xx[which(cpxx >= 0.975)[1]-1] # upper boundary

2 খ) সংখ্যাগতভাবে সর্বাধিক ঘনত্বের অঞ্চলটি সন্ধান করুন

const <- sum(pxx)
spxx <- sort(pxx, decreasing = TRUE) / const
crit <- spxx[which(cumsum(spxx) >= 0.95)[1]] * const

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

দুই ধরণের অন্তর

100α%Pr(Xμ±ζ)αζ


আপনি কেবলমাত্র যখন প্রদত্ত তথ্য থেকে সরাসরি কোয়ান্টাইলগুলি গণনা করতে পারলেন তখন কেন নমুনা করলেন (উভয় পদ্ধতি ব্যবহার করে)?
হোবার

1
@ শুভ কারণ এটি সস্তা এবং সহজ, তবে আমি আগামীকাল নন-সিমুলেশন গণনা বর্ণনা করতে সম্পাদনা করব।
টিম

হাই টিম, এটি খুব সহায়ক। এটি কেবল বৈষম্য থেকে কোয়ান্টাইল নেওয়া ঠিক হবে না? (নিম্ন <- x [যা (যেমন। লজিকাল (ডিফ (সিএমসাম (পিক্স)) / যোগ (পিক্স)> 0.025%)))]) (উপরের <- এক্স [যা (অ্যাস্লোগিকাল (ডিফ (সিএমসাম (পিক্স)) / যোগফল (px) <0.975 "))])
ব্যবহারকারী 19758

@ user19758 দয়া করে আমার সম্পাদনা পরীক্ষা করুন।
টিম

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