今天碰見一句**
features = torch.tensor(np.random.normal(0, 1, (1000, 2)));
其中 features是訓練資料特徵 np為numpy (import numpy as np)
關於np.random.normal(0, 1, (1000, 2))
noise = np.random.normal(0, 0.05, x_data.shape)
於是 有乙個問題 為什麼資料特徵需要服從均值為0 方差為1 的高斯分布?
原因一:為了讓估計出的回歸係數是無偏估計。
【有關無偏性,一致性,有效性
總體來說
無偏性就是 期望 等於 本身
】
總體引數的估計值必須符合一些好的特性才行,比如無偏性,相合性(一致性),有效性之類的,否則你的估計值就是瞎猜。如果假定誤差均值為零,則最小二乘估計出來的回歸係數就是無偏的。
乙個估計量並不是說無偏就一定好,也可以有偏。如果有偏,只要它和無偏估計量相比較「均方誤差」更小,則我們就可以選用有偏的估計量。比如嶺回歸得到的回歸係數就是有偏估計量,但是它比最小二乘得到的回歸係數均方誤差更小。
如果假定誤差期望為零,再加上其它幾個假定就能保證回歸係數是「最佳線性無偏估計量」,也就意味著最小二乘方法不是瞎猜,是科學的,並且在眾多科學的方法中它都是比較好的。
上面是原因一,一般的教科書都會提到。再說另外乙個更重要的原因,這個原因幾乎沒什麼書會提到。
原因二:
為了讓總體回歸方程可以被估計。
總體線性回歸模型為 y=a+bx+u,a為截距,為了方便,假設只有乙個自變數x(其實你可以把這個x當成很多個x),u為誤差項。對y求期望有: e(y|x)=e(a+bx|x)+e(u|x)。如果e(u|x)不為零,意味著e(y|x)的值由e(a+bx|x)和e(u|x)決定。假設e(y|x)=6,則e(a+bx|x)=4和e(u|x)=2是一組解,e(a+bx|x)=3和e(u|x)=3也是一組解,...,嗯,也就是回歸係數將有無窮解,結果就是總體回歸方程無法通過樣本去估計,也就是無解(無窮解對於回歸方程來說就是無解),這才是最大的問題所在。為了讓總體回歸方程可以估計,只有假定誤差期望為零
MATLAB 偏最小二乘回歸演算法
設有q個因變數和p個自變數。為了研究因變數和自變數的統計關係,觀測n個樣本點,構成了自變數與因變數的資料表x 1 兩個成分盡可能多的攜帶他們各自資料表的變異資訊。2 兩個成分的相關程度達到最大。也就是說,他們能夠盡可能好地代表各自的資料表,同時自變數成分 在第乙個成分被成功提取後,分別實施x對 該m...
偏最小二乘回歸(基於MATLAB)
clc clear all 匯入資料 load data.mat s data data 1 27,29 n 27 n 是自變數的個數 m 1 m 是因變數的個數 讀取訓練資料 train num 1600 訓練樣本數 train data s data 1 train num,mu mean tr...
python 偏最小二乘回歸實現
import pandas as pd import numpy as np from sklearn.cross decomposition import plsregression from sklearn.model selection import gridsearchcv from skl...