Python ရှိ goldfeld-quandt စမ်းသပ်နည်း


Goldfeld-Quandt စမ်းသပ်မှု သည် ဆုတ်ယုတ်မှုပုံစံတွင် heteroskedasticity ရှိမရှိ ဆုံးဖြတ်ရန် အသုံးပြုသည်။

Heteroscedasticity သည် ဆုတ်ယုတ်မှု ပုံစံတစ်ခုရှိ တုံ့ပြန်မှု ပုံစံတစ်ခု၏ မတူညီသောအဆင့်များတွင် အကြွင်းအကျန်များ မညီမျှစွာ ပျံ့နှံ့သွားခြင်းကို ရည်ညွှန်းသည်။

heteroskedasticity ရှိနေပါက၊ ၎င်းသည် အကြွင်းအကျန်များကို တုံ့ပြန်မှုကိန်းရှင် အဆင့်တစ်ခုစီတွင် အညီအမျှ ခွဲဝေပေးသည့် မျဉ်းကြောင်းဆုတ်ယုတ်မှု၏ အဓိက ယူဆချက် တစ်ခုကို ချိုးဖောက်ပါသည်။

ဤသင်ခန်းစာသည် Python ရှိ Goldfeld-Quandt စမ်းသပ်မှုကို လုပ်ဆောင်ပုံအဆင့်ဆင့်ကို ဥပမာပေးထားသည်။

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

ဤဥပမာအတွက်၊ အတန်းတစ်ခန်းတွင် ကျောင်းသား ၁၃ ဦးမှရရှိသော နာရီများ၊ ကြိုတင်ပြင်ဆင်မှုစာမေးပွဲများနှင့် နောက်ဆုံးစာမေးပွဲရလဒ်များပါရှိသော အောက်ပါပန်ဒါ DataFrame ကို ဖန်တီးကြပါစို့။

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6],
                   ' exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2],
                   ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96]})

#view DataFrame
print (df)

    hours exam score
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72
5 1 2 69
6 5 1 94
7 4 1 94
8 2 0 88
9 4 3 92
10 4 4 90
11 3 3 75
12 6 2 96

အဆင့် 2- linear regression model ကို အံကိုက်လုပ်ပါ။

ထို့နောက်၊ ကျွန်ုပ်တို့သည် တုံ့ပြန်မှုကိန်းရှင်အဖြစ် ခန့်မှန်းကိန်းရှင်များနှင့် ရမှတ်များအဖြစ် နာရီများ နှင့် စာမေးပွဲများကို အသုံးပြု၍ မျဉ်းကြောင်းအတိုင်း ဆုတ်ယုတ်မှုပုံစံကို ဖြည့်သွင်းပါမည်-

 import statsmodels. api as sm

#define predictor and response variables
y = df[' score ']
x = df[[' hours ', ' exams ']]

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

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

#view model summary
print ( model.summary ())

                            OLS Regression Results                            
==================================================== ============================
Dept. Variable: R-squared score: 0.718
Model: OLS Adj. R-squared: 0.661
Method: Least Squares F-statistic: 12.70
Date: Mon, 31 Oct 2022 Prob (F-statistic): 0.00180
Time: 09:22:56 Log-Likelihood: -38.618
No. Observations: 13 AIC: 83.24
Df Residuals: 10 BIC: 84.93
Model: 2                                         
Covariance Type: non-robust                                         
==================================================== ============================
                 coef std err t P>|t| [0.025 0.975]
-------------------------------------------------- ----------------------------
const 71.4048 4.001 17.847 0.000 62.490 80.319
hours 5.1275 1.018 5.038 0.001 2.860 7.395
exams -1.2121 1.147 -1.057 0.315 -3.768 1.344
==================================================== ============================
Omnibus: 1,103 Durbin-Watson: 1,248
Prob(Omnibus): 0.576 Jarque-Bera (JB): 0.803
Skew: -0.289 Prob(JB): 0.669
Kurtosis: 1.928 Cond. No. 11.7
==================================================== ============================

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

ထို့နောက် Goldfeld-Quandt စမ်းသပ်မှုကို လုပ်ဆောင်ရန် statsmodels het_goldfeldquandt() လုပ်ဆောင်ချက်ကို အသုံးပြုပါမည်။

မှတ်ချက် – Goldfeld-Quandt စမ်းသပ်မှုသည် ဒေတာအစု၏ အလယ်ဗဟိုတွင်ရှိသော စူးစမ်းလေ့လာမှုအများအပြားကို ဖယ်ရှားပြီး ကျန်အကြွင်းအကျန်များ ဖြန့်ကျက်မှုသည် ဗဟိုလေ့လာတွေ့ရှိချက်များ၏ ဘေးတစ်ဖက်စီတွင် ချိတ်ဆက်ထားသော ရလဒ်ဒေတာအတွဲနှစ်ခုနှင့် ကွဲပြားမှုရှိမရှိ စစ်ဆေးခြင်းတို့ဖြင့် လုပ်ဆောင်သည်။

