You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查看Polyfit拟合曲线方程、参数并显示数据点以预测2022数据

拟合曲线处理与数据预测方案

核心操作步骤

  • 提取Polyfit方程与参数:若使用Python的numpy.polyfit()函数,一阶线性拟合方程为 y = k*x + b,其中:
    • 斜率k:拟合返回的一阶系数
    • 截距b:拟合返回的常数项
      若是高阶拟合,方程形式为 y = a_n*x^n + ... + a_1*x + a_0,各阶系数可直接从numpy.polyfit()的返回结果中提取。
  • 显示被遮挡的数据点:在绘图代码中,将数据点绘制语句(如plt.scatter(x_data, y_data))放在拟合曲线绘制语句(如plt.plot(x_fit, y_fit))之前,或给数据点设置更大的标记尺寸(s参数)、高对比度颜色(如color='red'),避免被曲线遮挡。
  • 2022年数据预测:将x=2022代入拟合方程计算即可。比如一阶拟合时,直接计算 y_pred = k*2022 + b。

示例代码片段

import numpy as np
import matplotlib.pyplot as plt

# 示例原始数据
x_data = [2018, 2019, 2020, 2021]
y_data = [100, 120, 150, 180]

# 一阶线性拟合
coefficients = np.polyfit(x_data, y_data, 1)
k = coefficients[0]  # 斜率
b = coefficients[1]  # 截距
poly_eq = np.poly1d(coefficients)

# 预测2022年数据
y_2022 = poly_eq(2022)

# 绘图:先画数据点,再画拟合曲线
plt.scatter(x_data, y_data, color='red', s=50, label='原始数据点')
plt.plot(x_data, poly_eq(x_data), label=f'拟合曲线: y={k:.2f}x + {b:.2f}')
plt.legend()
plt.show()

# 输出关键结果
print(f"拟合方程: y = {k:.2f}x + {b:.2f}")
print(f"斜率: {k:.2f}")
print(f"截距: {b:.2f}")
print(f"2022年预测值: {y_2022:.2f}")

注:若为高阶拟合(如二阶),只需将np.polyfit()的第三个参数改为对应阶数,方程形式和预测逻辑同理。

内容的提问来源于stack exchange,提问作者Hakari Kinji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 22:50:28