嶺迴歸的原理:python
首先要了解最小二乘法的迴歸原理spa
設有多重線性迴歸模型 y=Xβ+ε ,參數β的最小二乘估計爲設計
當自變量間存在多重共線性,|X'X|≈0時,設想|X'X|給加上一個正常數矩陣(k>0)blog
那麼|X'X|+kI 接近奇異的程度就會比接近奇異的程度小得多。考慮到變量的量綱問題,ci
先要對數據標準化,標準化後的設計矩陣仍用X表示,定義稱爲的嶺迴歸估計,其中,get
k稱爲嶺參數。因爲假設X已經標準化,因此就是自變量樣本相關陣。y能夠標準化也能夠未標準化,it
若是y也通過標準化,那麼計算的實際是標準化嶺迴歸估計。(k)做爲β的估計應比最小二乘估計
穩定,當k=0時的嶺迴歸估計就是普通的最小二乘估計.io
由於嶺參數k不是惟一肯定的,因此獲得的嶺迴歸估計實際是迴歸參數的一個估計族。function
則嶺迴歸的參數估計爲class
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的用法