সাধারণ চি স্কোয়ার পরীক্ষার বিকল্প হিসাবে গ্ল্যাম () ব্যবহার করা


15

আমি glm()আর ব্যবহার করে নাল হাইপোথেসিগুলি পরিবর্তন করতে আগ্রহী

উদাহরণ স্বরূপ:

x = rbinom(100, 1, .7)  
summary(glm(x ~ 1, family = "binomial"))

অনুমানটি পরীক্ষা করে যে p=0.5 । আমি যদি নালকে p = কিছু স্বেচ্ছাচারী মানতে পরিবর্তন করতে চাই তবে কী হবে glm()?

আমি জানি যে এটি দিয়েও করা যেতে পারে prop.test()এবং chisq.test()তবে আমি glm()শ্রেণিবদ্ধ ডেটা সম্পর্কিত সমস্ত অনুমান পরীক্ষা করার জন্য ধারণাটি অন্বেষণ করতে চাই ।


7
+1 টি। স্পষ্টরূপে বাইনমিয়াল প্যারামিটার বোঝায় একটি সম্ভাব্যতা হিসাবে প্রকাশ। যেহেতু প্রাকৃতিক লিঙ্কটি (এবং একটি ডিফল্টরূপে ব্যবহৃত ) লগইট হয় তাই বিভ্রান্তি এড়ানোর জন্য পি এর লজিট থেকে পৃথক করা গুরুত্বপূর্ণ , এটি লগের প্রতিকূল লগ ( পি / ( 1 - পি ) )pglmplog(p/(1p))
শুক্র

উত্তর:


19

আপনি একটি অফসেট ব্যবহার করতে পারেন : লগ-প্রতিক্রিয়া বা লগইট স্কেলে অনুমানের প্যারামিটার glmসহ family="binomial", তাই লগ-প্রতিক্রিয়া বা 0 এর সম্ভাব্যতার সাথে সামঞ্জস্য করে। আপনি যদি পি এর সম্ভাবনার সাথে তুলনা করতে চান তবে আপনি বেসলাইন মানটি Q = লজিট ( পি ) = লগ ( পি / ( 1 - পি ) ) হতে চান । পরিসংখ্যান মডেল এখনβ0=0pq=logit(p)=log(p/(1p))

YBinom(μ)μ=1/(1+exp(η))η=β0+q

যেখানে কেবলমাত্র শেষ লাইনটি স্ট্যান্ডার্ড সেটআপ থেকে পরিবর্তিত হয়েছে। আর কোডে:

  • offset(q)সূত্র ব্যবহার
  • লগিট / লগ-প্রতিক্রিয়া ফাংশন হয় qlogis(p)
  • কিছুটা বিরক্তিকরভাবে, আপনাকে প্রতিক্রিয়া ভেরিয়েবলের প্রতিটি উপাদানটির জন্য একটি অফসেট মান সরবরাহ করতে হবে - আর স্বয়ংক্রিয়ভাবে আপনার জন্য একটি ধ্রুবক মান প্রতিলিপি করবে না। এটি একটি ডেটা ফ্রেম সেট আপ করে নীচে করা হয়েছে, তবে আপনি কেবল ব্যবহার করতে পারেন rep(q,100)
x = rbinom(100, 1, .7)
dd <- data.frame(x, q = qlogis(0.7)) 
summary(glm(x ~ 1 + offset(q), data=dd, family = "binomial"))

2
(+1) এটি আপনাকে ওয়াল্ড পরীক্ষা দেবে। একটি এলআরটি নাল মডেল ফিটিং glm(y ~ offset(q)-1, family=binomial, data=dd)এবং প্যাকেজ lrtestথেকে ব্যবহার করা যেতে পারে lmtest। পিয়ারসনের চি-স্কোয়ার পরীক্ষাটি জিএলএম মডেলের স্কোর পরীক্ষা। ওয়াল্ড / এলআরটি / স্কোর সবই ধারাবাহিক পরীক্ষা এবং যুক্তিসঙ্গত বৃহত নমুনার আকারগুলিতে সমতুল্য অনুক্রম সরবরাহ করা উচিত।
অ্যাডমো

