国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

主成分回歸克服多重共線性的R語言實現(xiàn)

2015-05-30 19:30:25汪朋
科技資訊 2015年28期
關(guān)鍵詞:R語言

汪朋

摘要:多重共線性是回歸分析中容易出現(xiàn)的一類重要問題,現(xiàn)有的克服多重共線性的方法有很多,這其中主成分回歸是非常有效的一種,但該方法計算復(fù)雜,必須借助于計算軟件才能完成。為此,本文在已有R函數(shù)的基礎(chǔ)上,通過自編一定的R函數(shù)和代碼,探討了應(yīng)用R語言實現(xiàn)主成分回歸的過程。最后的案例表明,通過R語言實現(xiàn)主成分回歸來克服模型的多重共線性,過程簡單,效果明顯,且容易被學(xué)習(xí)者和應(yīng)用者掌握。

關(guān)鍵詞:主成分回歸 多重共線性 R語言

中圖分類號: 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2015)03(b)-0000-00

1引言

回歸模型是應(yīng)用最為廣泛的統(tǒng)計模型之一,常被用來處理多變量間相依關(guān)系問題,而多重共線性問題是回歸分析中一個非常棘手的問題,最早是R.Frisch提出。大量實踐表明,當(dāng)模型存在嚴(yán)重的多重共線性時,模型的參數(shù)估計變得不夠穩(wěn)定,甚至出現(xiàn)估計的回歸系數(shù)與其實際意義不相符,模型的顯著性檢驗和預(yù)測功能失效等嚴(yán)重后果。正因如此,從20世紀(jì)六七十年代至今,人們提出了多種方法來克服模型的多重共線性,比較常用的有逐步回歸法、嶺回歸法和主成分回歸法等。逐步回歸法是剔除變量,容易造成信息損失和結(jié)構(gòu)分析的預(yù)期目的難以實現(xiàn)的問題;嶺回歸法要求選擇比較準(zhǔn)確的嶺參數(shù),而嶺參數(shù)的選擇主觀性很強;相比之下,主成分回歸法通過將自變量分解成幾個不相關(guān)的主成分,能完全克服模型的多重共線性,且選擇的主成分能基本上概括原變量的信息,使得主成分回歸法成為克服多重共線性中的一種較為有效的方法,但該方法計算復(fù)雜,需要借助于計算軟件才能完成。目前主流的統(tǒng)計軟件雖一般提供了主成分分析的功能,都基本上沒有直接實現(xiàn)主成分回歸的模塊,因此,本文在R語言提供的主成分分析的函數(shù)的基礎(chǔ)上,通過自編相關(guān)的函數(shù),來探討如何快速簡便地運用主成分回歸法克服回歸模型的多重共線性。

二、主成分回歸法的R語言實現(xiàn)過程

主成分回歸法是利用主成分分析找到解釋變量的若干個主成份,由于主成份之間是互不相關(guān)的,因此考慮將被解釋變量關(guān)于這些主成份進(jìn)行回歸,可以消除模型的多重共線性。

應(yīng)用R語言克服模型的多重共線性,具體步驟如下:

(1)運用princomp( )函數(shù)進(jìn)行主成分分析,使用方法如下:

pr = princomp(~X1+X2+…4+Xk, cor=TRUE )

這里cor =TRUE表示用樣本的相關(guān)矩陣R作主成分分析,cor=FALSE(默認(rèn)值),表示用樣本的協(xié)方差作主成分分析。

在這一步中還可以使用summmary( )函數(shù)來提取因子載荷矩陣等模型的各項信息。

(2)根據(jù)(1)中得到的結(jié)果選定主成分z1,z2,…,zm,然后將被解釋變量關(guān)于這些主成分進(jìn)行回歸,代碼如下:

pre=predict(pr)

z1=pre[,1]

z2=pre[,2]

…………

zm=pre[,m]

model.pr=lm(Y~z1+z2+…+zm)

summary(model.pr)

(3)運用自編函數(shù)將主成分回歸模型轉(zhuǎn)換為關(guān)于原變量的回歸模型,自編函數(shù)的代碼如下:

prc.trans=function(formula, prc.object){

object=lm(formula); X=as.matrix(object$model)[,-1]

pr=princomp(~X, cor=TRUE); A=loadings(pr)

apha=coef(prc.object); n=length(apha)

if (n<=2){

beta=A[,1:n-1]*apha[2:n] }

else {

beta=A[,1:n-1]%*%apha[2:n] }

xbar=apply(X,2,mean); s=sd(X)

b=beta/s; b0=apha[1]-sum(b*xbar)

coefficients=c(b0,b)

coefficients=as.matrix(coefficients)

rownames(coefficients)=rownames(summary(object)$coefficients)

colnames(coefficients)="Estimate"

coefficients

}

該函數(shù)的prc.object參數(shù)為做主成分回歸所返回的對象。

有了上面的prc.trans( )函數(shù),就可、可以很方便地將進(jìn)行系數(shù)轉(zhuǎn)換了,轉(zhuǎn)換代碼如下:

