【數(shù)理知識】最小二乘法琉历,從線性回歸出發(fā)旗笔,數(shù)值舉例并用最小二乘法求解回歸模型

序號 內(nèi)容
1 【數(shù)理知識】自由度 degree of freedom 及自由度的計算方法
2 【數(shù)理知識】剛體 rigid body 及剛體的運動
3 【數(shù)理知識】剛體基本運動蝇恶,平動撮弧,轉(zhuǎn)動
4 【數(shù)理知識】向量數(shù)乘贿衍,內(nèi)積贸辈,外積擎淤,matlab代碼實現(xiàn)
5 【數(shù)理知識】協(xié)方差嘴拢,隨機變量的的協(xié)方差炊汤,隨機變量分別是單個數(shù)字和向量時的協(xié)方差
6 【數(shù)理知識】旋轉(zhuǎn)矩陣的推導(dǎo)過程抢腐,基于向量的旋轉(zhuǎn)來實現(xiàn)迈倍,同時解決歐式變換的非線性局限

查了下自己的筆記啼染,之前在用 SG 濾波器時提到過最小二乘法迹鹅,這里放一下文章鏈接方便自己查閱:【UWB】Savitzky Golay filter SG濾波器原理講解斜棚。

@[toc]

最小二乘法(Least Squared Method)是一種數(shù)學(xué)優(yōu)化技術(shù)弟蚀,用于最小化預(yù)測值與真實值之間的差異(通常表示為殘差平方和的形式)义钉。

最小二乘法的核心思想是:通過最小化預(yù)測值和真實值之間的差異的平方和捶闸,來找到模型最佳的參數(shù)值鉴嗤。

因為最小二乘法就是一門優(yōu)化技術(shù)醉锅,單純的討論最小二乘法比較枯燥硬耍。因此经柴,將最小二乘法應(yīng)用在回歸分析中的線性回歸坯认,幫助求解出回歸模型的最佳參數(shù),這樣的方式可以更好的理解最小二乘法的思想劳吠。

回歸分析的最初目的是估計模型的參數(shù)以便達到對數(shù)據(jù)的最佳擬合。在很多情況下蠢古,特別是在線性回歸中草讶,最小二乘法可以為我們提供一個封閉的到涂、解析的解決方案來尋找最佳參數(shù)。因此沉御,最小二乘法經(jīng)常用于擬合直線和多項式得到一組數(shù)據(jù)點吠裆,從而預(yù)測或解釋變量的行為试疙。


接下來祝旷,將先闡述線性回歸怀跛,并闡述兩個簡單的線性回歸模型吻谋。然后舉具體的例子漓拾,通過最小二乘法的思想求解出最佳模型參數(shù)骇两,從而實現(xiàn)對使用最小二乘法求解模型參數(shù)的理解哟旗。


1. 線性回歸

討論線性回歸(Linear Regression)時闸餐,同時結(jié)合回歸分析(Regression Analysis)一起討論下舍沙。

線性回歸和回歸分析都是統(tǒng)計學(xué)中常用的方法,但它們之間存在一些關(guān)鍵的區(qū)別:

在定義上剔宪,

  • 線性回歸:線性回歸是一個預(yù)測方法拂铡,它試圖找到一個線性函數(shù)(對于簡單線性回歸)或多個線性函數(shù)(對于多元線性回歸),這些函數(shù)可以最好地描述兩個(或更多)變量之間的關(guān)系葱绒。
  • 回歸分析:回歸分析是一個更廣泛的術(shù)語感帅,用于描述一個變量(或多個變量)與一個或多個其他變量之間關(guān)系的統(tǒng)計方法。線性回歸只是回歸分析中的一種形式地淀。

在類型方面,

  • 線性回歸:主要關(guān)注線性關(guān)系帮毁。
  • 回歸分析:可以包括線性回歸实苞、多項式回歸、邏輯回歸烈疚、嶺回歸等多種類型黔牵。

