最小二乘 加權最小二乘 matlab實現

2021-09-26 21:15:11 字數 1873 閱讀 2680

最小二乘:最小二乘法(又稱最小平方法)是一種數學優化技術。它通過最小化誤差的平方和尋找資料的最佳函式匹配。利用最小二乘法可以簡便地求得未知的資料,並使得這些求得的資料與實際資料之間誤差的平方和為最小 。

最小二乘法還可用於曲線擬合,其他一些優化問題也可通過最小化能量或最大化熵用最小二乘法來表達。

加權最小二乘法:一般最小二乘法將時間序列中的各項資料的重要性同等看待,而事實上時間序列各項資料對未來的影響作用應是不同的。一般來說,近期資料比起遠期資料對未來的影響更大。因此比較合理的方法就是使用加權的方法,對近期資料賦以較大的權數,對遠期資料則賦以較小的權數。加權最小二乘法採用指數權數w。

此處不做推導,網上一大堆,可自行查閱。

此處權重設定為:w(i,i) = 0.95^i;

若權重設定為w(i,i) = 1;,那麼它就是普通的最小二乘 t.t!。

function [fity] = weightedleastsquares(x, y, order, fitx)

% x/y: data of coordinate-x/y, (需要處理的座標資料)

% polynomial of (order_num) order,(擬合多項式-階數)

% return fity (返回值為擬合後的y座標)

k = size(x, 2);

% construct the matrix x0

x0 = zeros(order + 1, k);

for k0 = 1:k

for n0 = 1 : order+1

x0(n0, k0) = x(k0)^(order + 1 - n0);

endend

x = x0';

% construction weight matrix (這裡就是最重要的權重係數)

% w : i/k or (i/k)^2 or (i/k)^3

w = zeros(k);

for i = 1:k

% w(i,i) = 1;

% w(i,i) = i/k;

w(i,i) = 0.95^i;

end% coefficients of eigenvalues

coeff = (x'*w*x) \ x'*w*y';

% coefficient initialization && constructing polynomial equation

fity = coeff(1) * fitx.^order;

for i = 2:1:order+1

fity = fity + coeff(i)*fitx.^(order+1-i);

end

end

輸入一組座標,計算一二階對應擬合結果。 

最小二乘和加權最小二乘的原理與實現

已知有一組資料,在座標系中表示成一組點集n。現在的目標是估計出一條經過點集n的直線,要求直線滿足一定的準則。不同的準則最後定義不同的優化方法,這裡我們通過定義兩種不 同的準則,來引出最小二乘和加權最小二乘的介紹。首先回到直線擬合的這個問題中來。一般假設點集n中的點是通過對直線進行取樣獲得,通常 取樣...

最小二乘擬合 6 7 最小二乘擬合問題

資料擬合問題的一般形式 任給一組離散資料 注 這裡的擬合函式不一定為多項式函式 記殘量的平方和為 求使得殘量平方和最小得一組係數就是線性最小二乘問題,為最小二乘問題得基函式,求得的擬合函式為資料的最小二乘擬合。求解 利用偏導數為零得到極值點的原理可以得到最小二乘問題滿足的方程組,求解方程組中未知係數...

普通最小二乘法 加權最小二乘法 廣義最小二乘法

所謂回歸分析實際上就是根據統計資料建立乙個方程,用這個方程來描述不同變數之間的關係,而這個關係又無法做到想像函式關係那樣準確,因為即使你重複全部控制條件,結果也還有區別,這時通過讓回歸方程計算值和試驗點結果間差值的平方和最小來建立 回歸方程的辦法就是最小二乘法,二乘的意思就是平方。最小二乘就是指回歸...