首页
/
每日頭條
/
科技
/
excel線性回歸預測
excel線性回歸預測
更新时间:2024-11-28 05:39:51

前面幾天的話題我接不下去了,今天轉台,寫個不是太複雜的内容

說起來,線性回歸這個東西我之前是寫過的,而且仔細算算的話恐怕還不止一次,但是到今天再回過頭去翻翻自己當時(大概兩個月前)寫的東西,感覺自己之前學的也好,用的也好,都還挺淺的——即使現在也深不到哪兒去

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)1

我特意去翻出了兩個月前頭回寫線性回歸時編的那個例子:

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)2

答案我也先放出來,以便後面檢查:

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)3

當時還挺自以為是的用了幾種不同的方式來做,但今天不啰嗦那麼多,就隻補充一種比較騷氣的計算方法——用數組和向量來計算線性回歸公式裡的系數(a和b)

公式就一個,是從書上來的:

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)4

上标T表示矩陣行列轉置,對應Excel公式TRANSPOSE(行列位置交換)

上标-1表示矩陣求逆,對應Excel公式MINVERSE

請注意一個特殊的地方,由于整個公式是矩陣/向量級别的計算,所以裡面的乘号不是指一般的乘法,而是矩陣乘法公式MMULT,而且,更更更關鍵的部分是,矩陣乘法是不支持交換律的(也就是AxB不等于BxA),所以,計算乘法的順序從左到右一點都不能亂了——否則就會像我一樣公式打錯一卡住就半個多小時T-T

開始之前,還有點準備工作要做,那就是去平均值(x列y列各自減掉它們的平均值)

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)5

為什麼咧?因為書上用的這個公式是基于一個假設推導出來的,這個假設為:

y向量= 系數向量T * x向量

發覺沒,這裡面沒有常數項b,也可以說,它假設了b=0,解釋得再完整點,就是假設拟合出來的直線100%經過坐标原點(0,0)

所以,不要太着急,在這裡做去平均值還是非常有用的,因為它能幫我們把整個坐标的原點移到散點圖的中間,畫個圖給大家理解一下:

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)6

然後,按着公式做矩陣計算,這裡為了寫得簡單點,公式前面标識的x指的都是已經去平均後的x-m

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)7

公式部分給大家放大一點:

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)8

到這裡計算就結束了,但是,為什麼要用這麼麻煩的解法來計算一條直線呢?難道是吃飽了撐的?

當然不是,向量化的計算方法比其他一般的解法有一個最明顯的優勢——就是它支持同時有多列x的輸入值,像這樣:

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)9

像這種情況下,Excel自帶的什麼畫圖啊,斜率截距公式什麼的肯定就廢了

例子都舉了(雖然是用随機數生成的),那就再做一個看看呗

公式形式:y=b a1x1 a2x2 a3x3 a4x4,走起

excel線性回歸預測(Excel數據分析線性回歸的向量化算法)10

這樣是不是反而比正常的方式來得更簡潔了呢?

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved