লগইট বা প্রবিট মডেলটিতে চয়নসেন সহগের একযোগে সমতার জন্য কীভাবে পরীক্ষা করবেন?


14

লগইট বা প্রবিট মডেলটিতে চয়নসেন সহগের একযোগে সমতার জন্য কীভাবে পরীক্ষা করবেন? স্ট্যান্ডার্ড পদ্ধতির কী এবং শিল্প পদ্ধতির অবস্থা কী?

উত্তর:


30

ওয়াল্ড পরীক্ষা

একটি মানক পদ্ধতির হ'ল ওয়াল্ড পরীক্ষা । এই কি Stata কমান্ড test একটি logit বা probit রিগ্রেশন পর আছে। আসুন দেখি কীভাবে এটি আর তে কাজ করে একটি উদাহরণ দেখে:

mydata <- read.csv("http://www.ats.ucla.edu/stat/data/binary.csv") # Load dataset from the web
mydata$rank <- factor(mydata$rank)
mylogit <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial") # calculate the logistic regression

summary(mylogit)

Coefficients:
             Estimate Std. Error z value Pr(>|z|)    
(Intercept) -3.989979   1.139951  -3.500 0.000465 ***
gre          0.002264   0.001094   2.070 0.038465 *  
gpa          0.804038   0.331819   2.423 0.015388 *  
rank2       -0.675443   0.316490  -2.134 0.032829 *  
rank3       -1.340204   0.345306  -3.881 0.000104 ***
rank4       -1.551464   0.417832  -3.713 0.000205 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

বলুন, আপনি হাইপোথিসিস βR=βপিএকটি vs. βRβপিএকটি । এটি পরীক্ষার সমতুল্য βR-βপিএকটি=0। ওয়াল্ড পরীক্ষার পরিসংখ্যান হ'ল:

ওয়াট=(β^-β0)SE^(β^)~এন(0,1)

অথবা

ওয়াট2=(θ^-θ0)2var(θ^)~χ12

আমাদের θ এখানে β - β পি একটি এবং θ 0 = 0 । সুতরাং আমাদের কেবল দরকার β g r e - β g p a এর স্ট্যান্ডার্ড ত্রুটি । আমরা ডেল্টা পদ্ধতিতে স্ট্যান্ডার্ড ত্রুটি গণনা করতে পারি :θ^βR-βপিএকটিθ0=0βR-βপিএকটি

গুলি^(βR-βপিএকটি)var(βR)+ +var(βপিএকটি)-2Cov(βR,βপিএকটি)

সুতরাং আমাদের এবং β g p a এর সমবায় প্রয়োজন । লজিস্টিক রিগ্রেশন চালানোর পরে কমান্ড দিয়ে ভেরিয়েন্স-কোভারিয়েন্স ম্যাট্রিক্স বের করা যেতে পারে :βRβপিএকটিvcov

var.mat <- vcov(mylogit)[c("gre", "gpa"),c("gre", "gpa")]

colnames(var.mat) <- rownames(var.mat) <- c("gre", "gpa")

              gre           gpa
gre  1.196831e-06 -0.0001241775
gpa -1.241775e-04  0.1101040465

শেষ পর্যন্ত, আমরা স্ট্যান্ডার্ড ত্রুটি গণনা করতে পারি:

se <- sqrt(1.196831e-06 + 0.1101040465 -2*-0.0001241775)
se
[1] 0.3321951

সুতরাং আপনার ওয়াল্ড ভ্যালু হয়z

wald.z <- (gre-gpa)/se
wald.z
[1] -2.413564

ভ্যালু পেতে , কেবলমাত্র স্ট্যান্ডার্ড সাধারণ বিতরণটি ব্যবহার করুন:p

2*pnorm(-2.413564)
[1] 0.01579735

এই ক্ষেত্রে আমাদের কাছে প্রমাণ রয়েছে যে সহগগুলি একে অপরের থেকে পৃথক। এই পদ্ধতির দুটি বেশি সহগকে প্রসারিত করা যেতে পারে।

ব্যবহার multcomp

এটি বরং ক্লান্তিকর গণনাগুলি প্যাকেজটি Rব্যবহারের ক্ষেত্রে সহজেই করা যেতে পারে multcomp। এখানে উপরের মত একই উদাহরণ কিন্তু দিয়ে সম্পন্ন multcomp:

