نحوه محاسبه تحلیل کانونی در نرم افزار R

اگر محققی بخواهد روابط بین دو مجموعه از داده ها را مطالعه کند روش تحلیل کانونی بهترین روش خواهد بود. این روش به عنوان یک روش تحلیل چند متغیره جهت پیدا کردن روابط خطی بین دو مجموعه چند متغیره کاربرد فراوانی دارد. به عنوان مثال محققی علاقه مند است بداند آیا بین پنج متغیر روانشناختی و پنج ویژگی فردی رابطه خطی وجود دارد یا خیر باید از این روش استفاده نماید. هدف این نوشتار آموزش نرم افزار R نیست و نحوه محاسبه تحلیل کانونی در نرم افزارR مورد توجه می باشد. این نرم افزار را با نرم افزار های مشهوری چون SAS SPSS قابل رقابت دانسته اند . قبل از اجرای این تکنیک آماری در نرم افزار R باید به روش زیر داده ها را در نرم افزار تعریف کرد(فونت های قرمز برونداد ها هستند).

Canonical attach(Canonical)
library(fields)
t(stats(Canonical))
library(catspec)
ctab(table(female), addmargins=TRUE)


حال باید دستور زیر را که به صورت ماکرو تهیه شده است در کنسول وارد و اجرا نمائید.

# define the two sets of variables
psych<-mm[,1:3]
acad<-mm[,4:8]

# correlations
library(CCA)
matcor(psych,acad)


که بلافاصله خروجی زیر ظاهر می شود.

[Image]

 

به منظور محاسبه تحلیل کانونی دستور زیر باید وارد و اجرا شود.

cc1

# display the canonical correlations
cc1[1]


# raw canonical coefficients
cc1[3:4]


سپس به منظور محاسبه ضرایب هر کدام از متغیر های مدل در هر ریشه کانونی باید دستورات زیر را وارد کرد.

[Image]


در نهایت جهت مطالعه اینکه آیا این روابط معنی دار هستند یا خیر باید کد زیر را وارد کرد.


# tests of canonical dimensions
ev<-cc1$cor^2
ev2<-1-ev

n<-dim(psych)[1]
p<-length(psych)
q<-length(acad)
mw<-cbind(NULL) # initialize wilks lambda

for (i in 1:3){
w<-cbind(w,prod(ev2[i:3]))
}

d1<-cbind(NULL)
d2<-cbind(NULL)
f<-cbind(NULL) # initialize f
for (i in 1:3){
s<-sqrt((p^2*q^2-4)/(p^2+q^2-5))
si<-1/s
df1<-p*q
d1<-cbind(d1,df1)
df2<-m*s-p*q/2+1
d2<-cbind(d2,df2)
r<-(1-w[i]^si)/w[i]^si
f<-cbind(f,r*df2/df1)
p<-p-1
q<-q-1
}

pv<-pf(f,d1,d2,lower.tail=FALSE)
dmat<-cbind(t(w),t(f),t(d1),t(d2),t(pv))
colnames(dmat)<-c("WilksL","F","df1","df2","p")
rownames(dmat)<-c(seq(1:length(w)))

dmat

که خروجی به شرح زیر خواهد بود:

[Image]

در واقع با وجود آنکه مهمترین ریشه کانونی همان ریشه اول است لیکن معنی داری سایر ریشه ها که به تعداد مجموعه کوچکتر ریشه استخراج می شود باید مورد بررسی قرار گیرد که این نرم افزار از آماره لامبدا استفاده می کند. برای استاندارد سازی هر یک از ابعاد باید به طور جداگانه دستورات زیر را وارد کرد.


بازگشت به آموزش نرم افزار R




نظرات



افزودن نظر