রিগ্রেশন প্যারামিটারগুলির জন্য আস্থা অন্তর: বায়েসিয়ান বনাম ক্লাসিক্যাল


15

দুটি অ্যারে x এবং y দেওয়া, উভয় দৈর্ঘ্যের n, আমি একটি মডেল y = a + b * x ফিট করি এবং opeালের জন্য 95% আত্মবিশ্বাসের ব্যবধান গণনা করতে চাই। এটি (খ - ডেল্টা, বি + ডেল্টা) যেখানে খ সাধারণভাবে পাওয়া যায় এবং

delta = qt(0.975,df=n-2)*se.slope

এবং se.slope হ'ল errorালুতে প্রমিত ত্রুটি। আর এর থেকে slালের স্ট্যান্ডার্ড ত্রুটি পাওয়ার একটি উপায় summary(lm(y~x))$coef[2,2]

এখন ধরুন আমি x এবং y প্রদত্ত opeালের সম্ভাবনাটি লিখি, এটি একটি "ফ্ল্যাট" পূর্বে গুণ করে এবং উত্তরোত্তর ডিস্ট্রিবিউশন থেকে একটি নমুনা মি আঁকার জন্য এমসিসিএম কৌশল ব্যবহার করি । নির্ধারণ করা

lims = quantile(m,c(0.025,0.975))

আমার প্রশ্ন: (lims[[2]]-lims[[1]])/2উপরে বর্ণিত হিসাবে ডেল্টা প্রায় সমান?

সংযোজন নীচে একটি সহজ Jags মডেল যেখানে এই দুটি ভিন্ন হবে বলে মনে হচ্ছে হয়।

model {
 for (i in 1:N) {
  y[i] ~ dnorm(mu[i], tau)
  mu[i] <- a + b * x[i]
 }
 a ~ dnorm(0, .00001)
 b ~ dnorm(0, .00001)
 tau <- pow(sigma, -2)
 sigma ~ dunif(0, 100)
}

আমি আর এ নিম্নলিখিত চালাতে:

N <- 10
x <- 1:10
y <- c(30.5,40.6,20.5,59.1,52.5,
       96.0,121.4,78.9,112.1,128.4)
lin <- lm(y~x)

#Calculate delta for a 95% confidence interval on the slope
delta.lm <- qt(0.975,df=N-2)*summary(lin)$coef[2,2]

library('rjags')
jags <- jags.model('example.bug', data = list('x' = x,'y' = y,'N' = N),
                   n.chains = 4,n.adapt = 100)
update(jags, 1000)
params <- jags.samples(jags,c('a', 'b', 'sigma'),7500)
lims <- quantile(params$b,c(0.025,0.975))
delta.bayes <- (lims[[2]]-lims[[1]])/2

cat("Classical confidence region: +/-",round(delta.lm, digits=4),"\n")
cat("Bayesian confidence region:  +/-",round(delta.bayes,digits=4),"\n")

এবং পেতে:

ধ্রুপদী আত্মবিশ্বাসের অঞ্চল: +/- 4.6939

বয়েসিয়ান আত্মবিশ্বাসের অঞ্চল: +/- 5.1605

এই একাধিকবার পুনর্বারণে, বয়েসীয় আত্মবিশ্বাস অঞ্চলটি ধ্রুপদী শ্রেণির চেয়ে ধারাবাহিকভাবে বিস্তৃত। তাহলে আমি কি বেছে নিয়েছি প্রিন্সের কারণে?

উত্তর:


9

'সমস্যা' সিগমার আগে রয়েছে। একটি কম তথ্যমূলক সেটিং চেষ্টা করুন

tau ~ dgamma(1.0E-3,1.0E-3)
sigma <- pow(tau, -1/2)

আপনার জাগ ফাইল তারপরে একটি গুচ্ছ আপডেট করুন

update(10000)

প্যারামিটারগুলি ধরুন এবং আপনার আগ্রহের পরিমাণটি সংক্ষেপে। এটি ক্লাসিক সংস্করণের সাথে যুক্তিসঙ্গতভাবে ভালভাবে লাইন করা উচিত।

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


@ রিংগোল্ড, কী কাজ করেছে? সিগমা বা আপডেটের আগে? অথবা উভয়? আপনি কি সেগুলি আলাদাভাবে পরীক্ষা করেছেন?
কৌতূহলী

sigma <- pow(tau, -1/2)বা হতে হবেsigma <- 1/sqrt(tau)
কৌতূহলী

@ টমাস, ঠিক আছে। টাইপো স্থির
সংযুক্তিপ্রিয়

যদিও প্রকৃতপক্ষে এটি মূল কোডের মধ্যে থেকে পার্থক্যের উত্স হতে পারে ...
conjugateprior

6

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

আরও তথ্যের জন্য দেখুন: গেলম্যান এট আল। (2003)। বায়েশিয়ান ডেটা বিশ্লেষণ। সিআরসি প্রেস। বিভাগ 3.6

সম্পাদনা:

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

এর মতো সাধারণ দৃশ্যের জন্য (সাধারণ নয়):

বায়সিয়ান সিআই> এমিরিকাল বায়েশিয়ান সিআই> ক্লাসিকাল সিআই; > == আরও বিস্তৃত


আমি জেএজিএস ব্যবহার করে এমন কিছু কোড যুক্ত করেছি যেখানে মনে হচ্ছে আমি অন্যরকম উত্তর পেয়ে যাচ্ছি। আমার ভুল কোথায়? প্রিয়ারদের কারণে কি এমনটা হচ্ছে?
রিংল্ড

