[英]What does obs confidence interval in statsmodels linear regression in Python
[英]Confidence level smaller than 0 with python linear regression
我的以下股价df2 [x]为Y:
2018-09-05 6.22
2018-09-06 6.19
2018-09-07 6.22
2018-09-10 6.24
2018-09-11 6.24
...
2018-12-05 4.65
2018-12-14 0.00
将csvReader5 [x]卖空作为X:
2018-09-06 1.11
2018-09-07 1.04
2018-09-10 1.61
2018-09-11 1.52
2018-09-12 1.61
..
2018-12-05 0.98
2018-12-14 7.00
这是我用来计算置信度的代码
y = numpy.array(csvReader5[x]).reshape(-1,1)
X=numpy.array(df2[x]).reshape(-1,1)
X = preprocessing.scale(X)
X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size=0.2)
clf = LinearRegression()
clf.fit(X_train, y_train)
confidence = clf.score(X_test, y_test)
Out :-1.08
每次运行时,我得到的置信度都会改变,并且始终小于1。我认为置信度与R方差相同,因此应该始终在(0,1)之间吗?
从sklearn文档中:
score(X, y, sample_weight=None)
返回预测的确定系数R ^ 2。
系数R^2
定义为(1 - u/v)
,其中u是平方的残差和((y_true - y_pred) ** 2).sum()
,v是平方的总和((y_true - y_true.mean()) ** 2).sum()
。 最佳可能分数是1.0, 并且可能为负(因为模型可能会更糟) 。 不管输入特征如何,始终预测y的期望值的恒定模型将获得0.0的R ^ 2分数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.