आर में एक गैर पैरामीट्रिक दोहराया-उपाय बहु-रास्ता अनोवा?


16

निम्नलिखित प्रश्न पिछले कुछ समय से मेरे लिए उन पवित्र कब्रों में से एक है, मुझे उम्मीद है कि कोई व्यक्ति एक अच्छी सलाह देने में सक्षम हो सकता है।

मैं आर का उपयोग करके एक गैर-पैरामीट्रिक दोहराया उपायों मल्टीवे एनोवा का प्रदर्शन करना चाहता हूं।

मैं कुछ समय से कुछ ऑनलाइन खोज और रीडिंग कर रहा हूं, और अब तक केवल कुछ मामलों के लिए समाधान खोजने में सक्षम था: एक तरह से nonparametric दोहराया उपायों एनोवा के लिए तपेदिक परीक्षण, {car} के साथ क्रमिक प्रतिगमन बहु मार्ग nonparametric के लिए एनोवा फ़ंक्शन एनोवा, और इतने पर। आंशिक समाधान वह नहीं है जो मैं इस प्रश्न सूत्र में खोज रहा हूं। मैंने कुछ समय पहले प्रकाशित एक पोस्ट में अपने निष्कर्षों को अब तक संक्षेप में प्रस्तुत किया है (शीर्षक: दोहराया उपायों एनोवा के साथ आर (फ़ंक्शन और ट्यूटोरियल) , मामले में यह किसी की मदद करेगा)


अगर मैं जो ऑनलाइन पढ़ता हूं वह सच है, यह कार्य एक मिश्रित ऑर्डिनल रिग्रेशन मॉडल (उर्फ: आनुपातिक ऑड्स मॉडल) का उपयोग करके प्राप्त किया जा सकता है।

मुझे ऐसे दो पैकेज मिले जो प्रासंगिक लगते हैं, लेकिन इस विषय पर कोई विगनेट नहीं पा सके:

इसलिए विषय के लिए नया होने के नाते, मैं यहां के लोगों से कुछ दिशाओं की उम्मीद कर रहा था।

क्या विषय पर कोई ट्यूटोरियल / सुझाव-पठन है? इससे भी बेहतर, क्या कोई इसे चलाने और R में विश्लेषण करने के लिए एक सरल उदाहरण कोड सुझा सकता है (उदाहरण के लिए: "गैर पैरामीट्रिक दोहराया उपाय मल्टीवे एनोवा")?


ताल, क्या मैं पूछ सकता हूं कि क्या आपको इसके लिए कोई समाधान मिला है? मुझे वही समस्या हो रही है, और नीचे दिए गए उत्तर एक उत्तर खोजने में सहायता करने में सहायक हो सकते हैं, लेकिन वास्तव में एक निश्चित उत्तर प्रदान नहीं करते हैं। मेरे पास 9 ऑर्डिनल DVs और 2 टाइम पॉइंट्स हैं, और मैं उसी टेस्ट की तलाश में हूं जिसे आप परफॉर्म करना चाहते थे।
टॉरवोन

1
हाय तोरवॉन। मैं कभी किसी हल से नहीं आया। मुझे लगता है कि क्रमपरिवर्तन परीक्षण सबसे सुरक्षित मार्ग होगा, लेकिन मुझे कभी बैठने और इसे काम करने का समय नहीं मिला। यदि आप करते हैं - कृपया अपना उत्तर पोस्ट करने के लिए फिर से आएं। चीयर्स, टी
ताल गैली

तुरंत जवाब के लिए धन्यवाद। मुझे यह काम करना पड़ेगा और आपको बता दूंगा।
टॉरवॉन

जवाबों:


8

