拟合线未覆盖原始数据

时间:2019-04-14 19:39:23

标签: python non-linear-regression

我想预测能源数据集的年消耗量。可视化后,数据为非线性形式,可以通过对数求解。

但是我预测MSE值较高的模型的精度为0。我只是向您显示图表数据。拟合线不是从第一个值开始。它从y轴的中间开始到最后一个值。

适合vs.原始行:

import matplotlib.pyplot as plt
import scipy.optimize as optimize
import numpy as np
from scipy.optimize import curve_fit
# data
x=df_tot_ac['Year'].values
y=df_tot_ac['AC-Total'].values
plt.plot(x, y, 'ro', label="original data")

# curve fit

def log(x, a, b):
 return a+ b*np.log(x)

popt, pcov = curve_fit(log, x, y)#,  maxfev=1000)

t = np.linspace(2009,2018, 10)
plt.plot(t, log(t, *popt), label="Fitted Curve")
plt.legend(loc='lower right')
plt.show()

0 个答案:

没有答案