嶺回歸的原理:
首先要了解最小二乘法的回歸原理
設有多重線性回歸模型 y=Xβ+ε ,參數β的最小二乘估計為
當自變量間存在多重共線性,|X'X|≈0時,設想|X'X|給加上一個正常數矩陣(k>0)
那么|X'X|+kI 接近奇異的程度就會比接近奇異的程度小得多。考慮到變量的量綱問題,
先要對數據標准化,標准化后的設計矩陣仍用X表示,定義稱為的嶺回歸估計,其中,
k稱為嶺參數。由於假設X已經標准化,所以就是自變量樣本相關陣。y可以標准化也可以未標准化,
如果y也經過標准化,那么計算的實際是標准化嶺回歸估計。(k)作為β的估計應比最小二乘估計
穩定,當k=0時的嶺回歸估計就是普通的最小二乘估計.
因為嶺參數k不是唯一確定的,所以得到的嶺回歸估計實際是回歸參數的一個估計族。
則嶺回歸的參數估計為
python中嶺回歸的代碼:
主要使用python中的 scikit-learn 模塊
# 嶺回歸(Ridge 回歸) from sklearn import linear_model X = [[0, 0], [1, 1], [2, 2]] y = [0, 1, 2] clf = linear_model.Ridge(alpha=0.1) # 設置k值 clf.fit(X, y) # 參數擬合 print(clf.coef_) # 系數 print(clf.intercept_) # 常量 print(clf.predict([[3, 3]])) # 求預測值 print(clf.decision_function(X)) # 求預測,等同predict print(clf.score(X, y)) # R^2,擬合優度 print(clf.get_params()) # 獲取參數信息 print(clf.set_params(fit_intercept=False)) # 重新設置參數
后期的詳細分析應用可以自己看linear_model的用法