Sas တွင် principal component analysis ကို မည်သို့လုပ်ဆောင်ရမည်နည်း


Principal component analysis (PCA) သည် အဓိက အစိတ်အပိုင်းများ – ခန့်မှန်းသူ ကိန်းရှင်များ ၏ linear ပေါင်းစပ်မှုများကို ရှာဖွေရန် ရှာဖွေသည့် ကြီးကြပ်ကွပ်ကဲမှု မရှိသော စက်သင်ယူမှု နည်းပညာတစ်ခုဖြစ်ပြီး ဒေတာအတွဲတစ်ခုအတွင်း ကွဲလွဲမှု၏ အများအပြားကို ရှင်းပြပေးပါသည်။

SAS တွင် PCA လုပ်ဆောင်ရန် အရိုးရှင်းဆုံးနည်းလမ်းမှာ အောက်ပါအခြေခံ syntax ကိုအသုံးပြုသည့် PROC PRINCOMP ထုတ်ပြန်ချက်ကို အသုံးပြုခြင်းဖြစ်သည်-

 proc princomp data =my_data out =out_data outstat =stats;
    var var1 var2 var3;
run ;

ဤသည်မှာ ညွှန်ကြားချက်တစ်ခုစီတိုင်း လုပ်ဆောင်သည်-

  • ဒေတာ – PCA အတွက် အသုံးပြုရန် ဒေတာအတွဲအမည်
  • out : မူရင်းဒေတာအပေါင်းနှင့် အဓိကအစိတ်အပိုင်းရမှတ်များပါရှိသော ဖန်တီးရန် ဒေတာအတွဲအမည်
  • outstat : နည်းလမ်းများ၊ စံသွေဖည်မှုများ၊ ဆက်စပ်မှုကိန်းဂဏန်းများ၊ eigenvalues နှင့် eigenvectors များပါဝင်သော ဒေတာအစုံကို ဖန်တီးသင့်သည်ဟု သတ်မှတ်သည်။
  • var : ထည့်သွင်းဒေတာအတွဲမှ PCA အတွက် အသုံးပြုရန် ကိန်းရှင်များ။

အောက်ဖော်ပြပါ အဆင့်ဆင့် ဥပမာသည် SAS တွင် အဓိကအစိတ်အပိုင်းများခွဲခြမ်းစိတ်ဖြာမှုကို လုပ်ဆောင်ရန် လက်တွေ့တွင် PROC PRINCOMP ထုတ်ပြန်ချက်ကို မည်သို့အသုံးပြုရမည်ကို ပြသထားသည်။

အဆင့် 1- ဒေတာအတွဲတစ်ခု ဖန်တီးပါ။

ကျွန်ုပ်တို့တွင် ဘတ်စကက်ဘောကစားသမား 20 နှင့်ပတ်သက်သည့် အချက်အလက်အမျိုးမျိုးပါဝင်သော အောက်ပါဒေတာအတွဲကို ဆိုပါစို့။

 /*create dataset*/
data my_data;
    input points assists rebounds;
    datalines ;
22 8 4
29 7 3
10 4 12
5 5 15
35 6 2
8 3 10
10 4 8
8 4 3
2 5 17
4 5 19
9 9 4
7 6 4
31 5 3
4 6 13
5 7 8
8 8 4
10 4 8
20 4 6
25 8 8
18 8 3
;
run ;

/*view dataset*/
proc print data =my_data; 

အဆင့် 2- အဓိကအစိတ်အပိုင်းများကို ခွဲခြမ်းစိတ်ဖြာပါ။

ကျွန်ုပ်တို့သည် ဒေတာအတွဲ၏ အမှတ်များကူညီမှုများ နှင့် ဘောင်ပြောင်းနိုင်သော ကိန်းရှင်များကို အသုံးပြုကာ PROC PRINCOMP ထုတ်ပြန်ချက်ကို အသုံးပြု၍ အဓိကအစိတ်အပိုင်းခွဲခြမ်းစိတ်ဖြာမှုကို လုပ်ဆောင်နိုင်သည်-

 /*perform principal components analysis*/
proc princomp data =my_data out =out_data outstat =stats;
    var points assists rebounds;
run ;

output ၏ပထမပိုင်းသည် input variable တစ်ခုစီ၏ပျမ်းမျှနှင့်စံသွေဖည်မှုများအပါအဝင် အမျိုးမျိုးသောသရုပ်ဖော်ကိန်းဂဏန်းအချက်အလက်များကိုပြသသည်-

output ၏နောက်အပိုင်းသည် scree plot နှင့် ရှင်းပြထားသော varianance plot ကိုပြသသည်-

ကျွန်ုပ်တို့ PCA ကိုလုပ်ဆောင်သောအခါ၊ ကျွန်ုပ်တို့သည် ဒေတာအတွဲတစ်ခုစီတွင် အဓိကအစိတ်အပိုင်းတစ်ခုစီမှ ရှင်းပြနိုင်သည့် စုစုပေါင်းကွဲလွဲမှုရာခိုင်နှုန်းကို မကြာခဏနားလည်လိုပါသည်။

Correlation Matrix Eigenvalues ခေါင်းစဉ်တပ်ထားသော ရလဒ်ဇယားသည် ကျွန်ုပ်တို့အား အဓိကအစိတ်အပိုင်းတစ်ခုစီမှ ရှင်းပြထားသည့် စုစုပေါင်းကွဲလွဲမှု၏ ရာခိုင်နှုန်းမည်မျှရာခိုင်နှုန်းကို အတိအကျမြင်နိုင်စေသည်-

  • ပထမအဓိကအစိတ်အပိုင်းသည် ဒေတာအတွဲတွင် စုစုပေါင်းကွဲလွဲမှု၏ 61.7% ကို ရှင်းပြထားသည်။
  • ဒုတိယအဓိကအစိတ်အပိုင်းသည် ဒေတာအတွဲရှိ စုစုပေါင်းကွဲလွဲမှု၏ 26.51% ကို ရှင်းပြထားသည်။
  • တတိယ အဓိက အစိတ်အပိုင်းသည် ဒေတာအတွဲတွင် စုစုပေါင်းကွဲလွဲမှု 11.79% ကို ရှင်းပြထားသည်။

