R တွင် လျှောတိုက်ဆက်စပ်မှုကို တွက်ချက်နည်း


Rolling correlations များသည် လျှောပြတင်းပေါက်တစ်ခုပေါ်ရှိ အချိန်စီးရီးနှစ်ခုကြား ဆက်စပ်မှုများဖြစ်သည်။ ဤဆက်စပ်ဆက်နွယ်မှုအမျိုးအစား၏ အကျိုးကျေးဇူးများထဲမှတစ်ခုမှာ အချိန်နှင့်အမျှ အတွဲလိုက်နှစ်ခုကြား ဆက်စပ်မှုကို မြင်ယောင်နိုင်ခြင်းကြောင့်ဖြစ်သည်။

ဤကျူတိုရီရယ်တွင် R တွင် လှည့်ပတ်ဆက်စပ်မှုများကို တွက်ချက်နည်းကို ရှင်းပြထားသည်။

R တွင် rolling correlations တွက်နည်း

15 လတာကာလအတွင်း မတူညီသော ထုတ်ကုန်နှစ်ခု ( x နှင့် y ) အတွက် ရောင်းချသည့် ကုန်ပစ္စည်းစုစုပေါင်းအရေအတွက်ကို ပြသသည့် အောက်ပါဒေတာဘောင်တစ်ခုရှိသည်ဆိုပါစို့။

 #create data
data <- data.frame(month=1:15,
                   x=c(13, 15, 16, 15, 17, 20, 22, 24, 25, 26, 23, 24, 23, 22, 20),
                   y=c(22, 24, 23, 27, 26, 26, 27, 30, 33, 32, 27, 25, 28, 26, 28))

#view first six rows
head(data)

  month xy
1 1 13 22
2 2 15 24
3 3 16 23
4 4 15 27
5 5 17 26
6 6 20 26

R တွင် လှည့်ပတ်ဆက်စပ်မှုကို တွက်ချက်ရန်၊ ကျွန်ုပ်တို့သည် တိရစ္ဆာန်ရုံ ပက်ကေ့ခ်ျမှ rollapply() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။

ဤလုပ်ဆောင်ချက်သည် အောက်ပါ syntax ကိုအသုံးပြုသည်-

rollapply(ဒေတာ၊ အကျယ်၊ FUN၊ by.column=TRUE)

ရွှေ-

  • data- ဒေ တာဘောင်အမည်
  • width- sliding correlation အတွက် window ၏ width ကို သတ်မှတ်သည့် ကိန်းပြည့်
  • ပျော်စရာ- အသုံးချရန် လုပ်ဆောင်ချက်။
  • by.column- ကော်လံတစ်ခုစီတွင် လုပ်ဆောင်ချက်ကို သီးခြားစီအသုံးပြုရန်ရှိမရှိ သတ်မှတ်ပေးသည်။ ၎င်းသည် မူရင်းအားဖြင့် မှန်ကန်သော်လည်း၊ ဆက်စပ်မှုတစ်ခုအား တွက်ချက်ရန်အတွက် ၎င်းသည် FALSE ဖြစ်ကြောင်း သတ်မှတ်ရန် လိုအပ်သည်။

ထုတ်ကုန် x နှင့် ထုတ်ကုန် y အကြား 3 လပတ်လုံး ရောင်းချမှု ဆက်စပ်မှုကို တွက်ချက်ရန် ဤလုပ်ဆောင်ချက်ကို အသုံးပြုနည်းမှာ ဤအရာဖြစ်သည် ။

 #calculate 3-month rolling correlation between sales for x and y
rollapply(data, width=3, function (x) cor(x[,2],x[,3]), by.column= FALSE )

 [1] 0.6546537 -0.6933752 -0.2401922 -0.8029551 0.8029551 0.9607689
 [7] 0.9819805 0.6546537 0.8824975 0.8170572 -0.9449112 -0.3273268
[13] -0.1889822

ဤလုပ်ဆောင်ချက်သည် ပြီးခဲ့သော 3 လအတွင်း ထုတ်ကုန်နှစ်ခုရောင်းချမှုကြား ဆက်စပ်မှုကို ပြန်ပေးသည်။ ဥပမာအားဖြင့်:

  • 1-3 လများတွင် ရောင်းအား ဆက်စပ်မှုသည် 0.6546537 ဖြစ်သည်။
  • 2-4 လများတွင် အရောင်းဆက်စပ်မှုမှာ -0.6933752 ဖြစ်သည်။
  • 3-5 လများတွင် အရောင်းဆက်စပ်မှုမှာ -0.2401922 ဖြစ်သည်။

နောက် … ပြီးတော့။

မတူညီသောအချိန်ကာလတစ်ခုအတွက် လှည့်ပတ်ဆက်စပ်မှုကို တွက်ချက်ရန် ဤဖော်မြူလာကို အလွယ်တကူ ချိန်ညှိနိုင်သည်။ ဥပမာအားဖြင့်၊ အောက်ပါကုဒ်သည် ထုတ်ကုန်နှစ်ခုကြားတွင် 6 လကြာရောင်းချမှုဆက်စပ်မှုကို တွက်ချက်နည်းကို ပြသသည်-

 #calculate 6-month rolling correlation between sales for x and y
rollapply(data, width=6, function (x) cor(x[,2],x[,3]), by.column= FALSE )

 [1] 0.5587415 0.4858553 0.6931033 0.7564756 0.8959291 0.9067715 0.7155418
 [8] 0.7173740 0.7684468 0.4541476

ဤလုပ်ဆောင်ချက်သည် ယခင် 6 လအတွင်း ထုတ်ကုန်နှစ်ခုရောင်းချမှုကြား ဆက်စပ်မှုကို ပြန်ပေးသည်။ ဥပမာအားဖြင့်:

  • 1-6 လများတွင် ရောင်းအား ဆက်စပ်မှုသည် 0.5587415 ဖြစ်သည်။
  • 2-7 လများတွင် အရောင်းဆက်စပ်မှုမှာ 0.4858553 ဖြစ်သည်။
  • 3-8 လများတွင် အရောင်းဆက်စပ်မှုမှာ 0.6931033 ဖြစ်သည်။

နောက် … ပြီးတော့။

မှတ်ချက်များ

rollapply() လုပ်ဆောင်ချက်ကို အသုံးပြုသည့်အခါ အောက်ပါအချက်များကို မှတ်သားထားပါ-

  • ဆက်စပ်မှုများကို တွက်ချက်ရန်အတွက် အကျယ် (ဆိုလိုသည်မှာ drop-down window) သည် 3 နှင့် ထက်ပို၍ ညီမျှရပါမည်။
  • အထက်ဖော်ပြပါ ဖော်မြူလာများတွင် ကျွန်ုပ်တို့သည် အနေအထား 2 နှင့် 3 အကြား ဆက်စပ်မှုများကို တွက်ချက်လိုသော ကော်လံနှစ်ခုတွင် cor(x[,2],x[3]) ကို အသုံးပြုခဲ့သည်။ သင်စိတ်ဝင်စားသောကော်လံများသည် မတူညီသော ရာထူးများတွင် ရှိနေပါက ဤနံပါတ်များကို ချိန်ညှိပါ။

ဆက်စပ်- Excel တွင် Rolling Correlation ကို တွက်ချက်နည်း

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

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