Python တွင် mann-kendall trend test ကို မည်သို့လုပ်ဆောင်ရမည်နည်း။


Mann-Kendall trend test ကို time series data မှာ trend ရှိ/မရှိ ဆုံးဖြတ်ဖို့ သုံးပါတယ်။ ဤသည်မှာ ပါရာမက်ထရစ်မဟုတ်သော စမ်းသပ်မှုဖြစ်ပြီး၊ ဆိုလိုသည်မှာ ဒေတာ၏ ပုံမှန်ဖြစ်တည်မှုနှင့် ပတ်သက်၍ နောက်ခံယူဆချက်များ မပြုလုပ်ရပါ။

စမ်းသပ်မှုယူဆချက်မှာ အောက်ပါအတိုင်းဖြစ်သည်။

H 0 (null hypothesis): ဒေတာတွင် လမ်းကြောင်းမရှိပေ။

H A (အစားထိုးယူဆချက်)- လမ်းကြောင်းတစ်ခုသည် ဒေတာတွင် ရှိနေသည်။ (ဒါက အပြုသဘော ဒါမှမဟုတ် အဆိုးမြင်လမ်းကြောင်း ဖြစ်နိုင်ပါတယ်)

အကယ်၍ စမ်းသပ်မှု၏ p-တန်ဖိုးသည် အချို့သော အရေးပါမှုအဆင့်အောက်တွင် ရှိနေပါက (အများအားဖြင့် ရွေးချယ်မှုများမှာ 0.10၊ 0.05 နှင့် 0.01) ဆိုလျှင် အချိန်စီးရီးမှ အချက်အလက်များတွင် လမ်းကြောင်းသစ်တစ်ခု ရှိနေကြောင်း ကိန်းဂဏန်းဆိုင်ရာ သိသာထင်ရှားသော အထောက်အထားများ ရှိပါသည်။

ဤသင်ခန်းစာသည် Python ရှိ Mann-Kendall လမ်းကြောင်းစမ်းသပ်မှုကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြထားသည်။

ဥပမာ- Python ရှိ Mann-Kendall လမ်းကြောင်းစမ်းသပ်မှု

Python ရှိ Mann-Kendall လမ်းကြောင်းစမ်းသပ်မှုကို လုပ်ဆောင်ရန်၊ ကျွန်ုပ်တို့သည် ပထမဆုံး pymannkendall ပက်ကေ့ဂျ်ကို ထည့်သွင်းပါမည်-

 pip install pymannkendall

ဤပက်ကေ့ဂျ်ကို ထည့်သွင်းပြီးသည်နှင့်၊ ကျွန်ုပ်တို့သည် အချိန်စီးရီးဒေတာအတွဲတစ်ခုပေါ်တွင် Mann-Kendall လမ်းကြောင်းစမ်းသပ်မှုကို လုပ်ဆောင်နိုင်သည်-

 #create dataset
data = [31, 29, 28, 28, 27, 26, 26, 27, 27, 27, 28, 29, 30, 29, 30, 29, 28]

#perform Mann-Kendall Trend Test
import pymannkendall as mk

mk. original_test (data)

Mann_Kendall_Test(trend='no trend', h=False, p=0.422586268671707,
                  z=0.80194241623, Tau=0.147058823529, s=20.0,
                  var_s=561.33333333, slope=0.0384615384615, intercept=27.692307692)

ဤတွင် စမ်းသပ်မှုရလဒ်ကို မည်သို့အဓိပ္ပာယ်ဖွင့်ဆိုနိုင်သည်-

  • trend : ဒါက trend ကိုညွှန်ပြတယ်။ ဖြစ်နိုင်ချေရလဒ်များတွင် တိုးလာခြင်း၊ ကျဆင်းခြင်း သို့မဟုတ် လမ်းကြောင်းသစ်များ ပါဝင်သည်။
  • h- လမ်းကြောင်းသစ်ရှိနေပါက မှန်ပါသည်။ လမ်းကြောင်းမရှိလျှင် မှားသည်။
  • p: စမ်းသပ်မှု၏ p တန်ဖိုး။
  • z- ပုံမှန်စစ်ဆေးခြင်း ကိန်းဂဏန်း။
  • Tau: Kendall Tau
  • s: မန်း-ကန်ဒယ်လ် ရမှတ်
  • var_s: သွေဖည် S
  • slope- Theil-Sen/slope ခန့်မှန်းချက်
  • ကြားဖြတ်တားဆီးခြင်း- ခိုင်ခံ့သော Kendall-Theil လိုင်းကို ကြားဖြတ်ပေးခြင်း

ကျွန်ုပ်တို့စိတ်ဝင်စားသည့် အဓိကတန်ဖိုးမှာ p-value ဖြစ်ပြီး၊ ဒေတာတွင် စာရင်းအင်းဆိုင်ရာ သိသာထင်ရှားသော လမ်းကြောင်းတစ်ခု ရှိ/မရှိကို ပြောပြသည်။

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

Mann-Kendall လမ်းကြောင်းစမ်းသပ်မှုကို လုပ်ဆောင်ခြင်းအပြင်၊ အမှန်တကယ် အချိန်စီးရီးဒေတာကို မြင်သာစေရန် Matplotlib ကို အသုံးပြု၍ အမြန်မျဉ်းကွက်တစ်ခုကို ဖန်တီးနိုင်သည်-

 import matplotlib. pyplot as plt

plt. plot (data)

ကြိမ်

ဇယားမှနေ၍ ဒေတာအနည်းငယ် ပြန့်ကျဲနေကြောင်း ကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်၊ ၎င်းသည် ဒေတာတွင် ရှင်းလင်းပြတ်သားသောလမ်းကြောင်းမရှိကြောင်း အတည်ပြုသည်။

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

Matplotlib တွင် အချိန်စီးရီးတစ်ခုကို ဘယ်လိုဆွဲမလဲ။
Python တွင် augmented Dickey-Fuller စမ်းသပ်နည်း
Pandas DataFrame မှ စီးရီးများစွာကို ဘယ်လိုဆွဲမလဲ။

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

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