我知道 Python 内置了许多概率函数,以及该random
模块。
我想知道,给定一个浮点数列表,是否有可能找到最适合该列表的分布方程?
我不知道 numpy 是否这样做,但这个函数可以与 Excel 的“趋势”函数进行比较(不相等,但相似)。
我该怎么做?
我知道 Python 内置了许多概率函数,以及该random
模块。
我想知道,给定一个浮点数列表,是否有可能找到最适合该列表的分布方程?
我不知道 numpy 是否这样做,但这个函数可以与 Excel 的“趋势”函数进行比较(不相等,但相似)。
我该怎么做?
numpy.polyfit(x, y, deg, rcond=None, full=False)
最小二乘多项式拟合。
将 deg 度的多项式 p(x) = p[0] * x**deg + ... + p[deg] 拟合到点 (x, y)。返回最小化平方误差的系数 p 向量。
您可能想尝试 statsmodels.tsa 中的时间序列分析。查看下面的代码:
from statsmodels.tsa.seasonal import seasonal_decompose
decomp = seasonal_decompose(df_train)
trend = decomp.trend
seasonal = decomp.seasonal
residual = decomp.resid
一个警告。我发现季节性部分不能很好地处理异质性——当你的周期函数幅度随时间增长时,这就是 si。它保持周期性幅度恒定(这是季节性的一部分),然后您的残差将显示出周期性效应。
还有curve_fit
from scipy.optimize import curve_fit