আমি কি লজিস্টিক রিগ্রেশনে চতুষ্কোণ পদটির অন্তর্ভুক্তিকে একটি টার্নিং পয়েন্ট নির্দেশ করে ব্যাখ্যা করতে পারি?


12

শুধুমাত্র লিনিয়ার এবং শর্তাবলী সহ একটি লজিস্টিক রিগ্রেশন, যদি আমার কাছে একটি লিনিয়ার সহগ এবং চতুর্ভুজ সহগ আমি কি বলতে পারি যে সম্ভাবনার টার্নিং পয়েন্ট রয়েছে ?β 2 - β 1 / ( 2 β 2 )β1β2β1/(2β2)

উত্তর:


17

হ্যা, তুমি পারো.


মডেলটি হ'ল

Pr(Y=1)=11+exp([β0+β1x+β2x2]).

যখন β2 ননজারো হয় তখন এর এক্স = - \ বিটা_1 / (2 \ বিটা_2) এ বিশ্বব্যাপী চূড়ান্ত থাকেx=β1/(2β2)

লজিস্টিক রিগ্রেশন এই হিসাবে অনুমান করে । কারণ এটি সর্বাধিক সম্ভাবনা অনুমান (এবং প্যারামিটারগুলির ফাংশনের এমএল অনুমানগুলি অনুমানের একই ফাংশন) আমরা চূড়ান্ত অবস্থানটির এ অনুমান করতে পারি ।(b0,b1,b2)b1/(2b2)

এই অনুমানের জন্য একটি আত্মবিশ্বাসের ব্যবধানটি আগ্রহী হবে। ডেটাসেট যে বৃহৎ যথেষ্ট asymptotic সর্বাধিক সম্ভাবনা তত্ত্ব প্রয়োগ করতে হয়, আমরা এই বিরতি এর এন্ড পয়েন্ট জানতে পারেন পুনরায় প্রকাশ আকারেβ0+β1x+β2x2

β0+β1x+β2x2=β0β12/(4β2)+β2(x+β1/(2β2))2=β+β2(x+γ)2

এবং লগ সম্ভাবনা খুব বেশি হ্রাস পাওয়ার আগে কতটা বৈচিত্রময় হতে পারে তা সন্ধান করা। "অত্যধিক" হ'ল, অসম্পূর্ণভাবে, এক ডিগ্রি স্বাধীনতার সাথে চি-স্কোয়ার বিতরণের এক-অর্ধেক কোয়ান্টাইল।γ1α/2

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


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

n <- 50            # Number of observations in each trial
beta <- c(-1,2,2)  # Coefficients
x <- seq(from=-3, to=3, length.out=n)
y0 <- cbind(rep(1,length(x)), x, x^2) %*% beta

# Conduct a simulation.
set.seed(17)
sim <- replicate(500, peak(x, rbinom(length(x), 1, logistic(y0)), alpha=0.05))

# Post-process the results to check the actual coverage.
tp <- -beta[2] / (2 * beta[3])
covers <- sim["lcl",] <= tp & tp <= sim["ucl",]
mean(covers, na.rm=TRUE) # Should be close to 1 - 2*alpha

# Plot the distributions of the results.
par(mfrow=c(2,2))
plot(x, logistic(y0), type="l", lwd=2, col="#4040d0", main="Simulated Data",ylim=c(0,1))
points(x, rbinom(length(x), 1, logistic(y0)), pch=19)
hist(sim["peak.x",], main="Estimates"); abline(v=tp, col="Red")
hist(sim["lcl",], main="Lower Confidence Limits"); abline(v=tp, col="Red")
hist(sim["ucl",], main="Upper Confidence Limits"); abline(v=tp, col="Red")

ফলাফল

logistic <- function(x) 1 / (1 + exp(-x))

peak <- function(x, y, alpha=0.05) {
  #
  # Estimate the peak of a quadratic logistic fit of y to x
  # and a 1-alpha confidence interval for that peak.
  #
  logL <- function(b) {
    # Log likelihood.
    p <- sapply(cbind(rep(1, length(x)), x, x*x) %*% b, logistic)
    sum(log(p[y==1])) + sum(log(1-p[y==0]))
  }
  f <- function(gamma) {
    # Deviance as a function of offset from the peak.
    b0 <- c(b[1] - b[2]^2/(4*b[3]) + b[3]*gamma^2, -2*b[3]*gamma, b[3])
    -2.0 * logL(b0)
  }
  # Estimation.
  fit <- glm(y ~ x + I(x*x), family=binomial(link = "logit"))
  if (!fit$converged) return(rep(NA,3))

  b <- coef(fit)
  tp <- -b[2] / (2 * b[3])

  # Two-sided confidence interval:
  # Search for where the deviance is at a threshold determined by alpha.
  delta <- qchisq(1-alpha, df=1)
  u <- sd(x)
  while(fit$deviance - f(tp+u) + delta > 0) u <- 2*u # Find an upper bound
  l <- sd(x)
  while(fit$deviance - f(tp-l) + delta > 0) l <- 2*l # Find a lower bound
  upper <- uniroot(function(gamma) fit$deviance - f(gamma) + delta, 
                   interval=c(tp, tp+u))
  lower <- uniroot(function(gamma) fit$deviance - f(gamma) + delta, 
                   interval=c(tp-l, tp))

  # Return a vector of the estimate, lower limit, and upper limit.
  c(peak=tp, lcl=lower$root, ucl=upper$root)
}

+1, দুর্দান্ত উত্তর। আপনি কিছু সাবধানবাণী অ্যাসিম্পটোটিক পদ্ধতির পুনরায় উল্লেখ করেছেন; আপনি যেমন সিআই বুটস্ট্র্যাপিং সম্পর্কে কি মনে করেন? আমি একবার এটি দেখানোর জন্য এটি করেছি যে এক গোষ্ঠীর জন্য চতুর্ভুজ বক্ররেখার শীর্ষগুলি অন্য গ্রুপের চেয়ে বেশি ছিল।
গুং - মনিকা পুনরায়

এটি @ গং কাজ করতে পারে তবে বুটস্ট্র্যাপিং তত্ত্বটি বড় আকারের নমুনাগুলির জন্যও। আপনার আবেদনে সম্ভবত একটি ক্রমবর্ধমান পরীক্ষা ন্যায়সঙ্গত হতে পারে।
হোয়বার

কুল। তবে টার্নিং পয়েন্টটি ডেটা সীমার বাইরে নাও থাকতে পারে? এবং তারপরে এটি বহির্ভূত হওয়া বিপজ্জনক হবে।
পিটার ফ্লুম - মনিকা পুনরায়

@ পিটার এটি ঠিক, তাই আমি মন্তব্য করেছি যে "এই পদ্ধতিটি এক্সের বিভিন্ন পরিসরকে শিখরের উভয় পক্ষের কভার প্রদান করে ভালভাবে কাজ করবে।"
whuber

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