Python တွင် breusch-godfrey စမ်းသပ်မှုပြုလုပ်နည်း


linear regression ၏ အဓိက ယူဆချက် တစ်ခုမှာ အကြွင်းအကျန်များ အကြား ဆက်နွယ်မှု မရှိကြောင်း၊ ဆိုလိုသည်မှာ အကြွင်းအကျန် များသည် သီးခြား ဖြစ်သည် ။

ပထမအမှာစာ autocorrelation အတွက် စမ်းသပ်ရန်၊ ကျွန်ုပ်တို့သည် Durbin-Watson စမ်းသပ်မှုကို လုပ်ဆောင်နိုင်သည်။ သို့သော်၊ ကျွန်ုပ်တို့သည် ပိုမိုမြင့်မားသောအမှာစာများတွင် autocorrelation ကိုစမ်းသပ်လိုပါက Breusch-Godfrey စမ်းသပ်မှုကို လုပ်ဆောင်ရန်လိုအပ်သည်။

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

H 0 (null hypothesis)- p ထက်နည်းသော သို့မဟုတ် ညီမျှသော အမှာစာ၏ အလိုအလျောက်ဆက်စပ်မှု မရှိပါ။

H A (အခြားသောယူဆချက်)- p ထက်နည်းသော သို့မဟုတ် ညီမျှသော အချို့သောအမှာစာ၏ အလိုအလျောက်ဆက်စပ်မှုရှိပါသည်။

စမ်းသပ်မှုစာရင်းအင်းသည် လွတ်လပ်မှု p ဒီဂရီဖြင့် Chi-square ဖြန့်ဖြူးမှုကို လိုက်နာသည်။

ဤစမ်းသပ်မှုစာရင်းအင်းနှင့် ကိုက်ညီသော p-တန်ဖိုး သည် အချို့သော အရေးပါမှုအဆင့် (ဥပမာ- 0.05) အောက်တွင် ရှိနေပါက၊ ကျွန်ုပ်တို့သည် null hypothesis ကို ငြင်းပယ်နိုင်ပြီး ကျန်ရှိသော အချို့သောနိမ့်သောအစီအစဉ်တွင် သို့မဟုတ် p နှင့် ညီမျှသော autocorrelation ရှိကြောင်း ကောက်ချက်ချနိုင်ပါသည်။

Python ရှိ Breusch-Godfrey စမ်းသပ်မှုကို လုပ်ဆောင်ရန်၊ သင်သည် statsmodels စာကြည့်တိုက်မှ acorr_breusch_godfrey() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်သည်။

အောက်ဖော်ပြပါ အဆင့်ဆင့် ဥပမာသည် Python ရှိ Breusch-Godfrey စမ်းသပ်မှုကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြထားသည်။

အဆင့် 1: ဒေတာကိုဖန်တီးပါ။

ဦးစွာ၊ ကြိုတင်ခန့်မှန်းနိုင်သော ကိန်းရှင်နှစ်ခု (x1 နှင့် x2) နှင့် တုံ့ပြန်မှုကိန်းရှင် (y) ပါရှိသော ဒေတာအတွဲတစ်ခုကို ဖန်တီးကြပါစို့။

 import pandas as pd

#create dataset
df = pd. DataFrame ({' x1 ': [3, 4, 4, 5, 8, 9, 11, 13, 14, 16, 17, 20],
                   ' x2 ': [7, 7, 8, 8, 12, 4, 5, 15, 9, 17, 19, 19],
                    ' y ': [24, 25, 25, 27, 29, 31, 34, 34, 39, 30, 40, 49]})

#view first five rows of dataset
df. head ()

	x1 x2 y
0 3 7 24
1 4 7 25
2 4 8 25
3 5 8 27
4 8 12 29

အဆင့် 2- ဆုတ်ယုတ်မှုပုံစံကို အံကိုက်လုပ်ပါ။