在目的上,

  • 線性回歸:預(yù)測或解釋一個響應(yīng)變量和一個或多個預(yù)測變量之間的關(guān)系爷肝。
  • 回歸分析:探索和建模變量之間的關(guān)系猾浦,這可能是線性的、非線性的阶剑,或者是其他的關(guān)系跃巡。

在應(yīng)用上,

  • 線性回歸:當(dāng)我們認為變量之間存在線性關(guān)系時牧愁,通常使用線性回歸素邪。
  • 回歸分析:可以應(yīng)用于各種關(guān)系,包括但不限于線性關(guān)系猪半。

簡而言之兔朦,線性回歸是回歸分析的一個子集偷线。回歸分析包括多種方法沽甥,用于模擬和解釋變量之間的關(guān)系声邦,而線性回歸專門關(guān)注線性關(guān)系。


給一個隨機樣本(y, x_1, x_2, \cdots)摆舟,一個線性回歸模型假設(shè)
響應(yīng)變量(通常稱為因變量或目標(biāo))y
解釋變量(通常稱為自變量或特征)x_1, x_2, \cdots
之間的關(guān)系除了受到解釋變量的影響之外亥曹,還有其它變量的存在。我們加入一個誤差項 \epsilon (也是一個隨機變量)來捕獲除了 x_1, x_2, \cdots 之外任何對 y 的影響恨诱。


不過在本文的分析中媳瞪,我們主要是為了學(xué)習(xí)回歸模型,故簡化掉誤差項 \epsilon 的影響照宝。

同時蛇受,根據(jù)解釋變量數(shù)目的不同,線性回歸模型還分為了簡單線性回歸和多元線性回歸厕鹃。


1. 簡單線性回歸模型

描述了一個響應(yīng)變量 y 和一個解釋變量 x 之間的關(guān)系兢仰。

假設(shè)這種關(guān)系是線性的,也就是一次函數(shù)

\begin{aligned} y &= \beta _0 + \beta_1 x \end{aligned}

其中 y 是響應(yīng)變量剂碴,x 是解釋變量把将,\beta_0\beta_1 是回歸系數(shù)。


2. 多元線性回歸模型

描述了一個響應(yīng)變量 y 和兩個或兩個以上解釋變量 x_1, x_2, \cdots 之間的關(guān)系忆矛。

\begin{aligned} y &= \beta _0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_p x_p \end{aligned}


2. 從線性回歸到最小二乘法秸弛,數(shù)值舉例并用最小二乘法求解回歸模型

最小二乘法的核心思想是尋找能使預(yù)測誤差平方和最小化的模型參數(shù)。

具體來說洪碳,考慮一個簡單的線性模型:

\begin{aligned} y &= \beta _0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_p x_p \end{aligned}

我們的目標(biāo)是找到一組 \beta 值,使得預(yù)測值 \hat{y} = \beta _0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_p x_p 與實際值 y 之間的差異最小叼屠。這種差異可以通過殘差平方和(RSS)來衡量:

\text{RSS} = \sum_{i=1}^{n} (y - \hat{y}_i)^2

最小二乘法的目標(biāo)是最小化 RSS瞳腌。具體來說就是通過尋找能最小化 RSS 的 \beta 值來實現(xiàn)。

最小二乘法背后的直觀思想是盡量找到一個模型镜雨,使得預(yù)測值盡量接近觀測值嫂侍。這種方法是在基于誤差平方損失的情況下得出的。

接下來通過舉具體的數(shù)值例子荚坞,觀察最小二乘法的作用挑宠。


1. 單解釋變量,單響應(yīng)變量

這種單解釋變量單響應(yīng)變量的回歸模型颓影,可以用公式表征為

y = \beta_0 + \beta_1 x


假設(shè)一個簡單線性回歸模型 y = \beta_0 + \beta_1 x各淀,在實驗中得到了四個數(shù)據(jù)點(x,y):(1,6)(2,5)(3,7)(4,10),找到最佳的匹配參數(shù) \beta_0, \beta_1诡挂。