1
আমি মনে করি আপনি anova()এলআর পরীক্ষা পেতে গ্ল্যামের বেস বেস থেকেও ব্যবহার করতে পারেন
বেন বলকার

আকর্ষণীয়, আমি আনোভা ব্যবহারের অভ্যাসটি হারিয়ে ফেলেছি। যাইহোক, আমি anova যেহেতু পরীক্ষার জন্য pvalue প্রিন্ট করতে রাজি পালন lrtestকরে।
অ্যাডমো

2
হয়তো anova(.,test="Chisq")?
বেন বলকার

6

আপনার জিএলএমের পরামিতিগুলির জন্য আত্মবিশ্বাসের ব্যবধানটি দেখুন:

> set.seed(1)
> x = rbinom(100, 1, .7)
> model<-glm(x ~ 1, family = "binomial")
> confint(model)
Waiting for profiling to be done...
    2.5 %    97.5 % 
0.3426412 1.1862042 

লগ-প্রতিকূলতার জন্য এটি একটি আত্মবিশ্বাসের ব্যবধান।

জন্য আমরা আছে লগ ( গুলি ) = লগ পিp=0.5log(odds)=logp1p=log1=0p=0.5

p


1
p<0.05

2
confintp<0,05

2

হাইপোথিসিস টেস্ট হিসাবে glm.summary ফাংশনে z- / t- মানগুলির উপর ভিত্তি করে p- মানগুলি ব্যবহার করা (সম্পূর্ণরূপে) সঠিক / সঠিক নয়।

  1. এটি বিভ্রান্তিকর ভাষা। রিপোর্ট করা মানগুলির নাম দেওয়া হয়েছে জেড-মান। তবে এক্ষেত্রে তারা সত্য বিচ্যুতির জায়গায় আনুমানিক স্ট্যান্ডার্ড ত্রুটি ব্যবহার করে । সুতরাং বাস্তবে তারা টি-মানগুলির কাছাকাছি । নিম্নলিখিত তিনটি আউটপুট তুলনা করুন:
    1) সারাংশ.glm
    2) টি-পরীক্ষা
    3) জেড-পরীক্ষা

    > set.seed(1)
    > x = rbinom(100, 1, .7)
    
    > coef1 <- summary(glm(x ~ 1, offset=rep(qlogis(0.7),length(x)), family = "binomial"))$coefficients
    > coef2 <- summary(glm(x ~ 1, family = "binomial"))$coefficients
    
    > coef1[4]  # output from summary.glm
    [1] 0.6626359
    > 2*pt(-abs((qlogis(0.7)-coef2[1])/coef2[2]),99,ncp=0) # manual t-test
    [1] 0.6635858
    > 2*pnorm(-abs((qlogis(0.7)-coef2[1])/coef2[2]),0,1) # manual z-test
    [1] 0.6626359
  2. এগুলি সঠিক পি-মান নয়। দ্বি দ্বি বিতরণ ব্যবহার করে পি-মানটির সঠিক গণনা আরও ভাল কাজ করবে (আজকাল কম্পিউটিং পাওয়ার সাথে, এটি কোনও সমস্যা নয়)। টি-বিতরণ, ত্রুটির কোনও গাউসীয় বিতরণ ধরে নেওয়া সঠিক নয় (এটি পি-এর চেয়ে বেশি বোঝায়, আলফা স্তরকে অতিক্রম করে "বাস্তবতায়" কম দেখা যায়)। নিম্নলিখিত তুলনা দেখুন:

    # trying all 100 possible outcomes if the true value is p=0.7
    px <- dbinom(0:100,100,0.7)
    p_model = rep(0,101)
    for (i in 0:100) {
      xi = c(rep(1,i),rep(0,100-i))
      model = glm(xi ~ 1, offset=rep(qlogis(0.7),100), family="binomial")
      p_model[i+1] = 1-summary(model)$coefficients[4]
    }
    
    
    # plotting cumulative distribution of outcomes
    outcomes <- p_model[order(p_model)]
    cdf <- cumsum(px[order(p_model)])
    plot(1-outcomes,1-cdf, 
         ylab="cumulative probability", 
         xlab= "calculated glm p-value",
         xlim=c(10^-4,1),ylim=c(10^-4,1),col=2,cex=0.5,log="xy")
    lines(c(0.00001,1),c(0.00001,1))
    for (i in 1:100) {
      lines(1-c(outcomes[i],outcomes[i+1]),1-c(cdf[i+1],cdf[i+1]),col=2)
    #  lines(1-c(outcomes[i],outcomes[i]),1-c(cdf[i],cdf[i+1]),col=2)
    }
    
    title("probability for rejection as function of set alpha level")

    আলফা দ্বারা প্রত্যাখ্যানের সিডিএফ

    কালো বাঁক সমতা প্রতিনিধিত্ব করে। লাল বক্ররেখার নীচে এটি। এর অর্থ হ'ল গ্ল্যাম সংক্ষিপ্তসার ফাংশন দ্বারা প্রদত্ত গণনা করা পি-মানের জন্য, আমরা এই পরিস্থিতিটি (বা বৃহত্তর পার্থক্য) পি-মান নির্দেশের চেয়ে বাস্তবে কম দেখি।