ईज़ी पैकेज, जिनमें से मैं लेखक हूँ,) एक समारोह ezPerm कहा जाता है (जो एक क्रमचय परीक्षण की गणना करता है, लेकिन शायद बातचीत ठीक से काम नहीं करता (प्रलेखन मानते ज्यादा के रूप में)। नवीनतम संस्करण में एक फ़ंक्शन है जिसे ezBoot () कहा जाता है, जो आपको बूटस्ट्रैप को फिर से शुरू करने की अनुमति देता है जो बार-बार के उपायों को ध्यान में रखता है (विषयों को फिर से मापते हुए, फिर विषयों के भीतर), या तो पारंपरिक सेल साधनों का उपयोग भविष्यवाणी सांख्यिकीय के रूप में करता है या भविष्यवाणियां करने के लिए मिश्रित मॉडलिंग का उपयोग करता है। डिजाइन में प्रत्येक कोशिका के लिए। मुझे अब भी यकीन नहीं है कि मिश्रित प्रभाव मॉडल भविष्यवाणियों से बूटस्ट्रैप सीआई "गैर-पैरामीट्रिक" कैसे हैं; मेरा अंतर्ज्ञान यह है कि उन्हें यथोचित रूप से गैर-पैरामीट्रिक माना जा सकता है, लेकिन इस क्षेत्र में मेरा विश्वास कम है कि मैं अभी भी प्रभाव मॉडल के बारे में सीख रहा हूं।


हैलो माइक। उत्तर के लिए धन्यवाद, और आपके पैकेज के लिए - यह वास्तव में बहुत अच्छा है!
ताल गलि

@ माइक, आपका पैकेज मिश्रित मल्टीपल फैक्टर डिज़ाइन के लिए एकमात्र काम कर रहा है। aovpविकल्प - अनाथ से lmpermपैकेज - पी मूल्यों के लिए विशाल रूपों पैदा करता है, को देखने के लिए इस । मेरे पास कुछ प्रश्न हैं: मुझे इसके क्रियान्वयन के लिए ग्रंथ सूची कहां मिल सकती है ezPerm? मैं कैसे व्याख्या कर सकता हूं कि फ़ंक्शन संभवतः इंटरैक्शन ठीक से नहीं करता है ? इस मामले में पोस्ट-हॉक टेस्ट क्या हो सकता है? धन्यवाद!
टोटो_टिको

@ माइक, ezPerm( data = DATA, dv = DV, wid = WID, within = interaction(A,B), perms = 1e3)अगर इंटरेक्टिव का महत्व हो तो क्या कुछ डबल चेक करने का मन करेगा ?
14

5

जब संदेह में, बूटस्ट्रैप! वास्तव में, मैं ऐसे परिदृश्य को संभालने के लिए डिब्बाबंद प्रक्रिया के बारे में नहीं जानता।

बूटस्ट्रैपिंग हाथ में डेटा से कुछ त्रुटि पैरामीटर उत्पन्न करने का एक सामान्य रूप से लागू तरीका है। ठेठ पैरामीट्रिक मान्यताओं पर भरोसा करने के बजाय, बूटस्ट्रैप प्रक्रियाएं एक अनुभवजन्य वितरण उत्पन्न करने के लिए नमूने की विशेषताओं को भुनाने के लिए जिसके खिलाफ आपके नमूना अनुमानों की तुलना की जा सकती है।

Google विद्वान सोना है ... यह पहले किया गया है ... कम से कम एक बार।

लुनबर्ग, क्लिफोर्ड ई।; टूसिग्नेट, जेम्स पी।; 1985 "एफ्रॉन के बूटस्ट्रैप टू द एप्लीकेशन टू द रिपीटेड मेजर्स डिज़ाइन्स।" बहुभिन्नरूपी व्यवहार अनुसंधान; Apr85, वॉल्यूम। 20 अंक 2, पी 161, 18 पी


1
लीड ब्रेट के लिए धन्यवाद! मुझे आश्चर्य है कि अगर किसी को आर (अब मुझे नहीं लगता) में इसे लागू करने के लिए मिला।
ताल गैली

1
सही। R में बूटस्ट्रैप और अन्य रैंडमाइज़ेशन विधियों की सहायता के लिए बहुत सारी दिनचर्याएँ हैं, लेकिन मुझे नहीं पता कि आपको इस समस्या के लिए कुछ विशेष मिलेगा।
ब्रेट

बहुत अच्छा पहला वाक्य। मुझे आशा है कि यह कॉपीराइट नहीं है, क्योंकि मैं इसका उपयोग करने की योजना
बनाता हूं

0

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

विचार यह है: आप अपने लंबे डेटा को एक लंबे लंबे डेटासेट में सुधार करते हैं जिसमें आप एक नया DV बनाते हैं जिसमें आपके सभी DV प्रतिक्रियाएं शामिल होती हैं, और एक सूचकांक चर का उपयोग करते हैं जो इस परिणाम की भविष्यवाणी करने के लिए डीवीएस की प्रकृति के बारे में जानकारी रखता है।

मान लें कि आपके पास 9 अवसाद लक्षण (क्रम), 2 माप बिंदु और 300 विषय हैं। इसलिए जब आप अपने सामान्य डेटासेट में 300 पंक्तियाँ रखते हैं, और आपके लंबे डेटासेट में आपके पास 600 पंक्तियाँ होंगी, तो इस नए डाटासेट में 9 (लक्षण) x 2 (समय) x 300 (विषय) पंक्तियाँ होंगी।

नए DV चर "लक्षण" में अब 9 लक्षणों पर प्रतिभागियों की लक्षण गंभीरता शामिल है, चर "सूचकांक" में लक्षण (1 से 9) की प्रकृति के बारे में जानकारी होती है, और फिर दो चर "समय" और "होते हैं" यूज़र आईडी"।

ordinalइसे चलाने के लिए अब आप पैकेज का उपयोग कर सकते हैं ।

data<-read.csv("data_long_long.csv", head=T)

data$symptoms <- factor(data$symptoms)
data$time <- factor(data$time)
data$index <-factor(data$index)

m1<-clmm2(symptoms ~ index+time, random=UserID, data = data, Hess=TRUE, nAGQ=10)

मेरे विशिष्ट मामले में, मुझे दिलचस्पी थी कि क्या सूचकांक और समय के बीच एक महत्वपूर्ण बातचीत थी, इसलिए मैंने एक अतिरिक्त मॉडल चलाया और उनकी तुलना की:

m2<-clmm2(symptoms ~ index+time, random=UserID, data = data, Hess=TRUE, nAGQ=10)
anova(m1,m2)

CLMM2 एक यादृच्छिक अवरोधन मॉडल का उपयोग करता है (मेरे ज्ञान का सबसे अच्छा करने के लिए, पैकेज ordinalयादृच्छिक ढलान नहीं करता है), यदि आप एक यादृच्छिक अवरोधन मॉडल के लिए नहीं करते हैं तो आप CLM का उपयोग करने के बजाय मॉडल चला सकते हैं, जैसे:

m3<-clm(symptoms ~ index+time, data = data)

1
एम 1 और एम 2 बिल्कुल समान नहीं हैं, शायद आपका मतलब है clmm2(symptoms ~ index*time, random=UserID, data = data, Hess=TRUE, nAGQ=10) anova(m1,m2)। क्या आप किसी भी मौका से जानते हैं कि नए क्लैम फ़ंक्शन के साथ इसे कैसे व्यक्त किया जाए? मैं संकेतन के बारे में निश्चित नहीं हूं।
टोटू_टिको
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.