द्विपद प्रतिक्रियाओं के लिए एक विषमलैंगिक सामान्यीकृत रैखिक मॉडल फिटिंग


9

मेरे पास निम्न प्रयोगात्मक डिज़ाइन का डेटा है: मेरे अवलोकन सफलताओं की संख्या की गणना ( K) परीक्षणों की इसी संख्या से बाहर ( N) हैं, दो समूहों के लिए मापा जाता है जिनमें प्रत्येक Iव्यक्ति शामिल है , Tउपचार से, जहां इस तरह के प्रत्येक कारक संयोजन में Rप्रतिकृति हैं । इसलिए, कुल मिलाकर मेरे पास 2 * I * T * R K 's और इसी N ' s हैं।

डेटा जीव विज्ञान से हैं। प्रत्येक व्यक्ति एक जीन है जिसके लिए मैं दो वैकल्पिक रूपों के अभिव्यक्ति स्तर को मापता हूं (वैकल्पिक स्प्लिंग नामक एक घटना के कारण)। इसलिए, K रूपों में से एक का अभिव्यक्ति स्तर है और N , दो रूपों के अभिव्यक्ति स्तरों का योग है। एक भी व्यक्त की नकल में दो रूपों के बीच विकल्प एक Bernoulli प्रयोग माना जाता है, इसलिए K से बाहर एनप्रतियां एक द्विपद का अनुसरण करती हैं। प्रत्येक समूह में ~ 20 विभिन्न जीन शामिल होते हैं और प्रत्येक समूह के जीन में कुछ सामान्य कार्य होते हैं, जो दोनों समूहों के बीच भिन्न होता है। प्रत्येक समूह में प्रत्येक जीन के लिए मेरे पास तीन अलग-अलग ऊतकों (उपचार) में से 30 ऐसे माप हैं। मैं उस प्रभाव का अनुमान लगाना चाहता हूं जो समूह और उपचार के / K / N के प्रसरण पर है।

जीन अभिव्यक्ति को अतिविशिष्ट माना जाता है इसलिए नीचे दिए गए कोड में नकारात्मक द्विपद का उपयोग होता है।

उदाहरण के लिए, Rनकली डेटा का कोड:

library(MASS)
set.seed(1)
I = 20 # individuals in each group
G = 2  # groups
T = 3  # treatments
R = 30 # replicates of each individual, in each group, in each treatment

groups     = letters[1:G]
ids        = c(sapply(groups, function(g){ paste(rep(g, I), 1:I, sep=".") }))
treatments = paste(rep("t", T), 1:T, sep=".")
 # create random mean number of trials for each individual and 
 #  dispersion values to simulate trials from a negative binomial:
mean.trials = rlnorm(length(ids), meanlog=10, sdlog=1)
thetas      = 10^6/mean.trials
 # create the underlying success probability for each individual:
p.vec = runif(length(ids), min=0, max=1)
 # create a dispersion factor for each success probability, where the 
 #  individuals of group 2 have higher dispersion thus creating a group effect:
dispersion.vec = c(runif(length(ids)/2, min=0, max=0.1),
                   runif(length(ids)/2, min=0, max=0.2))
 # create empty an data.frame:
data.df = data.frame(id=rep(sapply(ids, function(i){ rep(i, R) }), T),
                     group=rep(sapply(groups, function(g){ rep(g, I*R) }), T),
                     treatment=c(sapply(treatments, 
                                        function(t){ rep(t, length(ids)*R) })),
                     N=rep(NA, length(ids)*T*R), 
                     K=rep(NA, length(ids)*T*R) )
 # fill N's and K's - trials and successes
for(i in 1:length(ids)){
  N     = rnegbin(T*R, mu=mean.trials[i], theta=thetas[i])
  probs = runif(T*R, min=max((1-dispersion.vec[i])*p.vec[i],0),
                max=min((1+dispersion.vec)*p.vec[i],1))
  K     = rbinom(T*R, N, probs)
  data.df$N[which(as.character(data.df$id) == ids[i])] = N
  data.df$K[which(as.character(data.df$id) == ids[i])] = K
}