হুম .. আমি কোনও জিএলএম এর জন্য টি বিতরণ ব্যবহারের যুক্তি সম্পর্কে বিভ্রান্ত হতে পারি। আমি এখানে জিজ্ঞাসা করা কোনও সম্পর্কিত প্রশ্নটিতে শিখর নিতে পারেন ?
অ্যাডমো

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

2
(3) দ্বিপদী প্রতিক্রিয়ার জন্য 'নির্ভুল' আত্মবিশ্বাসের ব্যবস্থাগুলি আসলে জটিল ('সঠিক' [ক্লপার-উইলসন] অন্তরগুলি রক্ষণশীল হয়; স্কোর পরীক্ষা কিছু রেঞ্জের চেয়ে আরও ভাল পারফরম্যান্স করতে পারে
বেন বলকার

@ বেন আপনি ঠিক বলেছেন যে জেড-টেস্টটি টি-টেস্টের চেয়ে ভাল। উত্তরে প্রদর্শিত গ্রাফটি জেড-পরীক্ষার জন্য। এটি GLM ফাংশনের আউটপুট ব্যবহার করে। আমার উত্তরের নীচের অংশটি ছিল যে "পি-মান" একটি কৌতুকপূর্ণ জিনিস। সুতরাং, আমি এটি স্পষ্টভাবে গণনা করা ভাল বলে মনে করি, উদাহরণস্বরূপ একটি গ্ল্যাম ফাংশন থেকে পি-মান বের করার পরিবর্তে সাধারণ বিতরণ ব্যবহার করে, যা খুব সহজেই অফসেটের সাহায্যে স্থানান্তরিত হয়েছে তবে পি-মানটির জন্য গণনার মূল লুকিয়ে রাখে ।
সেক্সটাস এম্পেরিকাস

1
@ বেনবোলকার, আমি বিশ্বাস করি যে সঠিক পরীক্ষাটি সত্যই রক্ষণশীল, কিন্তু ... কেবলমাত্র বাস্তবে আমরা নিখুঁত দ্বিপদী বিতরণ থেকে নমুনা নিচ্ছি না। বিকল্প জেড-পরীক্ষাটি, অভিজ্ঞতাগত দৃষ্টিকোণ থেকে আরও ভাল । এটি হ'ল দুটি "ত্রুটি" একে অপরকে বাতিল করে 1) দ্বিপদী বিতরণ ব্যবহারিক পরিস্থিতিতে অবশিষ্টাংশগুলির প্রকৃত বিতরণ না হওয়া, 2) জেড-ডিস্ট্রিবিউশন দ্বিপদী বিতরণের জন্য সঠিক প্রকাশ নয়। ভুল মডেলটির জন্য আমাদের ভুল বিতরণকে পছন্দ করা উচিত কিনা তা সন্দেহজনক , কারণ অনুশীলনে এটি 'ওকে' পরিণত হয়।
সেক্সটাস এম্পেরিকাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.