ပုံမှန်အားဖြင့်၊ ကျွန်ုပ်တို့သည် စုစုပေါင်းလေ့လာတွေ့ရှိချက်များ၏ 20% ခန့်ကို ဖယ်ရှားရန် ရွေးချယ်သည်။ ဤကိစ္စတွင်၊ ကျွန်ုပ်တို့သည် လေ့လာတွေ့ရှိချက်များ၏ 20% ကို ဖယ်ရှားလိုကြောင်း သတ်မှတ်ရန် drop argument ကို အသုံးပြုနိုင်ပါသည်။

 #perform Goldfeld-Quandt test
sm. stats . diagnosis . het_goldfeldquandt (y, x, drop= 0.2 )

(1.7574505407790355, 0.38270288684680076, 'increasing')

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

  • စမ်းသပ်မှုစာရင်းအင်းသည် 1,757 ဖြစ်သည်။
  • သက်ဆိုင်ရာ p-value သည် 0.383 ဖြစ်သည်။

Goldfeld-Quandt စမ်းသပ်မှုတွင် အောက်ပါ null နှင့် အခြားအခြားသော အယူအဆများကို အသုံးပြုသည် ။

  • Null (H 0 ) : Homoskedasticity ရှိနေသည်။
  • အစားထိုး ( HA ): Heteroskedasticity ရှိနေပါသည်။

p-value သည် 0.05 ထက်မနည်းသောကြောင့်၊ null hypothesis ကို ငြင်းပယ်ရန် ပျက်ကွက်ပါသည်။

heteroskedasticity သည် regression model တွင် ပြဿနာတစ်ခုဖြစ်ကြောင်း စောဒကတက်ရန် လုံလောက်သော အထောက်အထားမရှိပါ။

ဘာဆက်လုပ်ရမလဲ

Goldfeld-Quandt စမ်းသပ်မှု၏ null hypothesis ကို သင် ငြင်းဆိုရန် ပျက်ကွက်ပါက၊ heteroscedasticity သည် မရှိနိုင်ဘဲ မူလဆုတ်ယုတ်မှု၏ ရလဒ်ကို သင် ဆက်လက် အနက်ဖွင့်နိုင်သည်။

သို့သော်၊ သင်သည် null hypothesis ကို ငြင်းပယ်ပါက၊ heteroskedasticity သည် data တွင် ရှိနေသည်ဟု ဆိုလိုသည်။ ဤကိစ္စတွင်၊ regression output table တွင်ပြသထားသော standard errors များသည် စိတ်ချရမည်မဟုတ်ပါ။

ဤပြဿနာကို ဖြေရှင်းရန် ဘုံနည်းလမ်းများစွာ အပါအဝင်၊

1. တုံ့ပြန်မှုကိန်းရှင်ကို ပြောင်းလဲပါ။

ဥပမာအားဖြင့် တုံ့ပြန်မှုကိန်းရှင်တွင် အသွင်ပြောင်းခြင်းကို လုပ်ဆောင်နိုင်သည်၊ ဥပမာအားဖြင့် တုံ့ပြန်မှုကိန်းရှင် ၏ မှတ်တမ်း၊ စတုရန်းရတ် သို့မဟုတ် cube အမြစ်ကို ရယူပါ။ ယေဘူယျအားဖြင့်၊ ၎င်းသည် မျိုးရိုးလိုက်ခြင်းကို ပျောက်စေနိုင်သည်။

2. အလေးချိန် ဆုတ်ယုတ်မှုကို သုံးပါ။

Weighted regression သည် ၎င်း၏ တပ်ဆင်ထားသော တန်ဖိုး၏ ကွဲလွဲမှုကို အခြေခံ၍ ဒေတာအမှတ်တစ်ခုစီသို့ အလေးချိန်ကို သတ်မှတ်ပေးသည်။ အခြေခံအားဖြင့်၊ ၎င်းသည် ၎င်းတို့ကျန်ရှိသော စတုရန်းများကို လျှော့ချပြီး ပိုမိုကွဲပြားမှုများရှိသည့် ဒေတာအမှတ်များကို နိမ့်စေပါသည်။

သင့်လျော်သောအလေးများကိုအသုံးပြုသောအခါ၊ အလေးချိန်ပြန်ဆုတ်ခြင်းသည် heteroskedasticity ပြဿနာကို ဖယ်ရှားပေးနိုင်သည်။

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

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

Python တွင် OLS ဆုတ်ယုတ်မှုကို မည်သို့လုပ်ဆောင်ရမည်နည်း
Python တွင် Residual Plot ဖန်တီးနည်း
Python တွင် White’s Test ကို မည်သို့လုပ်ဆောင်ရမည်နည်း။
Python တွင် Breusch-Pagan စမ်းသပ်မှုပြုလုပ်နည်း

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

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