基函式我們選用基本的 1,x
xx,x
2x^2
x2, x
3x^3
x3函式我們設為
y =2
x3+x
+2
y = 2x^3+x+2
y=2x3+
x+2並加上乙個擾動
我們主要使用的最小二乘的逼近公式為:
a t∗
w∗a=
c∗
ba^t*w*a=c*b
at∗w∗a
=c∗b
a為基函式節點處的值所構成的列向量
w為權重矩陣,此處為單位陣
c為我們要求的係數
b為函式在節點處基函式與被逼近函式值的乘積矩陣
%a
a0 = ones(21,1);
a1 = linspace(0,1,21)';
a2 = a1.^2;
a3 = a1.^3;
a = [a0,a1,a2,a3]
%w權重矩陣
w = a0;
w = diag(w);
%正負一交替的數列
signs = (-1).^(1:21)
%函式值
b = (2*a1'.^3 + a1' + 2 + signs*0.0001)'
%利用normal_matrix*coefficient = b 求解係數
b = [b'*a0;b'*a1;b'*a2;b'*a3]
normal_matrix = a'*w*a;
%係數coefficient = inv(normal_matrix)*b
%函式值
coefficient_ = [coefficient(4);coefficient(3);coefficient(2);coefficient(1)]
y_pred = a*coefficient_
%%繪製圖形
figure(1)
plot(a1,b,'r');
hold on
plot(a1,y_pred,'b')
axis([0 1 1 6])
%其中紅線為原始函式,藍色的線為逼近的三次函式。
matlab偏最小二乘法
偏最小二乘是建立表到表的線性擬合關係,然後 的方法 處理高維資料 比如在光譜分析中,x是某物質的光譜樣本構成的訓練集,y是對應的成分資料,x是要 成分的光譜資料 function y5,s pls2 x,y,x y5,s pls2 x,y,x 參考自司守奎教材 偏最小而成回歸章節 x y 為模型生成...
Matlab實現最小二乘法
p polyfit x,y,n 最小二乘法計算擬合多項式係數。x,y為擬合資料向量,要求維度相同,n為擬合多項式次數。返回p向量儲存多項式係數,由最高次向最低次排列。y polyval p,x 計算多項式的函式值。返回在x處多項式的值,p為多項式係數,元素按多項式降冪排序。擬合以下資料 x 12 9...
最小二乘法
include stdafx.h include include const int n 2 const int m 5 int sgn double x void lss double g n 1 int xm,int xn,double x m double p,double w m lss函式...