分別將數(shù)據(jù)點代入到此線性回歸模型中有
\begin{aligned} \beta_0 + \beta_1 1 &= 6 \\ \beta_0 + \beta_1 2 &= 5 \\ \beta_0 + \beta_1 3 &= 7 \\ \beta_0 + \beta_1 4 &= 10 \end{aligned}

最小二乘法采用的方法就是盡量使等號兩邊差的平方最小碎浇,也就是找出如下函數(shù)的最小值:
\begin{aligned} S(\beta_0, \beta_1) &= [6 - (\beta_0 + \beta_1 1)]^2 \\ &+ [5 - (\beta_0 + \beta_1 2)]^2 \\ &+ [7 - (\beta_0 + \beta_1 3)]^2 \\ &+ [10 - (\beta_0 + \beta_1 4)]^2 \end{aligned}

% 初始化符號變量
syms beta_0 beta_1 real

% 定義你的公式
f = (6 - (beta_0 + beta_1 * 1))^2 ... 
  + (5 - (beta_0 + beta_1 * 2))^2 ... 
  + (7 - (beta_0 + beta_1 * 3))^2 ... 
  + (10 - (beta_0 + beta_1 * 4))^2;

% 展開公式
f_expanded = expand(f);

% 你可以嘗試進一步簡化它临谱,但是否能簡化到所需的形式是不確定的
f_simplified = simplify(f_expanded);

% 輸出結(jié)果
disp(f_expanded);
disp(f_simplified);
>>
4*beta_0^2 + 20*beta_0*beta_1 - 56*beta_0 + 30*beta_1^2 - 154*beta_1 + 210
 
4*beta_0^2 + 20*beta_0*beta_1 - 56*beta_0 + 30*beta_1^2 - 154*beta_1 + 210

最小值可以通過對 S(\beta_0, \beta_1) 分別求 \beta_0\beta_1 的偏導(dǎo)數(shù),并令其等于零得到奴璃。

\begin{aligned} \frac{\partial S(\beta_0, \beta_1)}{\partial \beta_0} &= 8 \beta_0 + 20 \beta_1 - 56 = 0 \\ \frac{\partial S(\beta_0, \beta_1)}{\partial \beta_1} &= 20 \beta_0 + 60 \beta_1 - 154 = 0 \end{aligned}

% 對 b0 求偏導(dǎo)數(shù)
df_dbeta_0 = diff(f, beta_0);

% 對 b1 求偏導(dǎo)數(shù)
df_dbeta_1 = diff(f, beta_1);

disp(df_dbeta_0)

disp(df_dbeta_1)
>> 
8*beta_0 + 20*beta_1 - 56
20*beta_0 + 60*beta_1 - 154

通過求解上述二元一次方程可以得到

\begin{aligned} \beta_0 &= 3.5 \\ \beta_1 &= 1.4 \end{aligned}

% 設(shè)置偏導(dǎo)數(shù)等于零并求解
solutions = solve([df_dbeta_0 == 0, df_dbeta_1 == 0], [beta_0, beta_1]);

% 輸出解
disp(solutions.beta_0);

disp(solutions.beta_1);
>>
7/2
 
7/5

因此最佳回歸模型為 y = 3.5 + 1.4 x悉默。

x = [1  2  3  4]';
y = [6  5  7  10]';

plot_x = linspace(1,4,50);
plot_y = 3.5 + 1.4 * plot_x;

scatter(x(1), y(1)); hold on;
scatter(x(2), y(2));
scatter(x(3), y(3));
scatter(x(4), y(4));
plot(plot_x, plot_y);
xlabel("$x$", "Interpreter","latex", "FontSize",16);
ylabel("$y$", "Interpreter","latex", "FontSize",16);
grid on;
image.png

2. 多解釋變量,單響應(yīng)變量

這種多解釋變量單響應(yīng)變量的回歸模型苟穆,可以用公式表征為

y = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \cdots + \beta_p x_p


同樣基于上述回歸模型抄课,我們這里取解釋變量的個數(shù)為 p = 2,那么有 y = \beta_0 + \beta_1 x_1 + \beta_2 x_2雳旅,在實驗中得到了四個數(shù)據(jù)點(x_1, x_2, y):(1,3,6)(2,4,5)(3,5,7)(4,8,10)跟磨,找到最佳的匹配參數(shù) \beta_0, \beta_1, \beta_2

分別將數(shù)據(jù)點代入到此線性回歸模型中有
\begin{aligned} \beta_0 + \beta_1 1 + \beta_2 3 &= 6 \\ \beta_0 + \beta_1 2 + \beta_2 4&= 5 \\ \beta_0 + \beta_1 3 + \beta_2 5&= 7 \\ \beta_0 + \beta_1 4 + \beta_2 8&= 10 \end{aligned}

得到差的函數(shù)有

\begin{aligned} S(\beta_0, \beta_1, \beta_2) &= [6 - (\beta_0 + \beta_1 1 + \beta_2 3)]^2 \\ &+ [5 - (\beta_0 + \beta_1 2 + \beta_2 4)]^2 \\ &+ [7 - (\beta_0 + \beta_1 3 + \beta_2 5)]^2 \\ &+ [10 - (\beta_0 + \beta_1 4 + \beta_2 8)]^2 \end{aligned}

syms beta_0 beta_1 beta_2 real

f = (6 - (beta_0 + beta_1 * 1 + beta_2 * 3))^2 ...
  + (5 - (beta_0 + beta_1 * 2 + beta_2 * 4))^2 ...
  + (7 - (beta_0 + beta_1 * 3 + beta_2 * 5))^2 ... 
  + (10 - (beta_0 + beta_1 * 4 + beta_2 * 8))^2;

f_expanded = expand(f);

disp(f_expanded);
>> 
4*beta_0^2 + 20*beta_0*beta_1 + 40*beta_0*beta_2 - 56*beta_0 + 30*beta_1^2 + 116*beta_1*beta_2 - 154*beta_1 + 114*beta_2^2 - 306*beta_2 + 210

分別求偏導(dǎo)數(shù)岭辣,并令其等于零
\begin{aligned} \frac{\partial S(\beta_0, \beta_1, \beta_2)}{\partial \beta_0} &= 8 \beta_0 + 20 \beta_1 + 40 \beta_2 - 56 = 0 \\ \frac{\partial S(\beta_0, \beta_1, \beta_2)}{\partial \beta_1} &= 20 \beta_0 + 60 \beta_1 + 116 \beta_2 - 154 = 0 \\ \frac{\partial S(\beta_0, \beta_1, \beta_2)}{\partial \beta_2} &= 40 \beta_0 + 116 \beta_1 + 228 \beta_2 - 306 = 0 \end{aligned}

df_dbeta_0 = diff(f, beta_0);
df_dbeta_1 = diff(f, beta_1);
df_dbeta_2 = diff(f, beta_2);

disp(df_dbeta_0)
disp(df_dbeta_1)
disp(df_dbeta_2)
>> 
8*beta_0 + 20*beta_1 + 40*beta_2 - 56
20*beta_0 + 60*beta_1 + 116*beta_2 - 154
40*beta_0 + 116*beta_1 + 228*beta_2 - 306

求解上述三元一次方程可以得到

\begin{aligned} \beta_0 &= 2 \\ \beta_1 &= -1 \\ \beta_2 &= 1.5 \end{aligned}

solutions = solve([df_dbeta_0 == 0, df_dbeta_1 == 0, df_dbeta_2 == 0], [beta_0, beta_1, beta_2]);

disp(solutions.beta_0);
disp(solutions.beta_1);
disp(solutions.beta_2);
>>
2
-1
3/2

因此最佳回歸模型為 y = 2 - x_1 + 1.5 x_2吱晒。

