1、偏最小二乘法简介
多对多线性回归建模的方法
特别当两组变量的个数很多,且都存在多重相关性,而观测数据的数量(样本量)又较少时,用偏最小二乘回归建立的模型具有传统的经典回归分析等方法所没有的优点。
2、代码实现
import numpy as np
from sklearn.cross_decomposition import PLSRegression
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
# 原始数据,自变量X和因变量y
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
y = np.array([1, 2, 3, 4])
# 对自变量进行标准化处理
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 创建PLSRegression对象,并指定主成分个数为2
pls = PLSRegression(n_components=2)
# 进行偏最小二乘回归分析
pls.fit(X_scaled, y)
# 获得预测值
y_pred = pls.predict(X_scaled)
# 绘制原始数据和预测值
plt.figure(figsize=(8, 6))
plt.scatter(y, y_pred, c='b', label='Predicted vs. Observed')
plt.plot([min(y), max(y)], [min(y), max(y)], 'k--', lw=2, label='Perfect Fit')
plt.xlabel('Observed')
plt.ylabel('Predicted')
plt.title('PLS Regression')
plt.legend()
plt.grid(True)
plt.show()
参考资料:
1、数学建模常用模型(九) :偏最小二乘回归分析
2、偏最小二乘(Partial Least Squares,PLS)原理及模型建立