এই দুটি ব্রুশ-পৌত্তলিক টেস্টের মধ্যে পার্থক্য কী?


9

কিছু ডেটাতে আর ব্যবহার করে এবং আমার ডেটা হিটেরোসেসটাস্টিক কিনা তা দেখার চেষ্টা করে, আমি ব্রুশ -প্যাগান পরীক্ষার দুটি বাস্তবায়ন পেয়েছি, বিপিটেস্ট (প্যাকেজ এলমিস্টেস্ট) এবং এনসিভিটেষ্ট (প্যাকেজ কার)। যাইহোক, এই বিভিন্ন ফলাফল উত্পাদন। এই দুটির মধ্যে পার্থক্য কী? আপনি কখন এক বা অন্যটি ব্যবহার করবেন?

> model <- lm(y ~ x)
> bp <- bptest(model)
> bp
studentized Breusch-Pagan test

data:  model 
BP = 3.3596, df = 1, p-value = 0.06681

> ncvTest(model)
Non-constant Variance Score Test 
Variance formula: ~ fitted.values 
Chisquare = 3.858704    Df = 1     p = 0.04948855 

এই উদাহরণটি দেখায় যে পরীক্ষাগুলি অনুসারে, আমার ডেটা এক ক্ষেত্রে হেটেরোসেসটেস্টিক এবং অন্য ক্ষেত্রে হোমোসেসডেস্টিক। আমি এই প্রশ্নটি এখানে পেয়েছি যাতে করে বেপটেষ্টটি স্ট্যান্ডিনেটেড হতে পারে এবং এনসিভিস্টেস্ট নাও হতে পারে তবে এর অর্থ কী?

উত্তর:


9

আপনার অনুমান সঠিক, ncvTestব্রুশ-পৌত্তলিক পরীক্ষার মূল সংস্করণ সম্পাদন করে। এটি এর সাথে তুলনা করে যাচাই করা যেতে পারে bptest(model, studentize = FALSE)। (আস @ Helix123 নির্দিষ্ট দুই ফাংশন যেমন ডিফল্ট আর্গুমেন্ট হিসাবে অন্যান্য দিক ভিন্ন, এক প্যাকেজের ম্যানুয়াল পরীক্ষা করা উচিত lmtestএবং carআরো বিস্তারিত জন্য।)

স্ট্রেনটাইজড ব্রুশ-পৌত্তলিক পরীক্ষাটি আর কোয়েঙ্কার ১৯৮১ সালে তাঁর নোট হেটেরোসেসাস্টাস্টিটির জন্য একটি টেস্ট স্টাডেনজাইজিং-এর একটি নিবন্ধে প্রস্তাব করেছিলেন । দুটির মধ্যে সবচেয়ে স্পষ্ট পার্থক্য হ'ল তারা বিভিন্ন পরীক্ষার পরিসংখ্যান ব্যবহার করে। যথা, আসুন এটিকে স্টুডেন্টাইজড পরীক্ষার পরিসংখ্যান এবং the আসলটি হিসাবে বিবেচনা করুন,ξ*ξ^

ξ^=λξ*,λ=var(ε2)2var(ε)2

এখানে কোডের একটি স্নিপেট রয়েছে যা দেখায় যে আমি সবে লিখেছি ( farawayপ্যাকেজ থেকে নেওয়া ডেটা ):

> mdl = lm(final ~ midterm, data = stat500)
> bptest(mdl)

    studentized Breusch-Pagan test

data:  mdl
BP = 0.86813, df = 1, p-value = 0.3515

> bptest(mdl, studentize = FALSE)

    Breusch-Pagan test

data:  mdl
BP = 0.67017, df = 1, p-value = 0.413

> ncvTest(mdl)
Non-constant Variance Score Test 
Variance formula: ~ fitted.values 
Chisquare = 0.6701721    Df = 1     p = 0.4129916 
> 
> n = nrow(stat500)
> e = residuals(mdl)
> bpmdl = lm(e^2 ~ midterm, data = stat500)
> lambda = (n - 1) / n * var(e^2) / (2 * ((n - 1) / n * var(e))^2)
> Studentized_bp = n * summary(bpmdl)$r.squared
> Original_bp = Studentized_bp * lambda
> 
> Studentized_bp
[1] 0.8681335
> Original_bp
[1] 0.6701721

কেন কেউ কেন আসল বিপি পরীক্ষাটি স্টাডি করতে চায়, আর কোয়েঙ্কারের নিবন্ধের সরাসরি উদ্ধৃতি সহায়ক হতে পারে:

... এই বিশ্লেষণ থেকে দুটি সিদ্ধান্ত উদ্ভূত:

  1. Breusch এবং পৌত্তলিক পরীক্ষার মধ্যে asymptotic ক্ষমতার বণ্টনের সূঁচালতা অত্যন্ত সংবেদনশীল , এবংε
  2. পরীক্ষার অ্যাসিম্পটোটিক আকারটি শুধুমাত্র গাউসিয়ান কুর্তোসিসের ক্ষেত্রে বিশেষ।

