제로 오더를 가진 두 번째 차수 함수에 적합하려고합니다.2 차 함수를 피팅하는 데 제로 인터 셉션을 강제로 적용하는 방법은 무엇입니까? (Python)
y**2 = 14.29566 * np.pi * x
또는
y = np.sqrt(14.29566 * np.pi * x)
: 지금 나는 그것을 그릴 때, 나는 기능에 의해 포인트 출력 세트에 맞추려고 오전 Y-INT> 0으로 선을 얻고있다 D = 3.57391553 인 두 개의 데이터 세트 x 및 y로 변환합니다. 내 피팅 루틴은 다음과 같습니다
mod_ols = sm.OLS(y,x)
res_ols = mod_ols.fit()
하지만 선형 함수와 달리 2 차 함수의 계수를 생성하는 방법을 이해하지 않으며 방법 :
z = np.polyfit(x,y,2) # Generate curve coefficients
p = np.poly1d(z) # Generate curve function
xp = np.linspace(0, catalog.tlimit, 10) # generate input values
plt.scatter(x,y)
plt.plot(xp, p(xp), '-')
plt.show()
가 나는 또한 statsmodels.ols
를 사용하여 시도 y-int를 0으로 설정합니다. 비슷한 모양의 다른 게시물에서 선형 맞춤으로 0의 y-int를 처리하는 것을 보았습니다. 그러나 2 차 함수로이를 수행하는 방법을 파악할 수 없었습니다. 지금
플롯 :
데이터 : 난 당신이 OLS
과 다항식 회귀 라인에 맞게 원하는 제대로 이해하면
x = [0., 0.00325492, 0.00650985, 0.00976477, 0.01301969, 0.01627462, 0.01952954, 0.02278447,
0.02603939, 0.02929431, 0.03254924, 0.03580416, 0.03905908, 0.04231401]
y = [0., 0.38233801, 0.5407076, 0.66222886, 0.76467602, 0.85493378, 0.93653303, 1.01157129,
1.0814152, 1.14701403, 1.20905895, 1.26807172, 1.32445772, 1.3785393]
다항식 설계 행렬을 만들고 상수 열 x [:, 없음] ** np.arange (1, k + 1)을 제거하고 OLS를 사용하려면 np.vander를 사용하십시오. – user333700