熱線電話:13121318867

登錄
首頁大數據時代R語言主成分回歸
R語言主成分回歸
2020-12-08
收藏



R學習-主成分分析和主成分回歸
#主成分分析和主成分回歸
Pearson 1901年提出 Hotelling 1933進一步發展
一 princomp() 函數
princomp(x, cor = FALSE, scores = TRUE, covmat = NULL,
subset = rep(TRUE, nrow(as.matrix(x))), ...)
# 分析用數據
# cor 是否用樣本的協方差矩陣作主成分分析
prcomp()
二 summary()函數
三 loadings()函數
四 predict() 函數
五 screeplot() 函數
六 biplot() 函數
實例
某中學隨機抽取某年級30名學生,測量其身高,體重,胸圍,坐高,針對這30名中學生身體四項指標數據做主成分分析。
student<-data.frame(
X1=c(148, 139, 160, 149, 159, 142, 153, 150, 151, 139,
140, 161, 158, 140, 137, 152, 149, 145, 160, 156,
151, 147, 157, 147, 157, 151, 144, 141, 139, 148),
X2=c(41, 34, 49, 36, 45, 31, 43, 43, 42, 31,
29, 47, 49, 33, 31, 35, 47, 35, 47, 44,
42, 38, 39, 30, 48, 36, 36, 30, 32, 38),
X3=c(72, 71, 77, 67, 80, 66, 76, 77, 77, 68,
64, 78, 78, 67, 66, 73, 82, 70, 74, 78,
73, 73, 68, 65, 80, 74, 68, 67, 68, 70),
X4=c(78, 76, 86, 79, 86, 76, 83, 79, 80, 74,
74, 84, 83, 77, 73, 79, 79, 77, 87, 85,
82, 78, 80, 75, 88, 80, 76, 76, 73, 78)
)
#主成分分析
student.pr <- princomp(student, cor = TRUE)
#顯示結果
summary(student.pr, loadings=TRUE)
#預測,顯示各樣本主成分的值
pre<-predict(student.pr)
#顯示碎石圖
screeplot(student.pr,type="lines")
# 主成分分析散點圖
biplot(student.pr)
例二
對128個成年男子的身材進行測量,每人測得16項指標,身高,坐高,胸圍,頭高,褲長,下檔,手長,領圍,前胸,后背,肩厚,肩寬,袖長,肋圍,腰圍,腿肚,分別用X1-X16表示。16項指標的相關矩陣R。從相關矩陣出發進行主成分分析,隨16項指標進行分類。
命令
x<-c(
1.00,
0.79, 1.00,
0.36, 0.31, 1.00,
0.96, 0.74, 0.38, 1.00,
0.89, 0.58, 0.31, 0.90, 1.00,
0.79, 0.58, 0.30, 0.78, 0.79, 1.00,
0.76, 0.55, 0.35, 0.75, 0.74, 0.73, 1.00,
0.26, 0.19, 0.58, 0.25, 0.25, 0.18, 0.24, 1.00,
0.21, 0.07, 0.28, 0.20, 0.18, 0.18, 0.29,-0.04, 1.00,
0.26, 0.16, 0.33, 0.22, 0.23, 0.23, 0.25, 0.49,-0.34, 1.00,
0.07, 0.21, 0.38, 0.08,-0.02, 0.00, 0.10, 0.44,-0.16, 0.23, 1.00,
0.52, 0.41, 0.35, 0.53, 0.48, 0.38, 0.44, 0.30,-0.05, 0.50, 0.24, 1.00,
0.77, 0.47, 0.41, 0.79, 0.79, 0.69, 0.67, 0.32, 0.23, 0.31, 0.10, 0.62, 1.00,
0.25, 0.17, 0.64, 0.27, 0.27, 0.14, 0.16, 0.51, 0.21, 0.15, 0.31, 0.17, 0.26, 1.00,
0.51, 0.35, 0.58, 0.57, 0.51, 0.26, 0.38, 0.51, 0.15, 0.29, 0.28, 0.41, 0.50, 0.63, 1.00,
0.21, 0.16, 0.51, 0.26, 0.23, 0.00, 0.12, 0.38, 0.18, 0.14, 0.31, 0.18, 0.24, 0.50, 0.65, 1.00
)
names<-c("X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9",
"X10", "X11", "X12", "X13", "X14", "X15", "X16")
R<-matrix(0, nrow=16, ncol=16, dimnames=list(names, names))
for (i in 1:16){
for (j in 1:i){
R<-x[(i-1)*i/2+j]; R[j,i]<-R
}
}
#主成分分析
pr<-princomp(covmat=R)
load<-loadings(pr)
#
plot(load[,1:2])
text(load[,1], load[,2], adj=c(-0.4, 0.3))
主成分回歸
考慮進口總額Y與三個自變量:國內總產值,存儲量,總消費量之間的關系?,F收集了1949-1959共11年的數據,試做線性回歸和主成分回歸分析。
conomy<-data.frame(
x1=c(149.3, 161.2, 171.5, 175.5, 180.8, 190.7, 202.1, 212.4, 226.1, 231.9, 239.0),
x2=c(4.2, 4.1, 3.1, 3.1, 1.1, 2.2, 2.1, 5.6, 5.0, 5.1, 0.7),
x3=c(108.1, 114.8, 123.2, 126.9, 132.1, 137.7, 146.0, 154.1, 162.3, 164.3, 167.6),
y=c(15.9, 16.4, 19.0, 19.1, 18.8, 20.4, 22.7, 26.5, 28.1, 27.6, 26.3)
)
線性回歸
lm.sol<-lm(y~x1+x2+x3, data=conomy)
summary(lm.sol)
主成分回歸
# 主成分分析
conomy.pr<-princomp(~x1+x2+x3, data=conomy, cor=T)
summary(conomy.pr, loadings=TRUE)
pre<-predict(conomy.pr)
conomy$z1<-pre[,1]; conomy$z2<-pre[,2]
lm.sol<-lm(y~z1+z2, data=conomy)