প্রাক্তন উপসংহারটি কোয়েঙ্কার এবং বাসেটে (1981) প্রসারিত হয়েছে যেখানে ভিন্ন ভিন্ন ভিন্ন ভিন্ন ভিন্ন শক্তিশালীকরণের জন্য শক্তিশালী পরীক্ষার পরামর্শ দেওয়া হয়েছে। আধুনিক উপসংহার যে বোঝা তাত্পর্য মাত্রা Breusch এবং পৌত্তলিক দ্বারা প্রস্তাবিত শুধুমাত্র গসিয়ান অবস্থার অধীনে সঠিক হতে হবে । শর্ত সাধারণত অন্ধ বিশ্বাসের উপর ঠেলে দেন এবং যাচাই করার জন্য কুখ্যাতিপূর্ণভাবে কঠিন হয় সাল থেকে, Breusch এবং পৌত্তলিক পরীক্ষার একটি পরিবর্তন পরামর্শ দেওয়া হয় যা সঠিকভাবে "studentise" পরীক্ষা পরিসংখ্যাত এবং এসিম্পটোটিকভাবে সঠিক তাত্পর্য মাত্রা বাড়ে জন্য ডিস্ট্রিবিউশন একটি যুক্তিসঙ্গতভাবে বড় ক্লাসের জন্য ।εε

সংক্ষেপে, স্টুডেন্টেড বিপি পরীক্ষাটি মূল পরীক্ষার চেয়ে বেশি শক্তিশালী।


2
তবে, আরও একটি পার্থক্য রয়েছে: ncvTestএবং bptestঅবশিষ্টাংশগুলি ব্যাখ্যা করতে , যথাক্রমে যুক্তিগুলি var.formulaএবং দেখুন বিভিন্ন ভেরিয়েবল ব্যবহার করুন varformula। আপনি একবার আপনার উদাহরণে অন্য রেজিস্ট্রার যুক্ত করলে ফলাফলগুলি বিচ্যুত হবে।
হেলিক্স 123

@ হেলিক্স 123: আপনাকে ধন্যবাদ, আমার ধারণা আমি এটি মিস করেছি।
ফ্রান্সিস

2

ব্যবহারিক ক্ষেত্রে, ncvTestসমীকরণের বাম-হাত bptestব্যবহার করে এবং ডিফল্টরূপে ডান-হাত-পাশ ব্যবহার করে।

এর অর্থ হ'ল এর ক্ষেত্রে Y ~ Xউভয় পরীক্ষা একই ফলাফল প্রদান করবে ( studentize = Fবিকল্পের সাথে সম্পর্কিত bptest)। তবে একটি বহুবিধ বিশ্লেষণে যেমন Y ~ X1 + X2ফলাফলগুলি পৃথক হবে। (@ হেলিক্স 123 হিসাবে চিহ্নিত)

এর সহায়তা ফাইল থেকে ncvTest : var.formula: "ত্রুটি বৈকল্পের জন্য একতরফা সূত্র; যদি বাদ দেওয়া হয় তবে ত্রুটির বৈকল্পিক লাগানো মানগুলির উপর নির্ভর করে " " যার অর্থ হ'ল, ডিফল্টরূপে, লাগানো মানগুলি ব্যবহৃত হবে, তবে এটি স্বাধীন ভেরিয়েবলগুলির একটি লিনিয়ার সংমিশ্রণ (X1 + X2) ব্যবহার করতে দেয়।

এর সহায়তা ফাইল থেকে bptest : varformula: "ডিফল্টরূপে একই ব্যাখ্যামূলক ভেরিয়েবলগুলি মূল রিগ্রেশন মডেল হিসাবে নেওয়া হয়।"

@ ফ্রাঙ্কিসের একই উদাহরণ ( প্যাকেজ stat500থেকে ডেটা faraway) চালিয়ে যাওয়া :

> mdl_t = lm(final ~ midterm + hw, data = stat500)

বিপি পরীক্ষা, লাগানো মানগুলি ব্যবহার করে:

> ncvTest(mdl_t) # Default

Non-constant Variance Score Test 
Variance formula: ~ fitted.values 
Chisquare = 0.6509135    Df = 1     p = 0.4197863 

> bptest(mdl_t, varformula = ~ fitted.values(mdl_t), studentize = F)

Breusch-Pagan test

data:  mdl_t
BP = 0.65091, df = 1, p-value = 0.4198

বিপি পরীক্ষা, ভবিষ্যদ্বাণীকারীদের একটি লিনিয়ার সংমিশ্রণ ব্যবহার করে:

> ncvTest(mdl_t, var.formula = ~ midterm + hw)
Non-constant Variance Score Test 
Variance formula: ~ midterm + hw 
Chisquare = 0.7689743    Df = 2     p = 0.6807997 

> bptest(mdl_t, studentize = F) # Default

Breusch-Pagan test

data:  mdl_t
BP = 0.76897, df = 2, p-value = 0.6808

"লিনিয়ার সংমিশ্রণ বিকল্প" একটি নির্দিষ্ট স্বতন্ত্র ভেরিয়েবলের লিনিয়ার নির্ভরতার সাথে সম্পর্কিত হেটেরোস্কেস্টাস্টিটি তদন্ত করতে দেয়। উদাহরণস্বরূপ, কেবল hwপরিবর্তনশীল:

> ncvTest(mdl_t, var.formula = ~ hw)
Non-constant Variance Score Test 
Variance formula: ~ hw 
Chisquare = 0.04445789    Df = 1     p = 0.833004 

> bptest(mdl_t, varformula = ~ stat500$hw, studentize = F)

Breusch-Pagan test

data:  mdl_t
BP = 0.044458, df = 1, p-value = 0.833

সর্বশেষে, যেমন @Francis সংক্ষিপ্ত, "সংক্ষেপে, studentized বিপি পরীক্ষা মূল একাধিক শক্তসমর্থ হল" আমি সাধারণত সঙ্গে যেতে bptest, সঙ্গে studentize = TRUE(ডিফল্ট) এবং varformula = ~ fitted.values(my.lm), বিকল্প হিসাবে homoskedasticity জন্য ইনিশিয়াল পদ্ধতির জন্য।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.