2016-06-20 83 views
1

有人可以解釋在Matlab的嶺迴歸函數中的比例因子嗎?我發現了一個與用於縮放值的公式相關的帖子,但我不確定爲什麼我不確定它是如何工作的。當我將它設置爲0時,我得到了典型的數字,但是我不得不輸入截距爲1的X矩陣。如果我包含一列,返回的b矩陣有一行太多,不能相乘。另一方面,當我將縮放因子設置爲1時,我會得到完全不合理的值。有人可以解釋發生了什麼事嗎?我可以怎樣解決它?Matlab嶺迴歸尺寸

b = ridge(Y,X,lambda,0); 
size(Y) = 
      444205  1 
size(X) = 
      444205  4 
size(b) = 
       5  1 

回答

1

ridge()自動居中和縮放X(對於每個特徵,減去平均值,通過標準偏差除以),和中心y。令Xs表示X的居中/縮放版本,ys表示y的居中版本,b表示ridge()返回的權重。

scaled標誌被設置爲1,b給出了用於預測從Xsys的權重; ys的預測值由Xs * b給出。不需要一個常數項,因爲Xsys居中。

scaled標誌設置爲0時,b給出了從X預測y的權重。 b的第一個元素包含一個常數項(因爲Xy具有非零平均值,所以這是必需的)。 y的預測值由X * b(2:end) + b(1)給出。

有關此行爲的更多信息,請參見documentation

+0

這解釋了它。非常感謝! – Schmax