2-নমুনা অনুপাত পরীক্ষার জন্য এলএম ব্যবহার করে


12

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

## prop.test gives pooled 2-sample proportion result
## glm w/ binomial family gives unpooled 2-sample proportion result
## lm and glm w/ gaussian family give unknown result

library(dplyr)
library(broom)
set.seed(12345)

## set up dataframe -------------------------
n_A <- 5000
n_B <- 5000

outcome <- rbinom(
  n = n_A + n_B,
  size = 1,
  prob = 0.5
)
treatment <- c(
  rep("A", n_A),
  rep("B", n_B)
)

df <- tbl_df(data.frame(outcome = outcome, treatment = treatment))


## by hand, 2-sample prop tests ---------------------------------------------
p_A <- sum(df$outcome[df$treatment == "A"])/n_A
p_B <- sum(df$outcome[df$treatment == "B"])/n_B

p_pooled <- sum(df$outcome)/(n_A + n_B)
z_pooled <- (p_B - p_A) / sqrt( p_pooled * (1 - p_pooled) * (1/n_A + 1/n_B) )
pvalue_pooled <- 2*(1-pnorm(abs(z_pooled)))

z_unpooled <- (p_B - p_A) / sqrt( (p_A * (1 - p_A))/n_A + (p_B * (1 - p_B))/n_B )
pvalue_unpooled <- 2*(1-pnorm(abs(z_unpooled)))


## using prop.test --------------------------------------
res_prop_test <- tidy(prop.test(
  x = c(sum(df$outcome[df$treatment == "A"]), 
        sum(df$outcome[df$treatment == "B"])),
  n = c(n_A, n_B),
  correct = FALSE
))
res_prop_test # same as pvalue_pooled
all.equal(res_prop_test$p.value, pvalue_pooled)
# [1] TRUE


# using glm with identity link -----------------------------------
res_glm_binomial <- df %>%
  do(tidy(glm(outcome ~ treatment, family = binomial(link = "identity")))) %>%
  filter(term == "treatmentB")
res_glm_binomial # same as p_unpooled
all.equal(res_glm_binomial$p.value, pvalue_unpooled)
# [1] TRUE


## glm and lm gaussian --------------------------------

res_glm <- df %>%
  do(tidy(glm(outcome ~ treatment))) %>%
  filter(term == "treatmentB")
res_glm 
all.equal(res_glm$p.value, pvalue_unpooled)
all.equal(res_glm$p.value, pvalue_pooled)

res_lm <- df %>%
  do(tidy(lm(outcome ~ treatment))) %>% 
  filter(term == "treatmentB")
res_lm
all.equal(res_lm$p.value, pvalue_unpooled)
all.equal(res_lm$p.value, pvalue_pooled)

all.equal(res_lm$p.value, res_glm$p.value)
# [1] TRUE

উত্তর:


8

এটা দিয়ে কি না তা কিভাবে সমাধান অপ্টিমাইজেশান সমস্যা যে মডেল ঝুলানো মিলা, এটা প্রকৃত অপ্টিমাইজেশান সমস্যা মডেলের জাহির সঙ্গে কাজ করতে হবে।

বিশেষত, বড় নমুনাগুলিতে আপনি এটিকে কার্যকরভাবে দুটি ওজনযুক্ত সর্বনিম্ন স্কোয়ার সমস্যার তুলনা হিসাবে বিবেচনা করতে পারেন

লিনিয়ার মডেল ( lm) এক অনুমান করে (যখন অপ্রকাশিত হয়) যে অনুপাতের বৈচিত্রটি স্থির থাকে। উজ্জ্বলতা অনুমান করে যে অনুপাতের বৈচিত্রটি দ্বিপদী অনুমান বর্ণ । এটি ডেটার পয়েন্টগুলি আলাদাভাবে ওজন করে এবং তাই কিছুটা পৃথক প্রাক্কলন * এবং ভিন্নতার ভিন্নতাতে আসে।Var(p^)=Var(X/n)=p(1p)/n

* কমপক্ষে কয়েকটি পরিস্থিতিতে অনুপাতের সরাসরি তুলনা করার ক্ষেত্রে অগত্যা নয়


0

গণনার পরিপ্রেক্ষিতে, এলএম বনাম বোনমিয়াল গ্ল্যামের জন্য ট্রিটিবিবি সহগের মান ত্রুটির তুলনা করুন। বাইনোমিয়াল গ্ল্যামের (z_unpooled এর ডিনোমিনেটর) এর ট্রিটিবিবি সহগের স্ট্যান্ডার্ড ত্রুটির জন্য আপনার সূত্র রয়েছে। স্ট্যান্ডার্ড এলএম এর ট্রিটিবিবি সহগের স্ট্যান্ডার্ড ত্রুটিটি হ'ল (SE_lm):

    test = lm(outcome ~ treatment, data = df)
    treat_B =  as.numeric(df$treatment == "B")
    SE_lm = sqrt( sum(test$residuals^2)/(n_A+n_B-2) / 
              sum((treat_B - mean(treat_B))^2))

এই পোস্টটি একটি উপার্জনের জন্য দেখুন , কেবলমাত্র পার্থক্য হ'ল এখানে নমুনা ত্রুটিটি (অর্থাত্ স্বাধীনতার হারানো ডিগ্রিগুলির জন্য থেকে 2 বিয়োগ) এর পরিবর্তে পাওয়া যায় । যে ব্যতীত , l_m এবং দ্বিপদী গ্ল্যাম স্ট্যান্ডার্ড ত্রুটিগুলি আসলে সাথে মিলছে বলে মনে হয় ।σ2nA+nB2nA=nB

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