library(multcomp)

glht.mod <- glht(mylogit, linfct = c("gre - gpa = 0"))

summary(glht.mod)    

Linear Hypotheses:
               Estimate Std. Error z value Pr(>|z|)  
gre - gpa == 0  -0.8018     0.3322  -2.414   0.0158 *

confint(glht.mod)

সহগের পার্থক্যের জন্য একটি আত্মবিশ্বাসের ব্যবধানও গণনা করা যায়:

Quantile = 1.96
95% family-wise confidence level


Linear Hypotheses:
               Estimate lwr     upr    
gre - gpa == 0 -0.8018  -1.4529 -0.1507

অতিরিক্ত উদাহরণগুলির জন্য multcomp, এখানে বা এখানে দেখুন


সম্ভাবনা অনুপাত পরীক্ষা (এলআরটি)

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

D=2(LLaLL0)χdf1df22

সম্ভাবনা অনুপাত পরীক্ষার পরিসংখ্যান একটি χ 2 অনুসরণ করেχ2 স্বাধীন ডিগ্রীগুলির ভেরিয়েবল সংখ্যা পার্থক্য হচ্ছে -distribution। আমাদের ক্ষেত্রে, এটি 2।

সম্ভাবনা অনুপাত পরীক্ষা সঞ্চালন, আমরা সঙ্গে মডেল মাপসই প্রয়োজন বাধ্যতা দুই likelihoods তুলনা পাবে। সম্পূর্ণ মডেলের ফর্ম লগ রয়েছে ( পি i)βgre=βgpa। আমাদের সীমাবদ্ধতার মডেলটির ফর্ম রয়েছে:লগ(পি আই)

log(pi1pi)=β0+β1gre+β2gpa+β3rank2+β4rank3+β5rank4
log(pi1pi)=β0+β1(gre+gpa)+β2rank2+β3rank3+β4rank4
mylogit2 <- glm(admit ~ I(gre + gpa) + rank, data = mydata, family = "binomial")

আমাদের ক্ষেত্রে, আমরা logLikএকটি লজিস্টিক রিগ্রেশন পরে দুটি মডেলের লগ-সম্ভাবনা নিষ্কাশন করতে ব্যবহার করতে পারি :

L1 <- logLik(mylogit)
L1
'log Lik.' -229.2587 (df=6)

L2 <- logLik(mylogit2)
L2
'log Lik.' -232.2416 (df=5)

সম্পূর্ণ মডেলের তুলনায় (-229.26) তুলনায় এই মডেলটির সীমাবদ্ধতা রয়েছে greএবং gpaএতে সামান্য উচ্চতর লগ-সম্ভাবনা রয়েছে (-232.24)। আমাদের সম্ভাবনা অনুপাত পরীক্ষার পরিসংখ্যান হ'ল:

D <- 2*(L1 - L2)
D
[1] 16.44923

χ22p

1-pchisq(D, df=1)
[1] 0.01458625

p -value যা নির্দেশ করে কোফিসিয়েন্টস ভিন্ন খুবই ছোট।

আর এর মধ্যে সম্ভাবনা অনুপাত পরীক্ষা অন্তর্নির্মিত রয়েছে; আমরা anovaলাইকহুড অনুপাত পরীক্ষা গণনা করতে ফাংশনটি ব্যবহার করতে পারি :

anova(mylogit2, mylogit, test="LRT")

Analysis of Deviance Table

Model 1: admit ~ I(gre + gpa) + rank
Model 2: admit ~ gre + gpa + rank
  Resid. Df Resid. Dev Df Deviance Pr(>Chi)  
1       395     464.48                       
2       394     458.52  1   5.9658  0.01459 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

আবার, আমরা শক্তিশালী প্রমাণ যে কোফিসিয়েন্টস আছে greএবং gpaএকে অপরের থেকে উল্লেখযোগ্যভাবে ভিন্ন।


স্কোর পরীক্ষা (ওরফে রাওর স্কোর টেস্ট ওরফে লাগরেঞ্জ মাল্টিপ্লায়ার টেস্ট)

U(θ)logL(θ|x)θx

U(θ)=logL(θ|x)θ

I(θ)θ

S(θ0)=U(θ02)I(θ0)χ12