मैं उन प्रभावों का आकलन करने में दिलचस्पी रखता हूं जो समूह और उपचार की सफलता की संभावनाओं के फैलाव (या संस्करण) पर हैं (यानी, K/N)। इसलिए मैं एक उपयुक्त चमक की तलाश कर रहा हूं जिसमें प्रतिक्रिया K / N हो, लेकिन प्रतिक्रिया के अपेक्षित मूल्य को मॉडलिंग के अलावा प्रतिक्रिया के विचरण को भी मॉडल किया गया है।

स्पष्ट रूप से, एक द्विपद सफलता की संभावना का विचलन परीक्षण की संख्या और अंतर्निहित सफलता की संभावना से प्रभावित होता है (परीक्षण की संख्या जितनी अधिक होती है और अंतर्निहित सफलता की संभावना उतनी ही चरम होती है (अर्थात, 0 या 1 के पास), कम सफलता की संभावना का विचरण), इसलिए मैं मुख्य रूप से परीक्षण और अंतर्निहित सफलता की संभावना से परे समूह और उपचार के योगदान में रुचि रखता हूं। मुझे लगता है कि प्रतिक्रिया के लिए आर्क्सिन वर्गमूल परिवर्तन को लागू करने से उत्तरार्द्ध खत्म हो जाएगा, लेकिन परीक्षण की संख्या नहीं।

हालांकि डिजाइन के ऊपर सिम्युलेटेड उदाहरण डेटा में संतुलित है (दो समूहों में प्रत्येक व्यक्ति की समान संख्या और प्रत्येक उपचार में प्रत्येक समूह से प्रत्येक व्यक्ति में समान संख्या में प्रतिकृति), मेरे वास्तविक डेटा में यह नहीं है - दो समूह करते हैं व्यक्तियों की समान संख्या नहीं है और प्रतिकृति की संख्या भिन्न होती है। इसके अलावा, मुझे लगता है कि व्यक्ति को एक यादृच्छिक प्रभाव के रूप में सेट किया जाना चाहिए।

नमूना भिन्नता बनाम प्लॉटिंग को अनुमानित सफलता की संभावना का नमूना मतलब (प्रत्येक व्यक्ति की पी हैट = के / एन के रूप में दर्शाया गया है) बताता है कि चरम सफलता संभावनाओं में कम विचरण है: यहाँ छवि विवरण दर्ज करें यहाँ छवि विवरण दर्ज करें

यह तब समाप्त हो जाता है जब अनुमानित सफलता संभावनाएं आर्किसिन वर्गमूल विचरण स्थिरीकरण परिवर्तन (आर्क्सिन (sqrt (p hat)) के रूप में निरूपित) का उपयोग करके परिवर्तित की जाती हैं: यहाँ छवि विवरण दर्ज करें

रूपांतरित अनुमानित सफलता संभावनाओं का नमूना विचलन बनाम मतलब N अपेक्षित नकारात्मक संबंध दर्शाता है: यहाँ छवि विवरण दर्ज करें

दो समूहों के लिए तब्दील अनुमानित सफलता संभावनाओं का नमूना प्रसरण प्लॉट करना दर्शाता है कि समूह बी में थोड़ा उच्च संस्करण हैं, जो मैंने डेटा का अनुकरण किया है: यहाँ छवि विवरण दर्ज करें

अंत में, तीन उपचारों के लिए रूपांतरित अनुमानित संभाव्यता के नमूना प्रसरण की साजिश में उपचार के बीच कोई अंतर नहीं दिखाया गया है, जो कि मैंने डेटा का अनुकरण कैसे किया है: यहाँ छवि विवरण दर्ज करें

क्या एक सामान्यीकृत रैखिक मॉडल का कोई रूप है जिसके साथ मैं सफलता की संभावनाओं के विचरण पर समूह और उपचार के प्रभावों को निर्धारित कर सकता हूं?

शायद एक विषमलैंगिक सामान्यीकृत रैखिक मॉडल या एक लॉगलाइनियर विचरण मॉडल के कुछ रूप?

एक मॉडल की पंक्तियों में कुछ जो कि ई (y) = X to के अलावा वेरिएंस (y) = Zλ को मॉडल करता है, जहां Z और X क्रमशः माध्य और विचरण के रजिस्ट्रार हैं, जो मेरे मामले में समान और शामिल होंगे उपचार (स्तर t.1, t.2, और t.3) और समूह (स्तर a और b), और शायद N और R, और इसलिए λ और उनके संबंधित प्रभावों का अनुमान लगाएगा।

