क्या मैं एक मोड़ के संकेत के रूप में लॉजिस्टिक प्रतिगमन में एक द्विघात शब्द को शामिल करने की व्याख्या कर सकता हूं?


12

केवल रैखिक और द्विघात शब्दों के साथ एक लॉजिस्टिक रिग्रेशन में, अगर मेरे पास एक रैखिक गुणांक और द्विघात गुणांक , तो क्या मैं कह सकता हूं कि इसमें संभावना का मोड़ है ?β1β2β1/(2β2)

जवाबों:


17

हाँ तुम कर सकते हो।


मॉडल है

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

जब β2 है, तो इसमें x = - \ beta_1 / (2 \ beta_2) पर एक वैश्विक चरम सीमा होती हैx=β1/(2β2)

लॉजिस्टिक रिग्रेशन इन गुणांक का अनुमान लगाता है । क्योंकि यह एक अधिकतम संभावना अनुमान है (और मापदंडों के कार्यों का एमएल अनुमान अनुमान के समान कार्य हैं) हम अनुमान लगा सकते हैं कि चरम की स्थिति ।(b0,b1,b2)b1/(2b2)

उस अनुमान के लिए एक विश्वास अंतराल ब्याज का होगा। उन लिए, जो लागू करने के लिए अधिकतम संभावना सिद्धांत के लिए पर्याप्त हैं, हम इस अंतराल के समापन बिंदुओं को फिर से व्यक्त करके के रूप में पा सकते हैंβ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, बढ़िया जवाब। आप कुछ कैविएट का उल्लेख करते हैं जो कि स्पर्शोन्मुख दृष्टिकोण है; आप इस तरह के मामलों में सीआई को बूटस्ट्रैप करने के बारे में क्या सोचते हैं? मैंने एक बार ऐसा किया था कि यह दिखाने के लिए कि एक समूह के लिए एक द्विघात वक्र का शिखर दूसरे समूह की तुलना में अधिक था।
गंग -

यह काम कर सकता है, @gung, लेकिन बूटस्ट्रैपिंग सिद्धांत भी बड़े नमूनों के लिए है। आपके आवेदन में शायद एक क्रमचय परीक्षण को उचित ठहराया जा सकता है।
whuber

ठंडा। लेकिन क्या मोड़ डेटा रेंज के बाहर नहीं हो सकता है? और फिर इसे एक्सट्रपलेशन करना खतरनाक होगा।
पीटर Flom - को पुनः स्थापित मोनिका

@ पेटर यह सही है, यही कारण है कि मैंने टिप्पणी की कि "यह दृष्टिकोण अच्छी तरह से काम करेगा बशर्ते कि चोटी के दोनों किनारों पर एक्स कवर की श्रेणियाँ हों।"
whuber

@whuber उफ़, मैं चूक गया। क्षमा करें
पीटर Flom - को पुनः स्थापित मोनिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.