স্কোর পরীক্ষাটি ব্যবহার করেও গণনা করা যায় anova(স্কোর পরীক্ষার পরিসংখ্যানগুলিকে "রাও" বলা হয়):

anova(mylogit2, mylogit,  test="Rao")

Analysis of Deviance Table

Model 1: admit ~ I(gre + gpa) + rank
Model 2: admit ~ gre + gpa + rank
  Resid. Df Resid. Dev Df Deviance    Rao Pr(>Chi)  
1       395     464.48                              
2       394     458.52  1   5.9658 5.9144  0.01502 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

উপসংহারটি আগের মতোই।


বিঃদ্রঃ


1
আমি ভাবছি কেন হ্রাস করা মডেলটি কেবল বাদ দেয় greএবং gpa? পরীক্ষা হচ্ছে নাβ1=β2=0, না β1=β2? আমার কাছে, সঠিকভাবে পরীক্ষা করাβ1=β2, আমাদের রাখা greএবং এর মধ্যে gpaচাপিয়ে দেওয়া দরকারβGRE=βজিপিএ
সিবস জুয়ারিং

1
@ সিবসগাম্বলিং ভাল ক্যাচ! আমি সেই অনুযায়ী আমার উত্তর আপডেট করেছি।
কোলসারড্যাশ

এটি কি কেবল ধারাবাহিক ভবিষ্যদ্বাণীকের মধ্যে সীমাবদ্ধ, বা আমি - উদাহরণস্বরূপ - আরও দেখতে পারি যে একটি শ্রেণিবদ্ধ ভেরিয়েবলের দুটি স্তর উল্লেখযোগ্যভাবে পৃথক কিনা? ধরা যাক, র‌্যাঙ্ক 3 এবং র‌্যাঙ্ক 4 এর মধ্যে পার্থক্য কি তাৎপর্যপূর্ণ?
ড্যানিয়েল

1
@ ড্যানিয়েল হ্যাঁ, এই পদ্ধতিটি একটি শ্রেণিবদ্ধ পরিবর্তনশীল স্তরের জন্যও ব্যবহার করা যেতে পারে। multcompপ্যাকেজ বিশেষ করে সহজ করে তোলে। উদাহরণস্বরূপ, এটি ব্যবহার করে দেখুন: glht.mod <- glht(mylogit, linfct = c("rank3 - rank4= 0"))। তবে একটি আরও সহজ উপায় rank3হ'ল রেফারেন্স স্তরটি (ব্যবহার করে mydata$rank <- relevel(mydata$rank, ref="3")) করা এবং তারপরে কেবল সাধারণ রিগ্রেশন আউটপুট ব্যবহার করা। ফ্যাক্টরের প্রতিটি স্তরকে রেফারেন্স স্তরের সাথে তুলনা করা হয়। এর জন্য পি-মানটি rank4পছন্দসই তুলনা হবে।
কোলসারড্যাশ

1
@ ড্যানিয়েল মডেল আউটপুট থেকে পি মানগুলি (পরিবর্তিত রেফারেন্স স্তর) এবং glhtআমার জন্য প্রায় (একইভাবে )0,591)। আপনার দ্বিতীয় প্রশ্নটি সম্পর্কে: linfct = c("rank3 - rank4= 0")কেবলমাত্র একটি লিনিয়ার অনুমান mcp(rank="Tukey")পরীক্ষা করে যেখানে সমস্ত 6 টি যুক্তযুক্ত তুলনা পরীক্ষা করে rank। সুতরাং পি-মানগুলি একাধিক তুলনার জন্য সামঞ্জস্য করতে হবে। এর অর্থ হ'ল টুকির পরীক্ষা ব্যবহার করে পি-মানগুলি একক তুলনার চেয়ে সাধারণত বেশি।
COOLSerdash

9

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

সাধারণভাবে, আপনি পরীক্ষার পদ্ধতির সম্পূর্ণ ট্রিনিটি ব্যবহার করতে পারেন, যেমন

সম্ভাবনা-অনুপাত পরীক্ষার

LM-টেস্ট

মধ্যে Wald-টেস্ট

প্রতিটি পরীক্ষা বিভিন্ন পরীক্ষা-পরিসংখ্যান ব্যবহার করে। স্ট্যান্ডার্ড পদ্ধতির তিনটি পরীক্ষার একটি গ্রহণ করা হবে। তিনটিই যৌথ পরীক্ষা করতে ব্যবহার করা যেতে পারে।

এলআর পরীক্ষাটি একটি সীমাবদ্ধ এবং সীমাহীন মডেলের লগ-সম্ভাবনার পার্থক্য ব্যবহার করে। সুতরাং সীমাবদ্ধ মডেলটি এমন মডেল, যাতে নির্দিষ্ট সহগগুলি শূন্যকে সেট করা থাকে। অব্যবস্থাপনা হ'ল "সাধারণ" মডেল। ওয়াল্ড পরীক্ষার সুবিধা রয়েছে, কেবলমাত্র অনিবন্ধিত মডেলই অনুমান করা হয়। এটি মূলত জিজ্ঞাসা করে, সীমাবদ্ধতাটি যদি নির্বিঘ্নিত এমএলইতে মূল্যায়ন করা হয় তবে প্রায় সন্তুষ্ট কিনা? লেগ্রঞ্জ-গুণক পরীক্ষার ক্ষেত্রে কেবলমাত্র সীমাবদ্ধ মডেলটিই অনুমান করতে হবে। বিধিনিষেধযুক্ত এমএল অনুমানকারীটি সীমাহীন মডেলের স্কোর গণনা করতে ব্যবহৃত হয়। এই স্কোরটি সাধারণত শূন্য হয় না, সুতরাং এই তাত্পর্যটি এলআর পরীক্ষার ভিত্তি। আপনার প্রসঙ্গে এলএম-পরীক্ষাটি হিটারোসেসিস্টাস্টিটির পরীক্ষার জন্যও ব্যবহার করা যেতে পারে।


7

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

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

clear all
set more off

// data preparation
sysuse nlsw88, clear

gen byte edcat = cond(grade <  12, 1,     ///
                 cond(grade == 12, 2, 3)) ///
                 if grade < .
label define edcat 1 "less than high school" ///
                   2 "high school"           ///
                   3 "more than high school"
label value edcat edcat
label variable edcat "education in categories"

// create cascading dummies, i.e.
// edcat2 compares high school with less than high school
// edcat3 compares more than high school with high school
gen byte edcat2 = (edcat >= 2) if edcat < .
gen byte edcat3 = (edcat >= 3) if edcat < .

keep union edcat2 edcat3 race south
bsample 150 if !missing(union, edcat2, edcat3, race, south)

// constraining edcat2 = edcat3 is equivalent to adding 
// a linear effect (in the log odds) of edcat
constraint define 1 edcat2 = edcat3

// estimate the constrained model
logit union edcat2 edcat3 i.race i.south, constraint(1)

// predict the probabilities
predict pr
gen byte ysim = .
gen w = .

program define sim, rclass
    // create a dependent variable such that the null hypothesis is true
    replace ysim = runiform() < pr

    // estimate the constrained model
    logit ysim edcat2 edcat3 i.race i.south, constraint(1)
    est store constr

    // score test
    tempname b0
    matrix `b0' = e(b)
    logit ysim edcat2 edcat3 i.race i.south, from(`b0') iter(0)
    matrix chi = e(gradient)*e(V)*e(gradient)'
    return scalar p_score = chi2tail(1,chi[1,1])

    // estimate unconstrained model
    logit ysim edcat2 edcat3 i.race i.south 
    est store full

    // Wald test
    test edcat2 = edcat3
    return scalar p_Wald = r(p)

    // likelihood ratio test
    lrtest full constr
    return scalar p_lr = r(p)
end

simulate p_score=r(p_score) p_Wald=r(p_Wald) p_lr=r(p_lr), reps(2000) : sim
simpplot p*, overall reps(20000) scheme(s2color) ylab(,angle(horizontal))

enter image description here


2
@ জেন-বোহোল্ড একটি ল্যাঞ্জরেঞ্জ গুণক (এলএম) পরীক্ষা বলে তার জন্য স্কোর পরীক্ষাটি একটি আলাদা নাম।
মার্টেন বুইস

সুন্দর উত্তর (+1)। আমি বিশেষত সিমুলেশনটির প্রচেষ্টা পছন্দ করি। স্টাটাতে স্কোর টেস্ট কীভাবে গণনা করতে হবে তা আমি জানতাম না। ধন্যবাদ।
COOLSerdash
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.