आर

2015-12-22 13 views
5

में रैखिक प्रतिगमन करते समय प्रयोगात्मक अनिश्चितता का उपयोग करना मेरे पास एक प्रयोगात्मक डेटा सेट है जिसे मैं बहुपद के लिए फिट करना चाहता हूं। डेटा उदाहरण के लिए, एक स्वतंत्र चर, आश्रित चर और बाद की माप में एक अनिश्चितता शामिलआर

2000 0.2084272 0.002067834 
2500 0.207078125 0.001037248 
3000 0.2054202 0.001959138 
3500 0.203488075 0.000328942 
4000 0.2013152 0.000646088 
4500 0.198933825 0.001375657 
5000 0.196375 0.000908696 
5500 0.193668575 0.00014721 
6000 0.1908432 0.000526976 
6500 0.187926325 0.001217318 
7000 0.1849442 0.000556495 
7500 0.181921875 0.000401883 
8000 0.1788832 0.001446992 
8500 0.175850825 0.0
9000 0.1728462 0.001676249 
9500 0.169889575 0.001011735 
10000 0.167  0.000326678 

(कॉलम एक्स, y, + -y)।

मैं उदाहरण

के लिए
mydata = read.table("example.txt") 
model <- lm(V2~V1+I(V1^2)+I(V1^3)+I(V1^4), data = mydata) 

साथ एक बहुपद फिट ऊपर का उपयोग कर बाहर ले जा सकता है, लेकिन इस अनिश्चितता मूल्यों का उपयोग नहीं करता है। मैं आर को कैसे सूचित करूं कि डेटा सेट का तीसरा कॉलम अनिश्चितता है और इसलिए इसे रीग्रेशन विश्लेषण में उपयोग किया जाना चाहिए?

+0

ध्यान दें कि यहां डेटा 'नकली' कर रहे हैं, पर आधारित है लेकिन असली बात का उपयोग नहीं। –

+0

आप अनिश्चितता का उपयोग कैसे करना चाहते हैं? एक और स्वतंत्र चर के रूप में? कुछ और के रूप में? और कृपया अपने आप को एक पक्ष करो, और डेटा संलग्न करने की आदत में न आएं। यह आपके पर्यावरण को अव्यवस्थित करता है और उदाहरण के लिए समूहबद्ध डेटा और सॉर्टिंग के साथ मुद्दों का कारण बन सकता है। – Heroka

+0

@ हेरोका यह ग्राफिकल विश्लेषण कार्यक्रमों (उत्पत्ति, इगोर, ...) में काफी मानक है जो विश्लेषण में उपयोग किए जाने वाले कॉलम को अनिश्चितता के रूप में उपयोग किया जाता है: मैं कोई सांख्यिकीविद् नहीं हूं इसलिए मुझे नहीं पता कि इसका उपयोग कैसे किया जाता है। 'अटैचिंग' पर मुझे लगता है कि आपका मतलब है 'संलग्न करें (डेटा)': मुझे यह है कि _The R Book_ (2nd ed।, _e.g._ पृष्ठ 467) से, मान लीजिए (डी) यह मानक है। –

उत्तर

1

आश्रित चर में माप त्रुटि के साथ जो स्वतंत्र चर के साथ असंबद्ध है, अनुमानित गुणांक निष्पक्ष हैं लेकिन मानक त्रुटियां बहुत छोटी हैं। http://people.stfx.ca/tleo/econ370term2lec4.pdf

मुझे लगता है कि तुम सिर्फ() एल एम द्वारा गणना उन लोगों से मानक त्रुटियों समायोजित करने की आवश्यकता: यहाँ संदर्भ मैं इस्तेमाल किया (पेज 1 & 2) है। और यही वह है जो मैंने नीचे दिए गए कोड में करने की कोशिश की। मैं कोई स्टेट व्यक्ति नहीं हूं इसलिए आप क्रॉस को सत्यापित करने के लिए पोस्ट करना चाहेंगे और बेहतर अंतर्ज्ञान मांग सकते हैं।

नीचे दिए गए उदाहरण के लिए, मुझे लगता है कि "अनिश्चितता" कॉलम मानक विचलन (या मानक त्रुटि) है। सादगी के लिए, मैंने मॉडल को बस बदल दिया: y ~ x।

# initialize dataset 
df <- data.frame(
     x = c(2000,2500,3000,3500,4000,4500,5000,5500,6000,6500,7000,7500,8000,8500,9000,9500,10000), 
     y = c(0.2084272,0.207078125,0.2054202,0.203488075,0.2013152,0.198933825, 0.196375,0.193668575, 0.1908432, 0.187926325, 0.1849442, 0.181921875, 0.1788832, 0.175850825, 0.1728462,0.169889575, 0.167), 
     y.err = c(0.002067834, 0.001037248, 0.001959138, 0.000328942, 0.000646088, 0.001375657, 0.000908696, 0.00014721, 0.000526976, 0.001217318, 0.000556495, 0.000401883, 0.001446992, 0.0, 0.001676249, 0.001011735, 0.000326678) 
) 

df 

# model regression 
model <- lm(y~x, data = df) 
summary(model) 

# get the variance of the measurement error 
# thanks to: http://schools-wikipedia.org/wp/v/Variance.htm 
# law of total variance 
pooled.var.y.err <- mean((df$y.err)^2) + var((df$y.err)^2) 

# get variance of beta from model 
# thanks to: http://stats.stackexchange.com/questions/44838/how-are-the-standard-errors-of-coefficients-calculated-in-a-regression 
X <- cbind(1, df$x) 
#  (if you add more variables to the model you need to modify the following line) 
var.betaHat <- anova(model)[[3]][2] * solve(t(X) %*% X) 

# add betaHat variance to measurement error variance 
var.betaHat.adj <- var.betaHat + pooled.var.y.err 

# calculate adjusted standard errors 
sqrt(diag(var.betaHat.adj)) 

# compare to un-adjusted standard errors 
sqrt(diag(var.betaHat))