कैसे एक प्रतिगमन फिट करने के लिए


9

मेरे पास कुछ समय श्रृंखला डेटा है जहां मापा चर असतत सकारात्मक पूर्णांक (गणना) है। मैं परीक्षण करना चाहता हूं कि क्या समय के साथ ऊपर की ओर प्रवृत्ति है (या नहीं)। स्वतंत्र चर (x) रेंज 0-500 में है और निर्भर चर (y) 0-8 की रेंज में है।

मुझे लगा कि मैं इसका उत्तर y = floor(a*x + b)साधारण कम से कम वर्ग (ओएलएस) का उपयोग करके प्रतिगमन को फिट करके देता हूं ।

आर (या पायथन) का उपयोग करके मैं यह कैसे करूँगा? क्या इसके लिए कोई मौजूदा पैकेज है, या क्या मैं अपना खुद का एल्गोरिदम लिखना बेहतर हूं?

पुनश्च: मुझे पता है कि यह आदर्श तकनीक नहीं है, लेकिन मुझे एक अपेक्षाकृत सरल विश्लेषण करने की आवश्यकता है जिसे मैं वास्तव में समझ सकता हूं - मेरी पृष्ठभूमि जीवविज्ञान है गणित नहीं। मुझे पता है कि मैं मापा चर में त्रुटि के बारे में मान्यताओं का उल्लंघन कर रहा हूं, और समय के साथ माप की स्वतंत्रता।


5
यद्यपि इस रूप के प्रतिगमन की कोशिश करना गणितीय रूप से स्वाभाविक है, इसके पीछे एक सांख्यिकीय गलती है: त्रुटि शब्द अब अनुमानित मूल्य के साथ दृढ़ता से सहसंबद्ध होगा। यह OLS मान्यताओं का एक बहुत मजबूत उल्लंघन है। इसके बजाय, गिग स्नो के उत्तर द्वारा सुझाई गई गिनती-आधारित तकनीक का उपयोग करें। (मैं खुशी, इस सवाल का upvoted हालांकि, क्योंकि यह कुछ वास्तविक विचार और चतुराई को दर्शाता है इसे यहाँ पूछने के लिए धन्यवाद।!)
whuber

जवाबों:


11

आप nls(गैर-रैखिक कम से कम वर्गों) फ़ंक्शन का उपयोग करके आपके द्वारा बताए गए मॉडल को फिट कर सकते हैं R, लेकिन जैसा कि आपने कहा कि कई मान्यताओं का उल्लंघन होगा और अभी भी शायद बहुत मतलब नहीं होगा (आप कह रहे हैं कि अनुमानित परिणाम एक कदम के आसपास यादृच्छिक है फ़ंक्शन, सुचारू रूप से बढ़ते रिश्ते के आसपास पूर्णांक मान नहीं)।

काउंट डेटा को फिट करने का अधिक सामान्य तरीका है, glmफंक्शन का उपयोग करते हुए पॉइसन रिग्रेशन का उपयोग करना R, हेल्प पेज पर पहला उदाहरण पॉइसन रिग्रेशन है, हालाँकि यदि आप आँकड़ों से परिचित नहीं हैं तो यह सुनिश्चित करने के लिए किसी सांख्यिकीविद् से सलाह लेना सबसे अच्छा होगा। आप चीजों को सही तरीके से कर रहे हैं।

यदि 8 का मान एक पूर्ण अधिकतम है (कभी भी एक उच्च गिनती देखने के लिए असंभव है, न कि सिर्फ यही देखा है) तो आप आनुपातिक बाधाओं लॉजिस्टिक प्रतिगमन पर विचार कर सकते हैं R, पैकेज में ऐसा करने के लिए कुछ उपकरण हैं , लेकिन आप यदि आप ऐसा करना चाहते हैं तो वास्तव में एक सांख्यिकीविद् को शामिल करना चाहिए।


"आप कह रहे हैं कि अनुमानित परिणाम एक चरण फ़ंक्शन के आसपास यादृच्छिक है, एक सुचारू रूप से बढ़ते रिश्ते के आसपास पूर्णांक मान नहीं" --- यह कुछ ऐसा है जिसे मैंने माना था। अंत में, मैं glm द्वारा पोइसन रिग्रेशन के साथ गया। इसकी सही पसंद नहीं है, लेकिन मुझे जो चाहिए उसके लिए "काफी अच्छा" है।
afaulconbridge

