2016-04-04 5 views

Antwort

4

: wie von Brian unterstreicht, ich den Code aus scipy Dokumentation hatte StatsModels 'RegressionResults hat eine conf_int() Methode. Hier ist ein Beispiel es (minimal modifizierte Version ihres Ordinary Least Squares Beispiels) mit:

import numpy as np, statsmodels.api as sm 

nsample = 100 
x = np.linspace(0, 10, nsample) 
X = np.column_stack((x, x**2)) 
beta = np.array([1, 0.1, 10]) 
e = np.random.normal(size=nsample) 

X = sm.add_constant(X) 
y = np.dot(X, beta) + e 

mod = sm.OLS(y, X) 
res = mod.fit() 
print res.conf_int(0.01) # 99% confidence interval 
+0

Ich würde mich freuen, wenn Sie einen Blick darauf werfen und Ihnen danken: https://stackoverflow.com/questions/44923808/missing-intercepts-of-ols-redress-model-in-python-statsmodels –

1

Sie können scipy die lineare Regression verwenden, die den r/p-Wert und Standardfehler tun berechnen: http://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.linregress.html

EDIT:

from scipy import stats 
import numpy as np 
x = np.random.random(10) 
y = np.random.random(10) 
slope, intercept, r_value, p_value, std_err = stats.linregress(x,y) 

confidence_interval = 2.58*std_err 
+0

Wie das Konfidenzintervall von 99% für die Steigung r/p-Wert und Standardfehler mit berechnen? – user2558053

+0

Wenn ich mich nicht irre, entspricht das 99% Konfidenzintervall einem 2.58 * stderr. Quelle: https://en.wikipedia.org/wiki/Confidence_interval – CoMartel

+0

Der r-Wert kann als Indikator für die Regression "Qualität" verwendet werden: je mehr es in der Nähe von 1 ist, desto besser ist die Regression. – CoMartel

Verwandte Themen