দ্রাঘিমাংশীয় ডেটাসেট বিশ্লেষণে অ্যাওভ () এবং lme () ব্যবহারের মধ্যে পার্থক্য কী?


14

অনুগ্রহপূর্বক ডেটা ব্যবহার aov()lme()বিশ্লেষণের মধ্যে কী কী আমাকে এই দুটি পদ্ধতি থেকে ফলাফল ব্যাখ্যা করতে পারে তার মধ্যে পার্থক্য বলতে পারে ?

নীচে, আমি একই ডেটা সেটটি ব্যবহার বিশ্লেষণ aov()এবং lme()এবং পেয়েছিলাম 2 টি পৃথক ফলাফল নেই। সাথে aov(), আমি চিকিত্সার মিথস্ক্রিয়া দ্বারা সময় একটি উল্লেখযোগ্য ফলাফল পেয়েছি, কিন্তু একটি রৈখিক মিশ্র মডেল ফিট, চিকিত্সা মিথস্ক্রিয়া সময় সময় নগণ্য।

> UOP.kg.aov <- aov(UOP.kg~time*treat+Error(id), raw3.42)
> summary(UOP.kg.aov)

Error: id
          Df  Sum Sq Mean Sq F value Pr(>F)
treat      1   0.142  0.1421  0.0377 0.8471
Residuals 39 147.129  3.7725               

Error: Within
            Df  Sum Sq Mean Sq  F value  Pr(>F)    
time         1 194.087 194.087 534.3542 < 2e-16 ***
time:treat   1   2.077   2.077   5.7197 0.01792 *  
Residuals  162  58.841   0.363                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

> UOP.kg.lme <- lme(UOP.kg~time*treat, random=list(id=pdDiag(~time)), 
                    na.action=na.omit, raw3.42)
> summary(UOP.kg.lme)
Linear mixed-effects model fit by REML
 Data: raw3.42 
       AIC      BIC    logLik
  225.7806 248.9037 -105.8903

Random effects:
 Formula: ~time | id
 Structure: Diagonal
        (Intercept)      time  Residual
StdDev:   0.6817425 0.5121545 0.1780466

Fixed effects: UOP.kg ~ time + treat + time:treat 
                 Value Std.Error  DF   t-value p-value
(Intercept)  0.5901420 0.1480515 162  3.986059  0.0001
time         0.8623864 0.1104533 162  7.807701  0.0000
treat       -0.2144487 0.2174843  39 -0.986042  0.3302
time:treat   0.1979578 0.1622534 162  1.220053  0.2242
 Correlation: 
           (Intr) time   treat 
time       -0.023              
treat      -0.681  0.016       
time:treat  0.016 -0.681 -0.023

Standardized Within-Group Residuals:
         Min           Q1          Med           Q3          Max 
-3.198315285 -0.384858426  0.002705899  0.404637305  2.049705655 

Number of Observations: 205
Number of Groups: 41 

উত্তর:


19

আপনার বর্ণনার উপর ভিত্তি করে, এটি প্রদর্শিত হয় যে আপনার একক চিকিত্সা ফ্যাক্টর সহ একটি পুনরাবৃত্তি-পরিমাপ মডেল রয়েছে। যেহেতু আমার কাছে ডেটাসেটের অ্যাক্সেস নেই ( raw3.42), তাই আমি nlmeএখানে কী চলছে তা চিত্রিত করার জন্য প্যাকেজ থেকে অর্থোডন্টের ডেটা ব্যবহার করব । ডেটা স্ট্রাকচার একই (দুটি পৃথক গোষ্ঠীর জন্য পুনরাবৃত্তি পরিমাপ - এই ক্ষেত্রে, পুরুষ এবং মহিলা)।

আপনি যদি নিম্নলিখিত কোডটি চালান:

library(nlme)
data(Orthodont)

res <- lme(distance ~ age*Sex, random = ~ 1 | Subject, data = Orthodont)
anova(res)