summary(lm.sol)


學數據分析技術一定要了解的大廠入門券,CDA數據分析師認證證書!




CDA(數據分析師認證),與CFA相似,由國際范圍內數據科學領域行業專家、學者及知名企業共同制定并修訂更新,迅速發展成行業內長期而穩定的全球大數據及數據分析人才標準,具有專業化、科學化、國際化、系統化等特性。


同時,CDA全??荚嚥季趾驼J證體系已得到教育部直屬中國成人教育協會及大數據專業委員會認可,并由為IBM、華為等提供全球認證服務的Pearson VUE面向全球提供靈活的考試服務。


報名方式

登錄CDA認證考試官網注冊報名>>點擊報名


報名費用

Level Ⅰ:1200 RMB

Level Ⅱ:1700 RMB

Level Ⅲ:2000 RMB


考試地點

Level Ⅰ:中國區30+省市,70+城市,250+考場,考生可就近考場預約考試 >看看我所在的地哪里報名<

Level Ⅱ+Ⅲ:中國區30所城市,北京/上海/天津/重慶/成都/深圳/廣州/濟南/南京/杭州/蘇州/福州/太原/武漢/長沙/西安/貴陽/鄭州/南寧/昆明/烏魯木齊/沈陽/哈爾濱/合肥/石家莊/呼和浩特/南昌/長春/大連/蘭州>看看我所在的地哪里報名<


報考條件


業務數據分析師 CDA Level I >了解更多<

? 報考條件:無要求。

? 考試時間:隨報隨考。


建模分析師 CDA Level II >了解更多<

? 報考條件(滿足任一即可):

1、獲得CDA Level Ⅰ認證證書;

2、本科及以上學歷,需從事數據分析相關工作1年以上;

3、本科以下學歷,需從事數據分析相關工作2年以上。

? 考試時間:

一年四屆 3月、6月、9月、12月的最后一個周六。


大數據分析師 CDA Level II >了解更多<

? 報考條件(滿足任一即可):

1、獲得CDA Level Ⅰ認證證書;

2、本科及以上學歷,需從事數據分析相關工作1年以上;

3、本科以下學歷,需從事數據分析相關工作2年以上。

? 考試時間:

一年四屆 3月、6月、9月、12月的最后一個周六。


數據科學家  CDA Level III >了解更多<

? 報考條件(滿足任一即可):

1、獲得CDA Level Ⅱ認證證書;

2、本科及以上學歷,需從事數據分析相關工作3年以上;

3、本科以下學歷,需從事數據分析相關工作4年以上。

? 考試時間:

一年四屆 3月、6月、9月、12月的最后一個周六。

(備注:數據分析相關工作不限行業,可涉及統計,數據分析,數據挖掘,數據庫,數據管理,大數據架構等內容。)


——熱門課程推薦:

想學習PYTHON數據分析與金融數字化轉型精英訓練營,您可以點擊>>>“人才轉型”了解課程詳情;

想從事業務型數據分析師,您可以點擊>>>“數據分析師”了解課程詳情;

想從事大數據分析師,您可以點擊>>>“大數據就業”了解課程詳情;

想成為人工智能工程師,您可以點擊>>>“人工智能就業”了解課程詳情;

想了解Python數據分析,您可以點擊>>>“Python數據分析師”了解課程詳情;

想咨詢互聯網運營,你可以點擊>>>“互聯網運營就業班”了解課程詳情; 

想了解更多優質課程,請點擊>>>



數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