ထို့နောက် ကြိုတင်ခန့်မှန်းကိန်းရှင်များနှင့် y တုံ့ပြန်မှုကိန်းရှင် အဖြစ် x1 နှင့် x2 ကို အသုံးပြု၍ များစွာသောမျဉ်းကြောင်းဆုတ်ယုတ်မှုပုံစံ တစ်ခုကို ကျွန်ုပ်တို့ အံဝင်ခွင်ကျဖြစ်စေနိုင်သည်။

 import statsmodels. api as sm

#define response variable
y = df[' y ']

#define predictor variables
x = df[[' x1 ', ' x2 ']]

#add constant to predictor variables
x = sm. add_constant (x)

#fit linear regression model
model = sm. OLS (y,x). fit ()

အဆင့် 3- Breusch-Godfrey စမ်းသပ်မှုကို လုပ်ဆောင်ပါ။

ထို့နောက်၊ ကျွန်ုပ်တို့သည် အမှာစာ p တွင် ကျန်ရှိသောအရာများကြားတွင် အော်တိုဆက်စပ်မှုကို စမ်းသပ်ရန်အတွက် Breusch-Godfrey စမ်းသပ်မှုကို လုပ်ဆောင်ပါမည်။ ဒီဥပမာအတွက် p =3 ကို ရွေးပါမယ်။

 import statsmodels. stats . diagnosis as dg

#perform Breusch-Godfrey test at order p = 3
print (dg. acorr_breusch_godfrey (model, nlags= 3 ))

(8.70314827, 0.0335094873, 5.27967224, 0.0403980576)

အထွက်၏ ပထမတန်ဖိုးသည် စမ်းသပ်စာရင်းအင်းကို ကိုယ်စားပြုပြီး ဒုတိယတန်ဖိုးသည် သက်ဆိုင်ရာ p-တန်ဖိုးကို ကိုယ်စားပြုသည်။

ရလဒ်မှ အောက်ပါတို့ကို ကျွန်ုပ်တို့ မြင်နိုင်သည်-

  • စမ်းသပ်စာရင်းဇယား X 2 = 8.7031
  • P-value = 0.0335

ဤ p-value သည် 0.05 ထက်နည်းသောကြောင့်၊ ကျွန်ုပ်တို့သည် null hypothesis ကို ငြင်းပယ်နိုင်ပြီး 3 ထက်နည်းသော သို့မဟုတ် ညီမျှသော အမှာစာ၏ကျန်ရှိသောကျန်ရှိပစ္စည်းများကြားတွင် အလိုအလျောက်ဆက်စပ်မှုရှိနေသည်ဟု ကောက်ချက်ချနိုင်ပါသည်။

autocorrelation ကို ဘယ်လိုဖြေရှင်းမလဲ။

အကယ်၍ သင်သည် null hypothesis ကို ငြင်းပယ်ပြီး ကျန်ရှိသော autocorrelation တွင် autocorrelation ရှိနေကြောင်း ကောက်ချက်ချပါက၊ ၎င်းကို လုံလောက်သည်ဟု သင်ယူဆပါက ဤပြဿနာကို ပြင်ရန် ရွေးချယ်စရာများစွာရှိသည်။

  • အပြုသဘောဆောင်သော အမှတ်စဉ်ဆက်နွှယ်မှုအတွက်၊ မော်ဒယ်သို့ မှီခိုမှုနှင့်/သို့မဟုတ် အမှီအခိုကင်းသော ကိန်းရှင်၏ နောက်ကျကျန်နေမှုများကို ထည့်သွင်းစဉ်းစားပါ။
  • အနှုတ်အမှတ်စဉ်ဆက်နွယ်မှုအတွက်၊ သင့် variable များထဲမှ တစ်ခုမျှ နှောင့်နှေးနေမည်မဟုတ်ကြောင်း သေချာပါစေ။
  • ရာသီအလိုက်ဆက်စပ်မှုအတွက်၊ မော်ဒယ်သို့ ရာသီအလိုက်အရုပ်များကို ထည့်စဉ်းစားပါ။

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

Python ရှိ Linear Regression အတွက် ပြီးပြည့်စုံသော လမ်းညွှန်
Python တွင် Durbin-Watson စမ်းသပ်မှုပြုလုပ်နည်း
Python တွင် Ljung-Box စမ်းသပ်နည်း

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

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