আপনি নিম্নলিখিত ফলাফল পাবেন:

            numDF denDF  F-value p-value
(Intercept)     1    79 4123.156  <.0001
age             1    79  122.450  <.0001
Sex             1    25    9.292  0.0054
age:Sex         1    79    6.303  0.0141

আপনি যদি চালান:

res <- aov(distance ~ age*Sex + Error(Subject), data = Orthodont)
summary(res)

তুমি পাবে:

Error: Subject
          Df Sum Sq Mean Sq F value   Pr(>F)   
Sex        1 140.46 140.465  9.2921 0.005375 **
Residuals 25 377.91  15.117                    

Error: Within
          Df  Sum Sq Mean Sq  F value  Pr(>F)    
age        1 235.356 235.356 122.4502 < 2e-16 ***
age:Sex    1  12.114  12.114   6.3027 0.01410 *  
Residuals 79 151.842   1.922                     

উল্লেখ্য, এফ-টেস্টগুলি হুবহু একরকম।

কারণ lme(), আপনি ব্যবহার করেছেন list(id=pdDiag(~time)), যা কেবলমাত্র মডেলটিতে একটি এলোমেলো ইন্টারসেসকেই নয়, এটি একটি এলোমেলো .ালও যুক্ত করে। তদুপরি, ব্যবহার করে pdDiag, আপনি এলোমেলো ইন্টারসেপ্ট এবং opeাল শূন্য মধ্যে পারস্পরিক সম্পর্ক স্থাপন করছেন। এটি আপনি যেটির মাধ্যমে নির্দিষ্ট করেছেন তার চেয়ে আলাদা মডেল aov()এবং সেইজন্য আপনি বিভিন্ন ফলাফল পান।


ধন্যবাদ @ ওল্ফগ্যাং; আপনার ব্যাখ্যা অনেক সাহায্য করে। আমার কাছে তখন একটি ফলোআপ প্রশ্ন হ'ল এটি। আমি প্রকৃতপক্ষে একক চিকিত্সার ফ্যাক্টরটির সাথে পুনরাবৃত্ত-পরিমাপ মডেলটি বিশ্লেষণ করছি। প্রতিটি বিষয় এলোমেলোভাবে হয় এ বা বি চিকিত্সার জন্য নির্ধারিত হয় তারপরে সেগুলি 0 মিনিট, 15 মিনিট, 30 মিনিট, 60 মিনিট, 120 মিনিট এবং 180 মিনিট পরিমাপ করা হয়। আমার বোধগম্যতা থেকে সময়টি একটি এলোমেলো ফ্যাক্টর হওয়া উচিত কারণ এটি 0 থেকে 180 মিনিটের সময় মাত্র নমুনা। সুতরাং, আমার কি করা উচিত: lme (UOP.kg ~ সময় * ট্রিট, এলোমেলো = ~ সময় | আইডি, Raw3.42)?
biostat_newbie

হ্যাঁ, তবে আমি এটি এইভাবেই ভাবব: আপনি একইভাবে চিকিত্সা গোষ্ঠীর অন্তর্ভুক্ত বিষয়গুলির মধ্যে (সময় মতো ইউওপ.কিজির) রিগ্রেশন লাইনের ইন্টারসেপ্ট এবং opeালকে পৃথকভাবে (এলোমেলোভাবে) মঞ্জুরি দিচ্ছেন। এটি এলোমেলো = ~ সময় | আইডি করবে। মডেল আপনাকে যা বলবে তা হ'ল ইন্টারসেপ্ট এবং opালুগুলিতে পরিবর্তনের আনুমানিক পরিমাণ। তদুপরি, সময়: চিকিত্সার মিথস্ক্রিয়া শব্দটি ই এবং বি এর গড় opeাল আলাদা কিনা তা নির্দেশ করে
ওল্ফগ্যাং

