變數可以是矩陣嗎 矩陣形式下的最小二乘法推導

2021-10-14 17:15:11 字數 807 閱讀 8653

最常用的是普通最小二乘法(ordinary least square,ols):所選擇的回歸函式應該使所有觀察值的殘差平方和達到最小。

在擬合函式時,先假定函式的通用表示式。這裡以最簡單的一次函式為例。若 橫座標(自變數)為

則估計值

使得殘差和

最小,表示式如下:

現在需要求

的值。取何值時,殘差和

最小呢?

由於殘差和的表示式是二次函式,因此分別對

求偏導,使其等於0時,得到殘差和

的最小值。

整理後得

這裡有詳細推導

在一次函式的情況下,函式擬合需要計算兩個未知量。但若將一次函式推廣到高階函式,上述手工計算函式的未知係數未免太繁雜,需要乙個統一的公式使得計算機能夠幫助我們完成這部分任務。

在高階函式下

同理我們還是有

個自變數

和觀測值

和,不妨將上式寫成矩陣形式。

上述矩陣方程記為

觀測值

寫為向量的形式,記為

同樣,使得殘差的平方和最小

將上式右半部展開,得:

由於上式中間兩項互為轉置關係,而相乘的結果是乙個標量,原矩陣與其轉置相同。

可以對上式的

求偏導,使其偏導數為0即可得到最小殘差和平方

其中第二項為一次項,矩陣導數和標量的導數相同,第三項為常數項不參與求導,直接去掉。故上式化簡為:

根據矩陣的求導法則:

故因此殘差平方

和對各階係數

的偏導寫為:

化簡後,我們得到高階函式各項係數的最優取值

char可以是負數嗎

c語言標準中沒有規定char是signed char還是unsigned char,所以這就取決於編譯器的實現了。大部分編譯器預設情況下將char解釋為signed char,例如gcc和vc的編譯器,這很大程度上是因為int預設是signed。在程式中進行判斷的方法 include int mai...

檔案描述符可以是0嗎?

初接觸 unix 的人都會在教材中得到這樣的資訊 檔案描述符0 1和 2分別代表 stdin stdout 和stderr 所以,在我們自己的程式中往往都會避開這幾個 標準 的描述符。對於網路的操作,一般在 connect 或accept 後都會判斷 socket 描述符是否大於 0來決定網路連線是...

矩陣快速冪 3 3的矩陣,可以模擬成N N的矩陣

遇到類似斐波那契數列且為大數取模的問題,可以用矩陣的快速冪來做,舉個例子 首先,用個結構體來存矩陣 struct node 然後,用個子函式處理矩陣乘積取模的情況。node node mul node e1,node e2,ll mod 矩陣乘法運算 左乘 外加取模 return ff 最後就是矩陣...