prc.trans(Y~X1+X2+…+Xk, model.pr)

三、案例分析

為了驗證上節(jié)內(nèi)容的可行性,下面選取1991—2013年西藏第三產(chǎn)業(yè)及一些影響因素的數(shù)據(jù)來驗證上節(jié)提出的方法和結(jié)論。

根據(jù)經(jīng)濟(jì)學(xué)的有關(guān)理論和經(jīng)驗知,第三產(chǎn)業(yè)的發(fā)展主要與第三產(chǎn)業(yè)的規(guī)模、最終消費、資本形成總額、本國交通運輸規(guī)模等因素有關(guān)。為此考慮

——第三產(chǎn)業(yè)從業(yè)人員數(shù)(反映第三產(chǎn)業(yè)的規(guī)模);

——財政支出(最終消費的構(gòu)成因素);

——全區(qū)居民消費水平(最終消費的影響因素);

——全社會的固定資產(chǎn)投資(GDP的影響因素);

——旅客周轉(zhuǎn)量(反映交通運輸規(guī)模)。

對西藏第三產(chǎn)業(yè)總產(chǎn)值Y的影響,從而尋找影響西藏第三產(chǎn)業(yè)發(fā)展的關(guān)鍵因素。有關(guān)數(shù)據(jù)見表1。

表1 西藏1991—2012年第三產(chǎn)業(yè)產(chǎn)值及其影響因素的數(shù)據(jù)

年份

第三產(chǎn)業(yè)總值(億元)

第三產(chǎn)業(yè)從業(yè)人員數(shù)(萬人)

財政支出(萬元)

全區(qū)居民消費水平(元/人)

全社會固定資產(chǎn)投資(萬元)

旅客周轉(zhuǎn)量(億人公里)

1991

10.03

16.67

129242

735

76105

3.90

1992

10.86

18.28

150018

839

105665

3.65

1993

12.24

19.47

166120

903

133297

4.08

1994

13.63

18.80

216012

931

181458

4.11

1995

16.97

21.92

302998

1110

211718

4.65

1996

19.39

19.96

348749

1202

369492

4.80

1997

26.46

22.14

381195

1312

303605

5.24

1998

31.13

23.08

390961

1471

345495

5.29

1999

39.99

24.08

461966

1551

427457

5.53

2000

47.86

25.26

544223

1669

566030

5.78

2001

54.37

25.85

616108

1823

665044

6.20

2002

69.65

28.52

1062067

1939

857725

6.42

2003

89.56

32.46

1398904

2725

1089868

6.71

2004

96.76

35.31

1481966

2825

1386165

6.49

2005

123.30

38.15

1360690

2950

1684361

7.09

2006

137.24

43.61

1891612

3019

1961916

18.40

2007

159.76

46.60

2023024

2990

2323503

22.00

2008

188.06

52.45

2793631

3215

2711811

27.00

2009

218.67

57.00

3840173

3504

3099304

30.39

2010

240.85

58.72

4711288

4027

3794158

30.00

2011

274.82

61.58

5625834

4326

4632585

42.94

2012

322.57

69.57

7756827

4730

5492690

45.17

2013

377.8

81.36

9339713

5340

7099822

47.29

數(shù)據(jù)來源:《西藏統(tǒng)計年鑒(2014)》

作出Y關(guān)于各解釋變量之間的散點圖如下:

圖1 被解釋變量Y與各解釋變量之間的散點圖

根據(jù)圖1,可以發(fā)現(xiàn),Y與各變量之間都大致成線性的關(guān)系,因此總體回歸模型可設(shè)為

(8)

為檢驗?zāi)P褪欠翊嬖诙嘀毓簿€性,可計算得到各解釋變量之間相關(guān)系數(shù)矩陣如下:

表2 各解釋變量之間的相關(guān)系數(shù)矩陣

X1

X2

X3

X4

X5

X1

1.0000000

0.9574153

0.9806276

0.9826848

0.9649556

X2

0.9574153

1.0000000

0.9282874

0.9906462

0.9600453

X3

0.9806276

0.9282874

1.0000000

0.9582267

0.9164908

X4

0.9826848

0.9906462

0.9582267

1.0000000

0.9707032

X5

0.9649556

0.9600453

0.9164908

0.9707032

1.0000000

由相關(guān)系數(shù)矩陣可以看出,各解釋變量相互之間的相關(guān)系數(shù)較高,證實原模型確實存在嚴(yán)重多重共線性。

下面在R語言中應(yīng)用主成分回歸法來克服模型的多重共線性。

首先,進(jìn)行主成分分析,運用的函數(shù)為princomp( ),對于本案例數(shù)據(jù),代碼如下:

pr=princomp(~X1+X2+X3+X4+X5, cor=TRUE)

summary(pr,loadings=TRUE)

運行結(jié)果如下:

Importance of components:

Comp.1 Comp.2 Comp.3 Comp.4 Comp.5