वैकल्पिक रूप से, मैं एक मॉडल को प्रत्येक उपचार में प्रत्येक समूह से प्रत्येक जीन की प्रतिकृति के नमूने के नमूने के लिए फिट कर सकता हूं, जो एक चमक का उपयोग करता है जो केवल प्रतिक्रिया के अपेक्षित मूल्य को मॉडल करता है। यहां एकमात्र सवाल यह है कि इस तथ्य के लिए कैसे ध्यान दिया जाए कि विभिन्न जीनों में प्रतिकृति की अलग-अलग संख्या है। मुझे लगता है कि एक चमक में वजन उस के लिए जिम्मेदार हो सकता है (नमूना प्रतिरूप जो अधिक प्रतिकृतियों पर आधारित है, उसका वजन अधिक होना चाहिए) लेकिन वास्तव में कौन सा वजन निर्धारित किया जाना चाहिए?

नोट: मैंने dglmR पैकेज का उपयोग करने की कोशिश की है :

library(dglm)
dglm.fit = dglm(formula = K/N ~ 1, dformula = ~ group + treatment, family = quasibinomial, weights = N, data = data.df)
summary(dglm.fit)
Call: dglm(formula = K/N ~ 1, dformula = ~group + treatment, family = quasibinomial, 
    data = data.df, weights = N)

Mean Coefficients:
               Estimate Std. Error   t value     Pr(>|t|)
(Intercept) -0.09735366 0.01648905 -5.904138 3.873478e-09
(Dispersion Parameters for quasibinomial family estimated as below )

    Scaled Null Deviance: 3600 on 3599 degrees of freedom
Scaled Residual Deviance: 3600 on 3599 degrees of freedom

Dispersion Coefficients:
                Estimate Std. Error      z value  Pr(>|z|)
(Intercept)  9.140517930 0.04409586 207.28746254 0.0000000
group       -0.071009599 0.04714045  -1.50634107 0.1319796
treatment   -0.001469108 0.02886751  -0.05089138 0.9594121
(Dispersion parameter for Gamma family taken to be 2 )

    Scaled Null Deviance: 3561.3 on 3599 degrees of freedom
Scaled Residual Deviance: 3559.028 on 3597 degrees of freedom

Minus Twice the Log-Likelihood: 29.44568 
Number of Alternating Iterations: 5 

Dglm.fit के अनुसार समूह प्रभाव बहुत कमजोर है। मुझे आश्चर्य है कि क्या मॉडल सही सेट है या वह शक्ति है जो इस मॉडल के पास है।


1
यह थोड़ा अपारदर्शी है। क्या आप और अधिक विशेष रूप से कह सकते हैं कि आपकी स्थिति क्या है, शायद ठोस शब्दों में?
गूँग - मोनिका

1
मैंने अपनी पोस्ट संपादित की। लेकिन सामान्य तौर पर, मैं एक चमक की तलाश कर रहा हूं, जिसमें E (y) = X models के अलावा, मॉडल Variance (y) = Zλ, जहां X के स्तंभ प्रतिक्रिया के माध्य के लिए प्रतिगामी हों और Z के स्तंभ हों। प्रतिक्रिया के विचरण के लिए regressors, और और λ ऐसे पैरामीटर हैं जो क्रमशः माध्य और विचरण पर उनके प्रभावों का अनुमान लगाते हैं।
user1701545

2
मैं इतना इकट्ठा करता हूं, लेकिन इस तरह के अस्पष्ट शब्दों में इसके माध्यम से सोचना मुश्किल है। आप एक्स या जेड चर की चर्चा नहीं करते हैं, उदाहरण के लिए। आपका अध्ययन किस बारे में है? आपका डेटा क्या हैं? आदि
गुंग - को पुनः स्थापित मोनिका

कोई समस्या नहीं - अद्यतन पोस्ट देखें।
user1701545

जवाबों:


1

शायद आप जिस चीज की तलाश कर रहे हैं, उसे डबल सामान्यीकृत रैखिक मॉडल कहा जाता है, जहां माध्य और फैलाव पैरामीटर दोनों को मॉडल किया जाता है। ऐसे मॉडल को फिट करने के लिए डिज़ाइन किया गया एक आर पैकेज डगलम भी है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.