最小平方法python

最小平方法是一種常用的統計方法,用於估計數據的最佳線性模型參數。在Python中,可以使用NumPy和SciPy庫來實現最小平方法。

以下是一個使用NumPy和SciPy庫實現最小平方法的示例代碼:

import numpy as np
from scipy.optimize import minimize

# 定義目標函式,即最小平方法的目標函式
def objective(x, data):
    # x為模型參數向量,data為數據矩陣
    y_pred = np.dot(x, data.T)
    return np.sum((y_pred - data)**2)

# 定義約束條件,即模型參數的邊界
x0 = np.array([1, 1])  # 初始參數值
bounds = ((0, None), (0, None))  # 參數的邊界

# 調用minimize函式求解最小平方法的最優解
result = minimize(objective, x0, bounds=bounds)

# 輸出最優解和對應的參數值
print("最優解:", result.x)
print("對應的參數值:", result.fun)

在上述代碼中,我們首先定義了一個目標函式objective,該函式計算預測值與實際值之間的平方誤差總和,這是最小平方法的目標函式。然後,我們定義了約束條件,即模型參數的邊界。接著,我們調用minimize函式求解最小平方法的最優解,並將結果輸出。

需要注意的是,上述代碼中的模型參數向量x是一個一維數組,表示線性模型的係數向量。在實際套用中,需要根據具體問題來定義模型參數向量的維度和取值範圍。同時,數據矩陣data需要根據實際情況進行定義和預處理。