x_1 = [1  2  3  4]';
x_2 = [3  4  5  8]';
y = [6  5  7  10]';

plot_x_1 = linspace(1,4,50);
plot_x_2 = linspace(3,8,50);
plot_y = 2 - 1 * plot_x_1 + 1.5 * plot_x_2;

figure()
subplot(2,2,1)
scatter3(x_1(1), x_2(1), y(1)); hold on;
scatter3(x_1(2), x_2(2), y(2));
scatter3(x_1(3), x_2(3), y(3));
scatter3(x_1(4), x_2(4), y(4));
plot3(plot_x_1, plot_x_2, plot_y);
xlabel("$x_1$", "Interpreter","latex", "FontSize",16);
ylabel("$x_2$", "Interpreter","latex", "FontSize",16);
zlabel("$y$", "Interpreter","latex", "FontSize",16);
grid on;

subplot(2,2,2)
scatter(x_1(1), y(1)); hold on;
scatter(x_1(2), y(2));
scatter(x_1(3), y(3));
scatter(x_1(4), y(4));
plot(plot_x_1, plot_y);
xlabel("$x_1$", "Interpreter","latex", "FontSize",16);
ylabel("$y$", "Interpreter","latex", "FontSize",16);
grid on;

subplot(2,2,3)
scatter(x_2(1), y(1)); hold on;
scatter(x_2(2), y(2));
scatter(x_2(3), y(3));
scatter(x_2(4), y(4));
plot(plot_x_2, plot_y);
xlabel("$x_2$", "Interpreter","latex", "FontSize",16);
ylabel("$y$", "Interpreter","latex", "FontSize",16);
grid on;

subplot(2,2,4)
scatter(x_1(1), x_2(1)); hold on;
scatter(x_1(2), x_2(2));
scatter(x_1(3), x_2(3));
scatter(x_1(4), x_2(4));
plot(plot_x_1, plot_x_2);
xlabel("$x_1$", "Interpreter","latex", "FontSize",16);
ylabel("$x_2$", "Interpreter","latex", "FontSize",16);
grid on;
image.png

Ref

  1. 回歸分析 - WikiPedia
  2. 線性回歸 - WikiPedia
  3. 什么是線性回歸?
  4. 最小二乘法 - WikiPedia

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末沦童,一起剝皮案震驚了整個濱河市仑濒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌偷遗,老刑警劉巖墩瞳,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異氏豌,居然都是意外死亡喉酌,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門泵喘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來泪电,“玉大人,你說我怎么就攤上這事纪铺∠嗨伲” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵鲜锚,是天一觀的道長突诬。 經(jīng)常有香客問我,道長芜繁,這世上最難降的妖魔是什么旺隙? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮骏令,結(jié)果婚禮上蔬捷,老公的妹妹穿的比我還像新娘。我一直安慰自己伏社,他們只是感情好抠刺,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布塔淤。 她就那樣靜靜地躺著,像睡著了一般速妖。 火紅的嫁衣襯著肌膚如雪高蜂。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天罕容,我揣著相機與錄音备恤,去河邊找鬼。 笑死锦秒,一個胖子當(dāng)著我的面吹牛露泊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播旅择,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼惭笑,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了生真?” 一聲冷哼從身側(cè)響起沉噩,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎柱蟀,沒想到半個月后川蒙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡长已,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年畜眨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片术瓮。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡康聂,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出胞四,到底是詐尸還是另有隱情早抠,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布撬讽,位于F島的核電站,受9級特大地震影響悬垃,放射性物質(zhì)發(fā)生泄漏游昼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一尝蠕、第九天 我趴在偏房一處隱蔽的房頂上張望烘豌。 院中可真熱鬧,春花似錦看彼、人聲如沸廊佩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽标锄。三九已至顽铸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間料皇,已是汗流浹背缤至。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工碉克, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓细层,卻偏偏與公主長得像,于是被迫代替她去往敵國和親韧献。 傳聞我的和親對象是個殘疾皇子舌劳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容