ধন্যবাদ @ ওল্ফগ্যাং! আমি কি কিছু ব্যবহার করতে পারি Error(Subject/age), যেহেতু আমি কিছু টিউটোরিয়াল দেখলাম, তার /ageঅর্থ হল সেই ফ্যাক্টরটির সাথে বার বার পরিমাপ করা? এটি কি আপনার মতো Error(Subject)? আরেকটি প্রশ্ন হ'ল: ভারসাম্যহীন ডেটার জন্য, aovএবং এর lmeবিভিন্ন ফলাফল হতে পারে, তাই না?
ব্রীজিনটোপল

1

আমি কেবল যুক্ত করব যে আপনি carপ্যাকেজটি ইনস্টল করতে ইচ্ছুক হতে পারেন এবং Anova()এই প্যাকেজটি anova()কারণ aov()এবং lm()অবজেক্টগুলির পরিবর্তে সরবরাহ করে, ভ্যানিলা anova()স্কোয়ারের ক্রমিক যোগফল ব্যবহার করে, যা অসম নমুনা আকারের জন্য ভুল ফলাফল দেয় যখন lme()এটি উভয় প্রকারের জন্য ব্যবহার করে -আই বা তৃতীয়-তৃতীয় যোগফলের উপর নির্ভর করে স্কোয়ারের যোগফল, তবে স্কোয়ারের typeটাইপ -3 সমষ্টিটি প্রান্তিকতা লঙ্ঘন করে - অর্থাৎ এটি ইন্টারঅ্যাকশনগুলি প্রধান প্রভাবগুলির চেয়ে আলাদাভাবে আচরণ করে না।

টাইপ -1 এবং টাইপ -3-এর স্কোয়ারের যোগফলগুলি সম্পর্কে আর-সহায়তা তালিকার ভাল কিছু নেই, এবং এগুলি কেবলমাত্র একমাত্র বিকল্প! চিত্রে যান.

সম্পাদনা: প্রকৃতপক্ষে, দেখে মনে হচ্ছে যে কোনও গুরুত্বপূর্ণ ইন্টারঅ্যাকশন শব্দটি আছে তবে টাইপ -2 বৈধ নয় এবং ইন্টারঅ্যাকশন রয়েছে এমন সময় টাইপ -3 ব্যবহার করা সবচেয়ে ভাল। আমি আমার নিজের প্রশ্নের একটি উত্তর দিয়ে তা জানাতে পেরেছিলাম যা আমাকে এই পোস্টে নির্দেশ করে


0

আমার কাছে এটি উপস্থিত হয় প্রতিটি সময়ে প্রতিটি আইডির জন্য আপনার একাধিক ব্যবস্থা রয়েছে। আপনাকে এওভের জন্য এটি একত্রিত করতে হবে কারণ এটি বিশ্লেষণে অন্যায়ভাবে শক্তি বাড়ায়। আমি বলছি না সামগ্রিকভাবে করা ফলাফলগুলি একই রকম করবে তবে এটি তাদের আরও অনুরূপ করা উচিত।

dat.agg <- aggregate(UOP.kg ~ time + treat + id, raw3.42, mean)

তারপরে ডেটা.এজিজি দিয়ে ডেটা প্রতিস্থাপনের আগের মতো আপনার অ্যাওভ মডেলটি চালান।

এছাড়াও, আমি বিশ্বাস করি আনোভা (lme) ফলাফলের তুলনা করতে আপনি যা করতে চান তা আরও বেশি। কোনও প্রভাবের দিক এবং প্রস্থতা ত্রুটির ক্ষেত্রে মডেল বৈকল্পিকের অনুপাতের সমান নয়।

(বিটিডাব্লু, আপনি যদি সামগ্রিক ডেটার উপর lme বিশ্লেষণ করেন, যা আপনার করা উচিত নয় এবং anov (lme) পরীক্ষা করে দেখুন আপনি অ্যাওভের মতো প্রায় একই ফলাফল পাবেন)

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