উত্তর:
একটি মানক পদ্ধতির হ'ল ওয়াল্ড পরীক্ষা । এই কি 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
বলুন, আপনি হাইপোথিসিস vs. । এটি পরীক্ষার সমতুল্য । ওয়াল্ড পরীক্ষার পরিসংখ্যান হ'ল:
অথবা
আমাদের θ এখানে β ছ দ ই - β ছ পি একটি এবং θ 0 = 0 । সুতরাং আমাদের কেবল দরকার β g r e - β g p a এর স্ট্যান্ডার্ড ত্রুটি । আমরা ডেল্টা পদ্ধতিতে স্ট্যান্ডার্ড ত্রুটি গণনা করতে পারি :
সুতরাং আমাদের এবং β g p a এর সমবায় প্রয়োজন । লজিস্টিক রিগ্রেশন চালানোর পরে কমান্ড দিয়ে ভেরিয়েন্স-কোভারিয়েন্স ম্যাট্রিক্স বের করা যেতে পারে :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
সুতরাং আপনার ওয়াল্ড ভ্যালু হয়
wald.z <- (gre-gpa)/se
wald.z
[1] -2.413564
ভ্যালু পেতে , কেবলমাত্র স্ট্যান্ডার্ড সাধারণ বিতরণটি ব্যবহার করুন:
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 , সম্ভাবনা অনুপাত পরীক্ষার পরিসংখ্যান হল:
সম্ভাবনা অনুপাত পরীক্ষার পরিসংখ্যান একটি χ 2 অনুসরণ করে স্বাধীন ডিগ্রীগুলির ভেরিয়েবল সংখ্যা পার্থক্য হচ্ছে -distribution। আমাদের ক্ষেত্রে, এটি 2।
সম্ভাবনা অনুপাত পরীক্ষা সঞ্চালন, আমরা সঙ্গে মডেল মাপসই প্রয়োজন বাধ্যতা দুই likelihoods তুলনা পাবে। সম্পূর্ণ মডেলের ফর্ম লগ রয়েছে ( পি i)। আমাদের সীমাবদ্ধতার মডেলটির ফর্ম রয়েছে:লগ(পি আই)
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
1-pchisq(D, df=1)
[1] 0.01458625
-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
একে অপরের থেকে উল্লেখযোগ্যভাবে ভিন্ন।
স্কোর পরীক্ষাটি ব্যবহার করেও গণনা করা যায় 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
উপসংহারটি আগের মতোই।
বিঃদ্রঃ
multcomp
প্যাকেজ বিশেষ করে সহজ করে তোলে। উদাহরণস্বরূপ, এটি ব্যবহার করে দেখুন: glht.mod <- glht(mylogit, linfct = c("rank3 - rank4= 0"))
। তবে একটি আরও সহজ উপায় rank3
হ'ল রেফারেন্স স্তরটি (ব্যবহার করে mydata$rank <- relevel(mydata$rank, ref="3")
) করা এবং তারপরে কেবল সাধারণ রিগ্রেশন আউটপুট ব্যবহার করা। ফ্যাক্টরের প্রতিটি স্তরকে রেফারেন্স স্তরের সাথে তুলনা করা হয়। এর জন্য পি-মানটি rank4
পছন্দসই তুলনা হবে।
glht
আমার জন্য প্রায় (একইভাবে ))। আপনার দ্বিতীয় প্রশ্নটি সম্পর্কে: linfct = c("rank3 - rank4= 0")
কেবলমাত্র একটি লিনিয়ার অনুমান mcp(rank="Tukey")
পরীক্ষা করে যেখানে সমস্ত 6 টি যুক্তযুক্ত তুলনা পরীক্ষা করে rank
। সুতরাং পি-মানগুলি একাধিক তুলনার জন্য সামঞ্জস্য করতে হবে। এর অর্থ হ'ল টুকির পরীক্ষা ব্যবহার করে পি-মানগুলি একক তুলনার চেয়ে সাধারণত বেশি।
আপনি যদি আপনার ভেরিয়েবলগুলি নির্দিষ্ট করে থাকেন তবে সেগুলি বাইনারি বা অন্য কিছু হয়। আমি মনে করি আপনি বাইনারি ভেরিয়েবল সম্পর্কে কথা বলবেন। প্রোবাইট এবং লগইট মডেলের বহুজাতিক সংস্করণও রয়েছে।
সাধারণভাবে, আপনি পরীক্ষার পদ্ধতির সম্পূর্ণ ট্রিনিটি ব্যবহার করতে পারেন, যেমন
সম্ভাবনা-অনুপাত পরীক্ষার
LM-টেস্ট
মধ্যে Wald-টেস্ট
প্রতিটি পরীক্ষা বিভিন্ন পরীক্ষা-পরিসংখ্যান ব্যবহার করে। স্ট্যান্ডার্ড পদ্ধতির তিনটি পরীক্ষার একটি গ্রহণ করা হবে। তিনটিই যৌথ পরীক্ষা করতে ব্যবহার করা যেতে পারে।
এলআর পরীক্ষাটি একটি সীমাবদ্ধ এবং সীমাহীন মডেলের লগ-সম্ভাবনার পার্থক্য ব্যবহার করে। সুতরাং সীমাবদ্ধ মডেলটি এমন মডেল, যাতে নির্দিষ্ট সহগগুলি শূন্যকে সেট করা থাকে। অব্যবস্থাপনা হ'ল "সাধারণ" মডেল। ওয়াল্ড পরীক্ষার সুবিধা রয়েছে, কেবলমাত্র অনিবন্ধিত মডেলই অনুমান করা হয়। এটি মূলত জিজ্ঞাসা করে, সীমাবদ্ধতাটি যদি নির্বিঘ্নিত এমএলইতে মূল্যায়ন করা হয় তবে প্রায় সন্তুষ্ট কিনা? লেগ্রঞ্জ-গুণক পরীক্ষার ক্ষেত্রে কেবলমাত্র সীমাবদ্ধ মডেলটিই অনুমান করতে হবে। বিধিনিষেধযুক্ত এমএল অনুমানকারীটি সীমাহীন মডেলের স্কোর গণনা করতে ব্যবহৃত হয়। এই স্কোরটি সাধারণত শূন্য হয় না, সুতরাং এই তাত্পর্যটি এলআর পরীক্ষার ভিত্তি। আপনার প্রসঙ্গে এলএম-পরীক্ষাটি হিটারোসেসিস্টাস্টিটির পরীক্ষার জন্যও ব্যবহার করা যেতে পারে।
স্ট্যান্ডার্ড পন্থাগুলি হ'ল ওয়াল্ড পরীক্ষা, সম্ভাবনা অনুপাতের পরীক্ষা এবং স্কোর পরীক্ষা। তাত্পর্যপূর্ণভাবে তাদের একই হওয়া উচিত। আমার অভিজ্ঞতায় সম্ভাবনা অনুপাতের পরীক্ষাগুলি সীমাবদ্ধ নমুনাগুলিতে সিমুলেশনগুলিতে কিছুটা আরও ভাল সঞ্চালন করতে ঝোঁক, তবে যে ক্ষেত্রে এই বিষয়গুলি খুব চরম (ছোট নমুনা) পরিস্থিতিতে থাকবে যেখানে আমি এই পরীক্ষাগুলি কেবল মোটামুটি হিসাবে গ্রহণ করব। যাইহোক, আপনার মডেল (কোভেরিয়েটের সংখ্যা, মিথস্ক্রিয়া প্রভাবগুলির উপস্থিতি) এবং আপনার ডেটা (বহুবিশ্লেতা, আপনার নির্ভরশীল ভেরিয়েবলের প্রান্তিক বিতরণ) এর উপর নির্ভর করে আশ্চর্যজনকভাবে অল্প সংখ্যক পর্যবেক্ষণের দ্বারা "অ্যাসিপটোটিয়ার আশ্চর্যজনক কিংডম" ভালভাবে অনুমেয় হতে পারে।
নীচে ওয়াল্ড ব্যবহার করে স্টাটাতে এমন অনুকরণের উদাহরণ দেওয়া হয়েছে, সম্ভাব্য অনুপাত এবং কেবলমাত্র 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))
gre
এবংgpa
? পরীক্ষা হচ্ছে নাgre
এবং এর মধ্যেgpa
চাপিয়ে দেওয়া দরকার