2010-01-10 9 views
7

मैं scipy.stats.linregress के साथ एक अजीब स्थिति एक गलत मानक त्रुटि लौटने किया जा रहा है है:scipy linregress फ़ंक्शन गलत मानक त्रुटि वापसी?

from scipy import stats 
x = [5.05, 6.75, 3.21, 2.66] 
y = [1.65, 26.5, -5.93, 7.96] 
gradient, intercept, r_value, p_value, std_err = stats.linregress(x,y) 
>>> gradient 
5.3935773611970186 
>>> intercept 
-16.281127993087829 
>>> r_value 
0.72443514211849758 
>>> r_value**2 
0.52480627513624778 
>>> std_err 
3.6290901222878866 

एक्सेल जबकि निम्न रिटर्न:

slope: 5.394 

intercept: -16.281 

rsq: 0.525 

steyX: 11.696 

steyX, एक्सेल के मानक त्रुटि समारोह है लौटने 11.696 बनाम scipy 3.63। किसी को पता है कि यहाँ क्या हो रहा है? पाइपॉन, में एक रिग्रेशन की मानक त्रुटि प्राप्त करने का कोई वैकल्पिक तरीका Rpy पर जाये बिना?

उत्तर

4

आप statsmodels पैकेज की कोशिश कर सकते:

In [37]: import statsmodels.api as sm 

In [38]: x = [5.05, 6.75, 3.21, 2.66] 

In [39]: y = [1.65, 26.5, -5.93, 7.96] 

In [40]: X = sm.add_constant(x) # intercept 

In [41]: model = sm.OLS(y, X) 

In [42]: fit = model.fit() 

In [43]: fit.params 
Out[43]: array([ 5.39357736, -16.28112799]) 

In [44]: fit.rsquared 
Out[44]: 0.52480627513624789 

In [45]: np.sqrt(fit.mse_resid) 
Out[45]: 11.696414461570097 
+0

शानदार। धन्यवाद ars। वास्तव में मुझे क्या चाहिए। –

+0

मदद करने के लिए खुशी हुई। :) – ars

8

मुझे अभी विज्ञान विज्ञान उपयोगकर्ता समूह द्वारा सूचित किया गया है कि std_err यहां क्लासिक लाइन की मानक त्रुटि का प्रतिनिधित्व करता है, न कि एक्सेल के अनुसार अनुमानित वाई की मानक त्रुटि। फिर भी इस फ़ंक्शन के उपयोगकर्ताओं को सावधान रहना चाहिए, क्योंकि यह हमेशा इस लाइब्रेरी का व्यवहार नहीं था - यह एक्सेल के रूप में बिल्कुल आउटपुट करता था, और पिछले कुछ महीनों में परिवर्तन हुआ है।

वैसे भी अभी भी पायथन में STEYX के बराबर की तलाश है।

1

हाँ यह सच है - ढाल के मानक अनुमान क्या रिटर्न linregress है; अनुमान के मानक अनुमान (वाई) से संबंधित है, हालांकि, और आप ग्रेगेंट (एसईजी) की मानक त्रुटि को गुणा करके एसईई में वापस जा सकते हैं जो कि लिनरेग्रेस आपको देता है: SEG = SEE/sqrt (योग का औसत (एक्स - औसत एक्स) ** 2)

स्टैक एक्सचेंज लेटेक्स को संभाल नहीं करता है लेकिन गणित here है यदि आप रुचि रखते हैं, "नमूना डेटा का विश्लेषण करें" शीर्षक के तहत।

संबंधित मुद्दे