2017-12-16 6 views
1

는이 같은 뭔가 scipy의 linregress()를 사용하여 내 데이터에서 최소 제곱 라인에 맞게하기 위해 노력하고있어 :선형 회귀 분석에서 y 절편 값을 수정하는 방법은 무엇입니까?

from scipy import stats 
import numpy as np 

y = [30, 60, 19, 28, 41, 49, 62, 75, 81] 
x = np.arange(0,9) 

grad, intercept, r_value, p_value, std_err = stats.linregress(x,y) 

그러나 나는 또한 특정 지점에서 y 절편을 수정하고 싶습니다.

이상적으로는 y 목록의 첫 번째 값에서 수정하는 것이 좋습니다. 다시 말해, 내가 실제로하려고하는 것은 y 목록의 첫 번째 값 (내 예에서는 30)을 통과하는 최적의 맞춤 선을 원한다는 것입니다.

그러나 Scipy가 나를위한 y 절편을 결정하는 것처럼 보입니다.

scipy의 선형 회귀 분석법에서 y 절편을 특정 값으로 고정하는 방법은 무엇입니까?

PS : 저는 또한 통계 모델의 OLS를 사용해 보았습니다. 그러나 y- 절편 = 0에 머무르거나 나에게 가장 좋은 절편을 결정하게했습니다. statsmodels에서

답변

2

당신은 원점 그래서 제로 y로 이동하고, 절편 제외 할 수 x는 회귀 절편이없는 (사람의 열)를 포함

res = OLS(y - 30., x).fit() 

합니다. 이어서 해석 우리, BSE, tvalues, pvalues ​​및 rsquared 등에 적합 통계 같은 30

y_predicted = 30 + res.predict(...) 

거의 모든 통계 편차를 예측 시프트 고정되어 일정한 가정 위치의 변화와 무관하다는 것이다 값. 이러한 포물선과 같은 다항식으로

0

:

Y는 + bX가이 = + CX^

이 때 X = 0, 다음, Y = A와 그래서 다항식 피팅되어 사용할 수 있는지 a에 대한 고정 값인 Y 절편을 원하는 모든 값과 동일하게 만들 수 있습니다.

Y = 7.5 + bX가 CX +^2

후 상기 식에 대한 장착 절편 것이다 7.5는 방정식에 데이터를 맞으면 또, 포물선의 예를 사용.