99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀R語言典型相關(guān)分析
R語言典型相關(guān)分析
2017-07-18
收藏

R語言典型相關(guān)分析

1 關(guān)鍵點(diǎn):典型相關(guān)分析

典型相關(guān)分析是用于分析兩組隨機(jī)變量之間的相關(guān)程度的一種統(tǒng)計(jì)方法,它能夠有效地揭示兩組隨機(jī)變量之間的相互(線性依賴)關(guān)系

例如 研究生入學(xué)考試成績與本科階段一些主要課程成績的相關(guān)性

將研究兩組變量的相關(guān)性問題轉(zhuǎn)化為研究兩個(gè)變量的相關(guān)性問題 此類相關(guān)為典型相關(guān)#

2 分類:

總體典型相關(guān)

樣本典型相關(guān)

3 R語言提供的計(jì)算函數(shù):

典型相關(guān)計(jì)算 cancor(x,y,xcenter=TRUE,ycenter=TRUE)

x,y是相應(yīng)的數(shù)據(jù)矩陣 xcenter,ycenter是邏輯變量 TRUE是將數(shù)據(jù)中心化 FALSE是不中心化

4 分析結(jié)果含義
cor是典型相關(guān)系數(shù)
xcoef是對(duì)應(yīng)于數(shù)據(jù)x的系數(shù) 又稱關(guān)于數(shù)據(jù)x的典型載荷即樣本典型變量U系數(shù)矩陣A的轉(zhuǎn)置
xcenter是數(shù)據(jù)X的中心 即數(shù)據(jù)X的樣本均值
y是對(duì)應(yīng)于數(shù)據(jù)x的系數(shù) 又稱關(guān)于數(shù)據(jù)y的典型載荷即樣本典型變量V系數(shù)矩陣B的轉(zhuǎn)置
ycenter是數(shù)據(jù)Y的中心 即數(shù)據(jù)Y的樣本均值

5 分析步驟
(1.)載入原始數(shù)據(jù) data.frame
(2.)原始數(shù)據(jù)標(biāo)準(zhǔn)化 scale
(3.)典型相關(guān)分析 cancor
(4.)相關(guān)系數(shù)顯著性檢驗(yàn) corcoef.test.R

I.典型相關(guān)分析的計(jì)算

現(xiàn)對(duì)20名中年人測(cè)得三個(gè)生理指標(biāo):體重(X1) 腰圍(X2) 脈搏(X3);三個(gè)訓(xùn)練指標(biāo):引體向上(Y1) 起座次數(shù)(Y2) 跳躍次數(shù)(Y3) 試分析這組數(shù)據(jù)的相關(guān)性
#用數(shù)據(jù)框的形式輸入數(shù)據(jù)矩陣
test<-data.frame(
  X1=c(191, 193, 189, 211, 176, 169, 154, 193, 176, 156,
       189, 162, 182, 167, 154, 166, 247, 202, 157, 138),
  X2=c(36, 38, 35, 38, 31, 34, 34, 36, 37, 33,
       37, 35, 36, 34, 33, 33, 46, 37, 32, 33),
  X3=c(50, 58, 46, 56, 74, 50, 64, 46, 54, 54,
       52, 62, 56, 60, 56, 52, 50, 62, 52, 68),
  Y1=c( 5, 12, 13,  8, 15, 17, 14,  6,  4, 15,
        2, 12,  4,  6, 17, 13,  1, 12, 11,  2),
  Y2=c(162, 101, 155, 101, 200, 120, 215,  70,  60, 225,
       110, 105, 101, 125, 251, 210,  50, 210, 230, 110),
  Y3=c(60, 101, 58, 38, 40, 38, 105, 31, 25, 73,
       60, 37, 42, 40, 250, 115, 50, 120, 80, 43)
)
#為了消除數(shù)量級(jí)的影響 將數(shù)據(jù)標(biāo)準(zhǔn)化處理 調(diào)用scale函數(shù)
test<-scale(test)
#對(duì)標(biāo)準(zhǔn)化的數(shù)據(jù)做典型相關(guān)分析
ca<-cancor(test[,1:3],test[,4:6])
#查看分析結(jié)果
ca

結(jié)果說明:

