Python最小二乘法:用SciPy库轻松实现

在数据科学领域,最小二乘法是一种常用的回归分析技术,用于找到最符合给定数据集的直线或曲线。Python强大的SciPy库为实现最小二乘法提供了便捷的工具。

使用'scipy.optimize.leastsq'

'scipy.optimize'模块中的'leastsq'函数是执行最小二乘拟合的强大工具。以下是如何使用它来进行线性回归的示例:

import numpy as np
from scipy.optimize import leastsq

# 定义目标函数
def function_to_fit(parameters, x_data, y_data):
    a, b = parameters
    y_fit = a * x_data + b
    return y_fit - y_data

# 提供输入数据
x_data = np.array([1, 2, 3, 4, 5])
y_data = np.array([3, 5, 7, 9, 11])

# 初始参数猜测值
initial_guess = [1, 1]

# 使用最小二乘法拟合
optimized_parameters, _ = leastsq(function_to_fit, initial_guess, args=(x_data, y_data))

# 输出拟合结果
a_opt, b_opt = optimized_parameters
print(f'拟合结果:a = {a_opt}, b = {b_opt}')

在这个例子中:

  1. 我们定义了要拟合的目标函数'function_to_fit'。
  2. 提供了输入数据'x_data'和'y_data'。
  3. 设置了初始参数猜测值'initial_guess'。
  4. 调用'leastsq'函数执行最小二乘拟合,并将结果存储在'optimized_parameters'中。
  5. 最后,我们打印出拟合的参数值。

请记住,这只是一个简单的线性回归示例。'scipy.optimize'模块提供了丰富的函数,可以处理更复杂的最小二乘问题。


原文地址: https://www.cveoy.top/t/topic/RDk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录