ရာခိုင်နှုန်းအားလုံး 100% အထိ ပေါင်းထည့်ကြောင်း သတိပြုပါ။

Variance Explained ဟူသော ဇာတ်ကွက်သည် ကျွန်ုပ်တို့အား ဤတန်ဖိုးများကို မြင်ယောင်နိုင်စေပါသည်။

x-axis သည် အဓိကအစိတ်အပိုင်းကိုပြသပြီး y-axis သည် အဓိကအစိတ်အပိုင်းတစ်ခုစီမှ ရှင်းပြထားသော စုစုပေါင်းကွဲလွဲမှုရာခိုင်နှုန်းကို ပြသသည်။

အဆင့် 3- ရလဒ်များကိုမြင်ယောင်ရန် biplot တစ်ခုဖန်တီးပါ။

ပေးထားသည့်ဒေတာအတွဲတစ်ခုအတွက် PCA ၏ရလဒ်များကိုမြင်ယောင်နိုင်ရန်၊ ပထမအဓိကအစိတ်အပိုင်းနှစ်ခုဖြင့်ဖွဲ့စည်းထားသောလေယာဉ်ပေါ်ရှိ dataset တစ်ခုစီတွင်ကြည့်ရှုမှုတစ်ခုစီကိုပြသသည့် biplot တစ်ခုကိုဖန်တီးနိုင်သည်။

biplot တစ်ခုကို ဖန်တီးရန် SAS တွင် အောက်ပါ syntax ကို အသုံးပြုနိုင်ပါသည်။

 /*create dataset with column called obs to represent row numbers of original data*/
data biplot_data;
   set out_data;
   obs=_n_;
run ;

/*create biplot using values from first two principal components*/
proc sgplot data =biplot_data;
    scatter x =Prin1 y =Prin2 / datalabel =obs;
run ; 

x-axis သည် ပထမအဓိကအစိတ်အပိုင်းကိုပြသသည်၊ y-axis သည် ဒုတိယအဓိကအစိတ်အပိုင်းကိုပြသပြီး dataset မှတစ်ဦးချင်းစီ လေ့လာတွေ့ရှိချက်များကို ဂရပ်အတွင်းတွင် စက်ဝိုင်းငယ်များအဖြစ်ပြသပါသည်။

ဂရပ်ပေါ်တွင် ဘေးချင်းကပ်လျက် ရှိနေသော လေ့လာတွေ့ရှိချက်များသည် အမှတ်များassists နှင့် rebounds သုံးခုအတွက် အလားတူတန်ဖိုးများရှိသည်။

ဥပမာအားဖြင့်၊ ဂရပ်၏ဘယ်ဘက်အစွန်တွင်၊ #9 နှင့် #10 တို့သည် တစ်ခုနှင့်တစ်ခု အလွန်နီးကပ်နေကြောင်း ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။

မူရင်းဒေတာအတွဲကို ကိုးကားပါက၊ ဤလေ့လာတွေ့ရှိချက်များအတွက် အောက်ပါတန်ဖိုးများကို ကျွန်ုပ်တို့ မြင်တွေ့နိုင်သည်-

  • Observation n°9 : 2 မှတ်၊ 5 assists ၊ 17 rebounds
  • အကဲဖြတ်ချက် #10 : 4 မှတ်၊ 5 ကြိမ်၊ 19 ပြန်ခုန်

တန်ဖိုးများသည် ကိန်းရှင် သုံးခုမှ တစ်ခုစီအတွက် ဆင်တူသည်၊ ၎င်းသည် biplot တွင် ဤလေ့လာတွေ့ရှိချက်များသည် တစ်ခုနှင့်တစ်ခု အဘယ်ကြောင့် အလွန်နီးကပ်နေကြောင်း ရှင်းပြသည်။

Correlation Matrix Eigenvalues ခေါင်းစဉ်တပ်ထားသော ရလဒ်ဇယားတွင် ပထမအဓိကအစိတ်အပိုင်းနှစ်ခုသည် ဒေတာအတွဲရှိ စုစုပေါင်းကွဲလွဲမှု၏ 88.21% ဖြစ်သည်ကို ကျွန်ုပ်တို့တွေ့ခဲ့ရသည်။

ဤရာခိုင်နှုန်းသည် အလွန်မြင့်မားသောကြောင့်၊ biplot တွင် မည်သည့်လေ့လာတွေ့ရှိချက်များသည် တစ်ခုနှင့်တစ်ခု နီးကပ်နေသည်၊ အကြောင်းမှာ biplot တွင်ပါဝင်သည့် အဓိကအစိတ်အပိုင်းနှစ်ခုသည် dataset တွင်ကွဲလွဲမှုအားလုံးနီးပါးအတွက် ခွဲခြမ်းစိတ်ဖြာရန် မှန်ကန်ပါသည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် SAS တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

SAS တွင် ရိုးရှင်းသော linear regression လုပ်ဆောင်နည်း
SAS တွင် မျဉ်းကြောင်းပြန်ဆုတ်ခြင်းများစွာကို မည်သို့လုပ်ဆောင်ရမည်နည်း။
SAS တွင် logistic regression ကိုမည်သို့လုပ်ဆောင်ရမည်နည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်