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. အကွာအဝေးကို ဖယ်ရှားပါ။ တန်ဖိုးသည် အမှန်တကယ်သာလွန်ပါက၊ ၎င်းသည် သင်၏ခွဲခြမ်းစိတ်ဖြာမှုအပေါ် သိသာထင်ရှားသောအကျိုးသက်ရောက်မှုရှိမည်ဆိုပါက ၎င်းကိုဖယ်ရှားရန် သင်ရွေးချယ်နိုင်သည်။