1) cor給出了典型相關(guān)系數(shù);xcoef是對(duì)應(yīng)于數(shù)據(jù)X的系數(shù), 即為關(guān)于數(shù)據(jù)X的典型載荷; ycoef為關(guān)于數(shù)據(jù)Y的典型載荷;xcenter與$ycenter是數(shù)據(jù)X與Y的中心, 即樣本均值;

2) 對(duì)于該問題, 第一對(duì)典型變量的表達(dá)式為

U1 = -0.17788841x1 + 0.36232695x2 - 0.01356309x3

U2 = -0.43230348x1 + 0.27085764x2 - 0.05301954x3

U3 = -0.04381432x1 + 0.11608883x2 + 0.24106633x3

V1 = -0.08018009y1 - 0.24180670y2 + 0.16435956y3

V2 = -0.08615561y1 + 0.02833066y2 + 0.24367781y3

V3 = -0.29745900y1 + 0.28373986y2 - 0.09608099y3

相應(yīng)的相關(guān)系數(shù)為:p(U1,V1)=0.79560815 ,p(U2,V2)=0.20055604 ,p(U3,V3)=0.07257029

可以進(jìn)行典型相關(guān)系數(shù)的顯著性檢驗(yàn), 經(jīng)檢驗(yàn)也只有第一組典型變量.

下面計(jì)算樣本數(shù)據(jù)在典型變量下的得分:
#計(jì)算數(shù)據(jù)在典型變量下的得分 U=AX  V=BY
U<-as.matrix(test[, 1:3])%*% ca$xcoef ; U
V<-as.matrix(test[, 4:6])%*% ca$ycoef ; V
#調(diào)整圖形
opar <- par(mfrow = c(1, 1),mar = c(5,4,1,1))
#畫出以相關(guān)變量U1、V1和U3、V3為坐標(biāo)的數(shù)據(jù)散點(diǎn)圖
plot(U[,1], V[,1], xlab="U1", ylab="V1")
plot(U[,3], V[,3], xlab="U3", ylab="V3")
#調(diào)整圖形
par(opar)

散點(diǎn)圖可知 第一典型相關(guān)變量分布在一條直線附近;第三典型相關(guān)變量數(shù)據(jù)很分散。因?yàn)榈谝坏湫妥兞科湎嚓P(guān)系數(shù)為0.79560815,接近1,所以在一直線附近;第三典型變量的相關(guān)系數(shù)是0.07257029,接近于0,所以很分散。
II.典型相關(guān)系數(shù)的顯著性檢驗(yàn)

作為相關(guān)分析的目的 就是選擇多少對(duì)典型變量?因此需要做典型相關(guān)系數(shù)的顯著性檢驗(yàn)。若認(rèn)為相關(guān)系數(shù)k為0 就沒有必要考慮第k對(duì)典型變量了
#相關(guān)系數(shù)檢驗(yàn)R程序
corcoef.test<-function(r, n, p, q, alpha=0.1){
   #r為相關(guān)系數(shù) n為樣本個(gè)數(shù) 且n>p+q
   m<-length(r); Q<-rep(0, m); lambda <- 1
   for (k in m:1){
     #檢驗(yàn)統(tǒng)計(jì)量
     lambda<-lambda*(1-r[k]^2);
      #檢驗(yàn)統(tǒng)計(jì)量取對(duì)數(shù)
     Q[k]<- -log(lambda)  
   }
   s<-0; i<-m
   for (k in 1:m){
     #統(tǒng)計(jì)量  
     Q[k]<- (n-k+1-1/2*(p+q+3)+s)*Q[k]
      chi<-1-pchisq(Q[k], (p-k+1)*(q-k+1))
      if (chi>alpha){
         i<-k-1; break
      }
      s<-s+1/r[k]^2
   }
  #顯示輸出結(jié)果 選用第幾對(duì)典型變量
    i
}
source("corcoef.test.R")
#輸入相關(guān)系數(shù)r,樣本個(gè)數(shù)n,兩個(gè)隨機(jī)向量的維數(shù)p和q,置信水平a(缺省值為0.1)
corcoef.test(r=ca$cor,n=20,p=3,q=3)
#程序輸出值為典型變量的對(duì)數(shù)

最終程序運(yùn)行結(jié)果顯示選擇第一對(duì)典型相關(guān)變量。我們只利用第一典型變量分析問題,達(dá)到降維的目的。

write.csv(test,"test_test.csv")

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }