python金融風控評分卡模型和數據分析微專業課(博主親自錄制視頻):http://dwz.date/b9vv
1.選擇最簡單模型
如果不能滿足:
增加參數,增加R**2
判斷是否overfittiing
調整R方,BIC,AIC(選擇較小BIC或AIC值)
R方不能比較參數不同模型,但調整后R方可以比較不同參數模型
如果添加一個新的變量,但調整R方變小,這個變量就是多余的
如果添加一個新的變量,但調整R方變大,這個變量就是有用的
R^2很小得謹慎,說明你選的解釋變量解釋能力不足,有可能有其他重要變量被納入到誤差項。可嘗試尋找其他相關變量進行多元回歸
這個問題在伍德里奇的書里有說明,可絕系數只是判斷模型優劣的指標之一,而不是全部,特別是當使用微觀數據,樣本量比較大的時候,可絕系數可以很小,但這並不能表示模型就差。
顯著但是R值小,要考慮不同的專業背景。
有的專業確實比較小,樓主的例子,我覺得這個大小就能接受了。
態度與行為之間的影響因素非常多,態度能解釋行為11-15%已經不小了。
F檢驗是對整個模型而已的,看是不是自變量系數不全為0,而t檢驗則是分別針對某個自變量的,看每個自變量是否有顯著預測效力。
調整R方VS樣本量VS變量數量
樣本量越大,調整的R方懲罰機制越小,調整的R方越大
樣本量越小,調整的R方懲罰機制越大,調整的R方越小
變量越多,懲罰機制越嚴重,調整R方越小
變量越少,懲罰機制越嚴小,調整R方越大
n=13 樣本
p=2 變量數量
adjR2=rSquared-(1-rSquared)*((p-1)/(n-p))=0.63-(1-0.63)
rSquared=0.63109603807606962
rSquared_adj=0.59755931426480324
n=13 樣本
n越大,(n-p)大,(p-1)/(n-p)越小,(1-rSquared)*((p-1)/(n-p))越小,rSquared-(1-rSquared)*((p-1)/(n-p))越大,即樣本量越大,調整R方越大,變量解釋力度越大。
p=2 變量數量
參數多,p大,(P-1)越大,(n-p)越小
,(p-1)/(n-p)越大,
rSquared-(1-rSquared)*((p-1)/(n-p)) 越小,即adjR2越小。所以變量越多,懲罰機制越嚴重,調整R方越小
測試Python腳本
導入excel數據
import pandas as pd df=pd.read_excel("土壤沉淀物吸收能力采樣數據-不存在共線性.xlsx") array_values=df.values x1=[i[0] for i in array_values] x2=[i[1] for i in array_values] df = pd.DataFrame({'x':x1, 'y':x2}) # Fit the model model = ols("y~x", df).fit() rSquared_adj=model.rsquared_adj rSquared=model.rsquared n=13 #樣本 p=2 #變量數量 adjR2=rSquared-(1-rSquared)*((p-1)/(n-p)) #最終adjR2和rSquared_adj是相等的
n為樣本個數,p為變量數
微信掃二維碼,免費學習更多python資源