रैखिक एक रसद समारोह से डेटा के नमूने के लिए फिट है

Aug 17 2020

मान लें कि मैं समान रूप से एक अंतराल से डेटा बिंदुओं का नमूना लेता हूं [-$a$; $a$], फिर फॉर्म के एक लॉजिस्टिक फ़ंक्शन के लिए इन डेटा बिंदुओं को पास करें

$f(x) = \frac{1}{1+e^{-\beta\cdot x}}$,

और इन डेटा नमूनों (x, f (x)) के लिए एक रैखिक रेखा फिट करें। क्या इस रैखिक फिट की अपेक्षित ढलान को एक समारोह के रूप में व्यक्त किया जा सकता है$\beta$ तथा $a$?

(बोनस: हाइपरबोलिकस फ़ंक्शन को स्पर्श करता है $f(x)=\tanh(\beta x)$ उपस्कर समारोह के बजाय)

जवाब

2 jld Aug 18 2020 at 02:08

आपके पास डेटा है $X_1,\dots,X_n\stackrel{\text{iid}}\sim\text{Unif}(-a,a)$ और प्राप्त करें $Y_i = \sigma(X_i)$ कहां है $\sigma(z) = \frac{1}{1+e^{-bx}}$

एक साधारण रेखीय प्रतिगमन की जनसंख्या ढलान है$\newcommand{\E}{\operatorname{E}}$ $$ \beta := \frac{\text{Cov}(X_i, Y_i)}{\text{Var}(X_i)} = \frac{\E(X\sigma(X)) - (\E X) (\E \sigma(X))}{\text{Var}(X)}. $$ $X$ सममित है $0$ और विचरण सिर्फ एक समान आरवी का है जो ज्ञात है, इसलिए हमें वास्तव में गणना करने की आवश्यकता है $\E(X\sigma(X))$। ये है$$ \E(X\sigma(X)) = \frac 1{2a} \int_{-a}^a \frac{x}{1+e^{-bx}}\,\text dx. $$ हम यह नोट कर सकते हैं $$ \int \frac{1}{e^{-bx} + 1}\,\text dx = \int \frac{e^{bx}}{1 + e^{bx}}\,\text dx \\ = \frac 1b \int \frac 1u \,\text du = \frac 1b \log (e^{bx} + 1) $$ इसलिए हम प्राप्त करने के लिए भागों द्वारा एकीकृत कर सकते हैं $$ \E(X\sigma(X)) = \frac{1}{2ab}x\log(e^{bx}+1)\bigg\vert_{-a}^a - \frac 1{2ab}\int_{-a}^a \log(e^{bx} + 1)\,\text dx. $$ पहले शब्द के साथ (कुछ स्केलिंग स्थिरांक से अलग) हम साथ समाप्त होते हैं $$ \log(e^{ab}+1) + \log(e^{-ab}+1) = \log\left[e^{ab}(e^{-ab}+1)\right] + \log(e^{-ab}+1) \\ = ab + 2\log(e^{-ab}+1) $$ तोह फिर $$ \frac{1}{2ab}x\log(e^{bx}+1)\bigg\vert_{-a}^a = \frac a2 + \frac 1b \log(e^{-ab}+1). $$ दूसरे कार्यकाल के लिए, हम बता सकते हैं $u = -e^{bx}$ तोह फिर $\frac 1{bu}\,\text du = \text dx$ मतलब$\newcommand{\Li}{\operatorname{Li}_2}$ $$ \int_{-a}^a \log(e^{bx} + 1)\,\text dx = -\frac 1b \int_{-e^{ab}}^{e^{ab}} \frac{\log(1-u)}u\,\text du \\ = \frac 1b\left[\Li(e^{ab}) - \Li(-e^{ab})\right] $$ कहां है $\Li$है dilogarithm कार्य करते हैं। सभी एक साथ इसका मतलब है$$ \E(X \sigma(X)) = \frac a2 + \frac 1b \log(e^{-ab}+1) + \frac{\Li(-e^{ab}) - \Li(-e^{-ab})}{2ab^2}. $$ मेरे पास फॉर्म का कुछ है $\Li(z) - \Li(1/z)$। इस तथ्य का उपयोग करना$$ \Li(z) + \Li(1/z) = -\frac{\pi^2}6 - \frac 12 \log^2(-z) $$ मैं इसे सिर्फ एक के साथ फिर से लिख सकता हूं $\Li$ इस में: $$ \E(X \sigma(X)) = \frac a2 + \frac 1b \log(e^{-ab}+1) + \frac{-\frac{\pi^2}6 - \frac 12 a^2b^2 - 2 \Li(-e^{-ab})}{2ab^2} \\ = \frac a4 + \frac 1b \log(e^{-ab}+1) - \frac{\pi^2 + 12 \Li(-e^{-ab})}{12ab^2}. $$ इसका मतलब यह है $$ \beta(a,b) = \frac{\frac a4 + \frac 1b \log(e^{-ab}+1) - \frac{\pi^2 + 12 \Li(-e^{-ab})}{12ab^2}}{a^2/3} \\ = \frac{3}{4a} + \frac{3}{a^2b}\log(e^{-ab}+1) - \frac{\pi^2 + 12 \Li(-e^{-ab})}{4a^3b^2}. $$