Proportion of Variance 0.9689 0.0198 0.0092 0.0015 0.0006

Cumulative Proportion 0.9689 0.9887 0.9979 0.9994 1.0000

從這個結(jié)果中可以看到,前兩個主成分的累計貢獻(xiàn)率已達(dá)到98.6%,包含了原5個變量的絕大部分信息,因此可以舍去另外三個主成分??紤]Y與前兩個主成分之間的回歸,并將其轉(zhuǎn)換為Y關(guān)于原解釋變量的回歸,所需代碼如下:

pre=predict(pr)

z1=pre[,1]

z2=pre[,2]

model.pr=lm(Y~z1+z2)

prc.trans(Y~X1+X2+X3+X4+X5,model.pr)

運行結(jié)果為:

prc.trans(Y~X1+X2+X3+X4+X5,model.pr)

運行結(jié)果為:

Estimate

(Intercept) -4.049499e+01

X1 1.373448e+00

X2 6.272358e-06

X3 2.369798e-02

X4 1.038333e-05

X5 1.010673e+00

于是得到用主成分回歸法得到的最終模型為:

(11)

從模型的結(jié)果上看,得到的回歸系數(shù)基本上在合理的經(jīng)濟(jì)意義范圍內(nèi)。

四、結(jié)束語

主成分回歸法是近些年應(yīng)用得較多的一種新方法,相比于其他方法,能完全消除模型多重共線性,可以比較精準(zhǔn)的作出關(guān)于所有解釋變量的經(jīng)濟(jì)結(jié)構(gòu)分析,但該方法相對較復(fù)雜,尤其是在將關(guān)于主成分的回歸轉(zhuǎn)換為關(guān)于原變量的回歸上。因此,主成分回歸的實現(xiàn)不應(yīng)用計算軟件是很難實現(xiàn)的,而大多數(shù)軟件并沒有提供直接實現(xiàn)主成分回歸的功能,應(yīng)用時較為困難。本文在已有R語言函數(shù)的基礎(chǔ)上,通過自編系數(shù)轉(zhuǎn)換函數(shù)prc.trans( ),較為完整地實現(xiàn)了主成分回歸的過程。最后的案例表明,應(yīng)用主成分回歸來克服模型的多重共線性,結(jié)果十分理想,而應(yīng)用R語言來實現(xiàn)主成分回歸,過程簡單,結(jié)果明確,易學(xué)易懂,且通過對R語言實現(xiàn)主成分回歸的過程的把握和對相應(yīng)結(jié)果的理解,有助于計量經(jīng)濟(jì)學(xué)習(xí)者和應(yīng)用者把握主成分回歸背后的思想和原理,這是其他計算軟件,尤其是菜單式界面操作軟件所不能比擬的。

參考文獻(xiàn)

[1] 李子奈.計量經(jīng)濟(jì)學(xué)(第三版)[M].北京:高等教育出版社,2010:134-143.

[2] 何曉群.《多元統(tǒng)計分析》(第三版)[M].中國人民大學(xué)出版社,2004:114-125.

[3] 劉國旗.多重共線性的產(chǎn)生原因及其診斷處理[J].合肥工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2001,24 (4):607-610.

[4] 馬雄威.線性回歸方程中多重共線性診斷方法及其實證分析[J].華中農(nóng)業(yè)大學(xué)學(xué)報(社會科學(xué)版),2008,2:49-54.

猜你喜歡
R語言
基于Holt—Winters時間序列的圖書選題預(yù)測模型
基于R語言的轎車銷量分析基于R語言的轎車銷量分析
基于R語言時間序列的轎車銷量分析及預(yù)測
R語言在統(tǒng)計分析中的使用技巧
基于R語言的學(xué)生成績分析
基于GPS軌跡數(shù)據(jù)進(jìn)行分析改善城市交通擁擠
基于R語言的Moodle平臺數(shù)據(jù)挖掘技術(shù)的研究
基于R語言的湖南產(chǎn)業(yè)結(jié)構(gòu)對其經(jīng)濟(jì)增長貢獻(xiàn)分析
商(2016年24期)2016-07-20 08:03:39
注重統(tǒng)計思維培養(yǎng)與應(yīng)用為主導(dǎo)的生物統(tǒng)計學(xué)課程建設(shè)
考試周刊(2016年15期)2016-03-25 04:09:43
人民幣匯率的均值回復(fù)檢驗及Hurst指數(shù)計算
尚志市| 玉树县| 盐城市| 根河市| 视频| 宾阳县| 保定市| 全南县| 武功县| 金湖县| 明水县| 广汉市| 广西| 奇台县| 大宁县| 宜黄县| 瑞安市| 南乐县| 老河口市| 萍乡市| 永城市| 扶余县| 台中市| 张家界市| 临颍县| 敖汉旗| 当雄县| 洞头县| 安平县| 柳州市| 沿河| 通榆县| 孝感市| 阜康市| 五台县| 宜都市| 治多县| 同德县| 玉树县| 九龙县| 桐庐县|