Python တွင် grubbs 'tester ကိုဘယ်လိုဖွင့်မလဲ။


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

ဤသင်ခန်းစာသည် Python ရှိ Grubbs စမ်းသပ်နည်းကို ရှင်းပြထားသည်။

Python တွင် Grubbs စမ်းသပ်မှု

Python တွင် Grubbs စမ်းသပ်မှုကို လုပ်ဆောင်ရန်၊ အောက်ပါ syntax ကိုအသုံးပြုသည့် outlier_utils ပက်ကေ့ခ်ျမှ smirnov_grubbs() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။

smirnov_grubbs.test (ဒေတာ၊ အယ်ဖာ = 0.05)

ရွှေ-

  • data- ဒေ တာတန်ဖိုးများ၏ ကိန်းဂဏာန်း vector တစ်ခု
  • alpha- စမ်းသပ်မှုအတွက် အသုံးပြုရမည့် အရေးပါမှုအဆင့်။ မူရင်းတန်ဖိုးသည် 0.05 ဖြစ်သည်။

ဤအင်္ဂါရပ်ကိုအသုံးပြုရန်၊ သင်သည် outlier_utils ပက်ကေ့ဂျ်ကို ဦးစွာထည့်သွင်းရပါမည်။

 pip install outlier_utils

ဤပက်ကေ့ဂျ်ကို ထည့်သွင်းပြီးသည်နှင့်၊ သင်သည် Grubbs စမ်းသပ်မှုကို လုပ်ဆောင်နိုင်သည်။ အောက်ပါနမူနာများက ၎င်းကို မည်သို့လုပ်ဆောင်ရမည်ကို ဖော်ပြသည်။

ဥပမာ 1- အမြီးနှစ်ချောင်း Grubbs စမ်းသပ်မှု

အောက်ဖော်ပြပါကုဒ်သည် ဒေတာအတွဲ၏အစွန်းနှစ်ဖက်ရှိ အစွန်းနှစ်ဖက်ရှိ Grubbs စမ်းသပ်မှုကို မည်သို့လုပ်ဆောင်ရမည်ကို သရုပ်ဖော်ထားသည်။

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test
grubbs. test (data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])

ဤလုပ်ဆောင်ချက်သည် အစွန်းထွက်များမပါဘဲ array တစ်ခုကို ရိုးရိုးရှင်းရှင်း ပြန်ပေးသည်။ ဤကိစ္စတွင်၊ အမြင့်ဆုံးတန်ဖိုး 40 သည် အစွန်းထွက်တစ်ခုဖြစ်သောကြောင့် ဖယ်ရှားခဲ့သည်။

ဥပမာ 2- တစ်ဖက်သတ် Grubbs စမ်းသပ်မှု

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

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test to see if minimum value is an outlier
grubbs. min_test (data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test to see if minimum value is an outlier
grubbs. max_test (data, alpha=.05)

array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29])

အနိမ့်ဆုံး အပြင်ထွက်စစ်ဆေးမှုသည် အနိမ့်ဆုံးတန်ဖိုးကို အစွန်းထွက်တစ်ခုအဖြစ် မတွေ့ပါ။ သို့သော်၊ အမြင့်ဆုံးအကွာအဝေးစမ်းသပ်မှုတွင် အမြင့်ဆုံးတန်ဖိုး 40 သည် သာလွန်ကြောင်း ဆုံးဖြတ်ခဲ့ပြီး ထို့ကြောင့် ဖယ်ရှားခဲ့သည်။

ဥပမာ 3- outlier ၏ အညွှန်းကို ထုတ်ယူပါ။

အောက်ဖော်ပြပါ ကုဒ်သည် outlier ၏ အညွှန်းကို ထုတ်ယူနည်းကို သရုပ်ပြသည်-

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test and identify index (if any) of the outlier
grubbs. max_test_indices (data, alpha=.05)

[16]

၎င်းသည် ဇယား၏ အညွှန်းကိန်း အနေအထား 16 တွင် အစွန်းထွက်တစ်ခု ရှိနေကြောင်း ကျွန်ုပ်တို့ကို ပြောပြသည်။

ဥပမာ 4- အစွန်းကွက်မှ တန်ဖိုးကို ထုတ်ယူပါ။

အောက်ဖော်ပြပါကုဒ်သည် outlier မှ တန်ဖိုးကို ထုတ်ယူနည်းကို သရုပ်ပြသည်-

 import numpy as np
from outliers import smirnov_grubbs as grubbs

#define data
data = np.array([5, 14, 15, 15, 14, 19, 17, 16, 20, 22, 8, 21, 28, 11, 9, 29, 40])

#perform Grubbs' test and identify the actual value (if any) of the outlier
grubbs. max_test_outliers (data, alpha=.05)

[40]

၎င်းသည် 40 တန်ဘိုးရှိသော အကွာအဝေးတစ်ခုရှိကြောင်း ကျွန်ုပ်တို့ကိုပြောပြသည်။

အစွန်းအထင်းတွေကို ဘယ်လိုကိုင်တွယ်မလဲ။

Grubbs စမ်းသပ်မှုသည် သင့်ဒေတာအတွဲတွင် အစွန်းထွက်တစ်ခုကို ဖော်ထုတ်ပါက၊ သင့်တွင် ရွေးချယ်စရာများစွာရှိသည်-

1. တန်ဖိုးသည် typo သို့မဟုတ် data entry error မဟုတ်ကြောင်း နှစ်ခါစစ်ဆေးပါ။ တစ်ခါတစ်ရံတွင် ဒေတာအတွဲများတွင် အစွန်းထွက်များအဖြစ် ပေါ်လာသည့် တန်ဖိုးများသည် ဒေတာထည့်သွင်းစဉ်အတွင်း တစ်ဦးချင်းမှ ရိုးရိုးအမှားလုပ်မိခြင်းဖြစ်သည်။ ပထမဦးစွာ၊ နောက်ထပ်ဆုံးဖြတ်ချက်များမချမီ တန်ဖိုးကို ထည့်သွင်းထားကြောင်း စစ်ဆေးပါ။

2. အကွာအဝေးကို တန်ဖိုးအသစ်တစ်ခု သတ်မှတ်ပါ ။ အကြမ်းဖျင်းသည် typo သို့မဟုတ် data entry error ၏ရလဒ်ဖြစ်လာပါက၊ data set ၏ mean သို့မဟုတ် median ကဲ့သို့ value အသစ်တစ်ခုသတ်မှတ်ရန် သင်ဆုံးဖြတ်နိုင်သည်။

3. အကွာအဝေးကို ဖယ်ရှားပါ။ တန်ဖိုးသည် အမှန်တကယ်သာလွန်ပါက၊ ၎င်းသည် သင်၏ခွဲခြမ်းစိတ်ဖြာမှုအပေါ် သိသာထင်ရှားသောအကျိုးသက်ရောက်မှုရှိမည်ဆိုပါက ၎င်းကိုဖယ်ရှားရန် သင်ရွေးချယ်နိုင်သည်။

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

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