$\Li$ एक विशेष कार्य है और सामान्य रूप से प्राथमिक कार्यों के संदर्भ में व्यक्त नहीं किया जा सकता है, और चूंकि इसके लिए हल किया जा सकता है $\Li$ इसका मतलब है कि इसके लिए कोई सामान्य प्राथमिक अभिव्यक्ति नहीं है $\beta$। लेकिन हम इसका मूल्यांकन विशेष मूल्यों के लिए प्राथमिक कार्यों के संदर्भ में कर सकते हैं$a$ तथा $b$। ऐसा ही एक मूल्य है$$ \Li\left(-\varphi\right) = -\frac{\pi^2}{10} - \log^2\varphi $$ तो यदि $ab = -\log(\varphi)$ तब हम मूल्यांकन कर पाएंगे $\beta$प्राथमिक कार्यों के संदर्भ में। इस के एक उदाहरण के रूप में, हम ले सकते हैं$$ a = \sqrt 2 \\ b = -\frac 1{\sqrt 2}\log(\varphi). $$ हालांकि यह अभी भी एक बहुत ही गन्दा अभिव्यक्ति है, भले ही यह केवल प्राथमिक कार्यों के संदर्भ में हो।

अभिन्न को व्यक्त करने के लिए यह बहुत काम था $\int_{-a}^a \frac{x}{1+e^{-bx}}\,\text dx$ एक अलग अभिन्न के संदर्भ में, लेकिन मुझे लगता है कि मूल्य यह है कि यह दर्शाता है कि इसके लिए कोई बंद फ़ॉर्म नहीं है $\beta(a,b)$ हम गायब हैं, और यह एक अच्छी तरह से अध्ययन किए गए विशेष फ़ंक्शन से संबंधित है जिसमें उच्च गुणवत्ता वाले कार्यान्वयन उपलब्ध हैं।

यहां जांच के लिए एक सिमुलेशन है।

set.seed(111)
nsim <- 1e6
a <- 2.34
b <- 1.2
x <- runif(nsim, -a, a)
y <- 1 / (1 + exp(-b * x))

curve(plogis(b*x), -a, a, 500, col=4)
points(y[1:100]~x[1:100], cex=.5)

# I'm just integrating to avoid needing to load other libraries
Li2 <- function(z) -integrate(function(u) log(1-u)/u, 0, z)$value slopefunc <- function(a,b) { 3/(4*a) + 3 / (a^2 * b) * log(exp(-a*b) + 1) - (pi^2 + 12*Li2(-exp(-a*b))) / (4*a^3*b^2) } lm(y~x)$coef[2]
slopefunc(a,b)
cov(x, y) / var(x)