আমি এখন দ্বিধান্বিত. প্রথমে আপনি বলেছিলেন যে ফ্ল্যাট পূর্বে b | y এর উত্তরোত্তর বিতরণ খ এর ধ্রুপদী নমুনা বিতরণের সমান। তারপরে আপনি বলেছিলেন যে বায়েসিয়ান সিআই ক্লাসিকালটির চেয়ে আরও প্রশস্ত। বিতরণগুলি একই হলে কীভাবে এটি বিস্তৃত হতে পারে?
রিংোল্ড

দুঃখিত - @CP তার মন্তব্যে কী প্রস্তাব করেছে তা আমার জানা উচিত ছিল। তাত্ত্বিকভাবে, ফ্ল্যাট পূর্বের এবং ক্লাসিকাল সিআইয়ের অধীনে বি | ওয়াই সমান, তবে আপনি সিপির মতো প্রস্তাবিত সিপির মতো খুব বিচ্ছুরিত প্রারম্ভিক ব্যবহার না করে এবং এমসিএমসি পুনরাবৃত্তির পরিমাণ ব্যবহার না করে আপনি ব্যবহারিকভাবে এটি করতে পারবেন না unless
সানকুলসু

আমি আপনার অ্যাকাউন্টগুলিকে একীভূত করেছি যাতে আপনি আপনার প্রশ্নগুলি সম্পাদনা করতে এবং মন্তব্যগুলি যুক্ত করতে পারেন। তবুও, দয়া করে এখানে ক্লিক করে আপনার অ্যাকাউন্টটি নিবন্ধ করুন: stats.stackexchange.com/users/login ; এটি আপনার জিমেইল ওপেনআইডিটি কয়েক সেকেন্ডের জন্য করতে পারেন এবং আপনি এখানে আর আপনার অ্যাকাউন্টটি ছাড়বেন না।

ধন্যবাদ, আমি নিবন্ধন করেছি। এবং যারা এই প্রশ্নের উত্তর দিয়েছেন তাদের অনেক ধন্যবাদ। আমি আগে গামা চেষ্টা করব।
রিংল্ড

5

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

আমি মনে করি না যে রিগ্রেশন প্যারামিটারগুলি সম্পর্কে বিশ্বাসযোগ্যতা অন্তরগুলি হ'ল স্বাভাবিক ন্যূনতম স্কোয়ারের আত্মবিশ্বাসের অন্তরগুলির মত একই, তবে যে কোনও ক্ষেত্রে সেগুলি খুব নিকটেই রয়েছে।

> # required package
> library(bayesm)
> # data
> age <- c(35,45,55,65,75)
> tension <- c(114,124,143,158,166)
> y <- tension
> # model matrix
> X <- model.matrix(tension~age)
> # prior parameters
> Theta0 <- c(0,0)
> A0 <- 0.0001*diag(2)
> nu0 <- 0
> sigam0sq <- 0
> # number of simulations
> n.sims <- 5000
> # run posterior simulations
> Data <- list(y=y,X=X)
> Prior <- list(betabar=Theta0, A=A0, nu=nu0, ssq=sigam0sq)
> Mcmc <- list(R=n.sims)
> bayesian.reg <- runireg(Data, Prior, Mcmc)
> beta.sims <- t(bayesian.reg$betadraw) # transpose of bayesian.reg$betadraw
> sigmasq.sims <- bayesian.reg$sigmasqdraw
> apply(beta.sims, 1, quantile, probs = c(0.025, 0.975))
[,1] [,2]
2.5% 53.33948 1.170794
97.5% 77.23371 1.585798
> # to be compared with: 
> frequentist.reg <- lm(tension~age)

3

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

জেফরির পূর্বের পি (ক, খ, এস) ব্যবহার করে উত্তরোত্তর বিতরণ পি (বি | ওয়াই) 1 / s এর সমানুপাতিক (যেখানে ত্রুটির মানক বিচ্যুতি হয়) হল অবস্থান বি_স, স্কেল সে-বি_লস ("" "" "সাধারণ ন্যূনতম স্কোয়ারগুলি" অনুমানের জন্য), এবং স্বাধীনতার n-2 ডিগ্রি। তবে বি_লসগুলির নমুনা বিতরণও অবস্থান বি, স্কেল সে_ব_আলস এবং স্বাধীনতার এন -2 ডিগ্রি সহ একটি শিক্ষার্থী। সুতরাং খ এবং বি_সগুলি অদলবদল করা ব্যতীত এগুলি অভিন্ন, সুতরাং যখন বিরতি তৈরি করার কথা আসে তখন আত্মবিশ্বাসের ব্যবধানের "ইস্ট + - আবদ্ধ" বিশ্বাসযোগ্য ব্যবধানে "এস্ট - + আবদ্ধ" হয়ে যায়।

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


সত্যিই এত অদ্ভুত নয়। বিশ্লেষণাত্মকভাবে সমাধান করা যেতে পারে এমন সমস্যার উত্তর খুঁজে পাওয়ার জন্য একটি সংখ্যাসূচক পদ্ধতি ব্যবহার করার একটি কারণ হ'ল এটি নিশ্চিত করা যে কোনও একটি সফ্টওয়্যারটি সঠিকভাবে ব্যবহার করছে।
রিংল্ড

1
(β0,β1,...,βপি,σ)pr(ওয়াই>10|এক্স)এক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.