何為共線性:
創(chuàng)新互聯(lián)堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十多年網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)是成都老牌網(wǎng)站營(yíng)銷服務(wù)商,為您提供網(wǎng)站制作、做網(wǎng)站、網(wǎng)站設(shè)計(jì)、H5技術(shù)、網(wǎng)站制作、品牌網(wǎng)站制作、小程序設(shè)計(jì)服務(wù),給眾多知名企業(yè)提供過(guò)好品質(zhì)的建站服務(wù)。共線性問(wèn)題指的是輸入的自變量之間存在較高的線性相關(guān)度。共線性問(wèn)題會(huì)導(dǎo)致回歸模型的穩(wěn)定性和準(zhǔn)確性大大降低,另外,過(guò)多無(wú)關(guān)的維度計(jì)算也很浪費(fèi)時(shí)間
共線性產(chǎn)生原因:
變量出現(xiàn)共線性的原因:
數(shù)據(jù)樣本不夠,導(dǎo)致共線性存在偶然性,這其實(shí)反映了缺少數(shù)據(jù)對(duì)于數(shù)據(jù)建模的影響,共線性僅僅是影響的一部分
多個(gè)變量都給予時(shí)間有共同或相反的演變趨勢(shì),例如春節(jié)期間的網(wǎng)絡(luò)銷售量和銷售額都相對(duì)與正常時(shí)間有下降趨勢(shì)。
多個(gè)變量存在一定的推移關(guān)系,但總體上變量間的趨勢(shì)一致,只是發(fā)生的時(shí)間點(diǎn)不一致,例如廣告費(fèi)用和銷售額之間,通常是品牌廣告先進(jìn)行大范圍的曝光和信息推送,經(jīng)過(guò)一定時(shí)間傳播之后,才會(huì)在銷售額上做出反映。
多變量之間存在線性的關(guān)系。例如y代表訪客數(shù),用x代表展示廣告費(fèi)用,那么二者的關(guān)系很可能是y=2*x + b
如何檢驗(yàn)共線性:
檢驗(yàn)共線性:
容忍度(Tolerance):容忍度是每個(gè)自變量作為因變量對(duì)其他自變量進(jìn)行回歸建模時(shí)得到的殘差比例,大小用1減得到的決定系數(shù)來(lái)表示。容忍度值越小說(shuō)明這個(gè)自變量與其他自變量間越可能存在共線性問(wèn)題。
方差膨脹因子 VIF是容忍度的倒數(shù),值越大則共線性問(wèn)題越明顯,通常以10作為判斷邊界。當(dāng)VIF<10,不存在多重共線性;當(dāng)10<=VIF<100,存在較強(qiáng)的多重共線性;當(dāng)VIF>=100, 存在嚴(yán)重多重共線性。
特征值(Eigenvalue):該方法實(shí)際上就是對(duì)自變量做主成分分析,如果多個(gè)維度的特征值等于0,則可能有比較嚴(yán)重的共線性。
相關(guān)系數(shù):如果相關(guān)系數(shù)R>0.8時(shí)就可能存在較強(qiáng)相關(guān)性
如何處理共線性:
處理共線性:
增大樣本量:增大樣本量可以消除猶豫數(shù)據(jù)量不足而出現(xiàn)的偶然的共線性現(xiàn)象,在可行的前提下這種方法是需要優(yōu)先考慮的
嶺回歸法(Ridge Regression):實(shí)際上是一種改良最小二乘估計(jì)法。通過(guò)放棄最小二乘法的無(wú)偏性,以損失部分信息、降低精度為代價(jià)來(lái)獲得更實(shí)際和可靠性更強(qiáng)的回歸系數(shù)。因此嶺回歸在存在較強(qiáng)共線性的回歸應(yīng)用中較為常用。
逐步回歸法(Stepwise Regression):每次引入一個(gè)自變量進(jìn)行統(tǒng)計(jì)檢驗(yàn),然后逐步引入其他變量,同時(shí)對(duì)所有變量的回歸系數(shù)進(jìn)行檢驗(yàn),如果原來(lái)引入的變量由于后面變量的引入而變得不再顯著,那么久將其剔除,逐步得到最有回歸方程。
主成分回歸(Principal Components Regression):通過(guò)主成分分析,將原始參與建模的變量轉(zhuǎn)換為少數(shù)幾個(gè)主成分,么個(gè)主成分是原變量的線性組合,然后基于主成分做回歸分析,這樣也可以在不丟失重要數(shù)據(jù)特征的前提下避開(kāi)共線性問(wèn)題。
人工去除:結(jié)合人工經(jīng)驗(yàn),對(duì)自變量進(jìn)行刪減,但是對(duì)操作者的業(yè)務(wù)能力、經(jīng)驗(yàn)有很高的要求。
部分方法python代碼實(shí)現(xiàn)
import numpy as np import pandas as pd from sklearn.linear_model import Ridge from sklearn.decomposition import PCA from sklearn.linear_model import LinearRegression # 導(dǎo)入數(shù)據(jù) df = pd.read_csv('https://raw.githubusercontent.com/ffzs/dataset/master/boston/train.csv') # 切分自變量 X = df.iloc[:, 1:-1].values # 切分預(yù)測(cè)變量 y = df.iloc[:, [-1]].values # 使用嶺回歸處理 import matplotlib.pyplot as plt plt.figure(figsize=(8,6)) n_alphas = 20 alphas = np.logspace(-1,4,num=n_alphas) coefs = [] for a in alphas: ridge = Ridge(alpha=a, fit_intercept=False) ridge.fit(X, y) coefs.append(ridge.coef_[0]) ax = plt.gca() ax.plot(alphas, coefs) ax.set_xscale('log') handles, labels = ax.get_legend_handles_labels() plt.legend(labels=df.columns[1:-1]) plt.xlabel('alpha') plt.ylabel('weights') plt.axis('tight') plt.show()
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。