10

यह स्पष्ट है कि ग्रेग का सुझाव पहली कोशिश करने के लिए है: पॉयन प्रतिगमन कई ठोस में प्राकृतिक मॉडल है स्थितियों।

हालाँकि आप जिस मॉडल का सुझाव दे रहे हैं वह उदाहरण के लिए हो सकता है जब आप गोल डेटा का निरीक्षण करते हैं: iid सामान्य त्रुटियों ।

Yi=axi+b+ϵi,
ϵi

मुझे लगता है कि इसके साथ क्या किया जा सकता है, इस पर एक नज़र रखना दिलचस्प है। मैं को सामान्य सामान्य चर के cdf द्वारा निरूपित करता हूं । यदि , तो परिचित कंप्यूटर नोटेशन का उपयोग करके ।FϵN(0,σ2)

P(ax+b+ϵ=k)=F(kb+1axσ)F(kbaxσ)=pnorm(k+1axb,sd=σ)pnorm(kaxb,sd=σ),

आप डेटा बिंदुओं का निरीक्षण करते हैं । लॉग संभावना को यह कम से कम वर्गों के समान नहीं है। आप इसे एक संख्यात्मक विधि के साथ अधिकतम करने का प्रयास कर सकते हैं। यहाँ R में एक चित्रण है:(xi,yi)

(a,b,σ)=ilog(F(yib+1axiσ)F(yibaxiσ)).
log_lik <- function(a,b,s,x,y)
  sum(log(pnorm(y+1-a*x-b, sd=s) - pnorm(y-a*x-b, sd=s)));

x <- 0:20
y <- floor(x+3+rnorm(length(x), sd=3))
plot(x,y, pch=19)
optim(c(1,1,1), function(p) -log_lik(p[1], p[2], p[3], x, y)) -> r
abline(r$par[2], r$par[1], lty=2, col="red")
t <- seq(0,20,by=0.01)
lines(t, floor( r$par[1]*t+r$par[2]), col="green")

lm(y~x) -> r1
abline(r1, lty=2, col="blue");

गोल रैखिक मॉडल

लाल और नीले रंग में, रेखाएं इस संभावना के संख्यात्मक अधिकतमकरण द्वारा पाई जाती हैं, और कम से कम वर्ग। हरे रंग की सीढ़ी अधिकतम संभावना से पाए गए लिए ... यह सुझाव देता है कि आप कम से कम वर्गों का उपयोग कर सकते हैं, अनुवाद में 0.5 तक, और मोटे तौर पर एक ही परिणाम प्राप्त कर सकते हैं; या, वह कम से कम वर्ग अच्छी तरह से मॉडल जहां निकटतम पूर्णांक है। गोल डेटा इतनी बार मिले हैं कि मुझे यकीन है कि यह ज्ञात है और बड़े पैमाने पर अध्ययन किया गया है ...ax+bax+ba,bb

Yi=[axi+b+ϵi],
[x]=x+0.5

4
+1 मैं इस तकनीक से प्यार करता हूं और वास्तव में कुछ साल पहले एक जोखिम विश्लेषण पत्रिका के लिए इस पर एक पेपर प्रस्तुत किया था। (कुछ जोखिम विश्लेषकों को अंतराल-मूल्यवान डेटा में काफी रुचि है।) यह उनके दर्शकों के लिए "बहुत गणितीय" होने के रूप में खारिज कर दिया गया था। । :-( एक टिप:।। जब संख्यात्मक तरीकों का उपयोग कर, यह हमेशा समाधान के लिए मूल्यों को शुरू करने की आपूर्ति अच्छा करने के लिए एक अच्छा विचार है, फिर "पॉलिश" संख्यात्मक अनुकूलक के साथ उन मूल्यों को प्राप्त करने के लिए कच्चे डेटा को OLS लागू करने पर विचार उन्हें
whuber

हां, यह एक अच्छा सुझाव है। वास्तव में, उस मामले में मैं "यह काम करता है" पर जोर देने के लिए दूरस्थ मूल्यों का चयन करता है, लेकिन व्यवहार में आपके सुझाव एक बहुत ही सपाट क्षेत्र से शुरू होने से बचने के लिए एकमात्र समाधान होगा, डेटा के आधार पर ...
एल्विस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.