আরআর-তে স্বাধীনতা ডিগ্রিআরসিআরসি মিশ্রিত এবং lme / lmer এর মধ্যে পার্থক্য


12

দ্রষ্টব্য: এই প্রশ্নটি পুনরায় পোস্ট করা হয়েছে, কারণ আমার আগের প্রশ্নটি আইনি কারণে মুছে ফেলা হয়েছিল।


আর- lmeএর nlmeপ্যাকেজ থেকে ফাংশনটির সাথে এসএএস থেকে প্রসকে মিক্সেড তুলনা করার সময় , আমি কিছু বরং বিভ্রান্তিকর পার্থক্যের উপর হোঁচট খেয়েছি। আরও সুনির্দিষ্টভাবে বলা যায় যে বিভিন্ন পরীক্ষায় স্বাধীনতার ডিগ্রিগুলির মধ্যে পার্থক্য রয়েছে PROC MIXEDএবং lmeকেন আমি তা ভাবছিলাম।

নিম্নলিখিত ডাটাसेट থেকে শুরু করুন (নীচে দেওয়া আর কোড):

  • ind: পরিমাপটি নেওয়া হয় এমন ব্যক্তিকে নির্দেশ করে factor
  • fac: অঙ্গ যেখানে পরিমাপ নেওয়া হয়
  • trt: চিকিত্সা নির্দেশক ফ্যাক্টর
  • y: কিছু ধারাবাহিক প্রতিক্রিয়া পরিবর্তনশীল

নিম্নলিখিত সাধারণ মডেলগুলি তৈরির ধারণাটি:

y ~ trt + (ind): indএকটি র্যান্ডম ফ্যাক্টর হিসেবে y ~ trt + (fac(ind)): facমধ্যে নেস্টেড indএকটি র্যান্ডম ফ্যাক্টর হিসেবে

মনে রাখবেন যে, গত মডেল, ব্যতিক্রমী-বিন্দু হতে হবে আছে হিসেবে মাত্র 1 মান yপ্রতিটি সংযুক্তির জন্য indএবং fac

প্রথম মডেল

এসএএস-তে, আমি নিম্নলিখিত মডেলটি তৈরি করি:

PROC MIXED data=Data;
    CLASS ind fac trt;
    MODEL y = trt /s;
    RANDOM ind /s;
run;

টিউটোরিয়াল অনুসারে, আর এর একই মডেলটি ব্যবহার করা nlmeউচিত:

> require(nlme)
> options(contrasts=c(factor="contr.SAS",ordered="contr.poly"))
> m2<-lme(y~trt,random=~1|ind,data=Data)

উভয় মডেল সহগ এবং তাদের এসই এর জন্য একই অনুমান দেয়, তবে এর প্রভাবের জন্য কোনও এফ পরীক্ষা চালানোর সময় trtতারা স্বাধীনতার ডিগ্রি বিভিন্ন পরিমাণে ব্যবহার করে:

SAS : 
Type 3 Tests of Fixed Effects 
Effect Num DF Den DF     F  Value Pr > F 
trt         1      8  0.89        0.3724 

R : 
> anova(m2)
            numDF denDF  F-value p-value
(Intercept)     1     8 70.96836  <.0001
trt             1     6  0.89272  0.3812

প্রশ্ন 1: উভয় পরীক্ষার মধ্যে পার্থক্য কী? উভয়ই আরএমএল ব্যবহার করে লাগানো হয় এবং একই বিপরীতে ব্যবহার করে।

দ্রষ্টব্য: আমি ডিডিএফএম = বিকল্পের জন্য পৃথক মান চেষ্টা করেছি (বিটউইথিন সহ, যা তাত্ত্বিকভাবে lme এর মতো একই ফলাফল দেবে)

দ্বিতীয় মডেল

এসএএসে:

PROC MIXED data=Data;
    CLASS ind fac trt;
    MODEL y = trt /s;
    RANDOM fac(ind) /s;
run;

আর এর সমতুল্য মডেলটি হওয়া উচিত:

> m4<-lme(y~trt,random=~1|ind/fac,data=Data)

এই ক্ষেত্রে, কিছু খুব বিজোড় পার্থক্য রয়েছে:

  • আর অভিযোগ না করেই ফিট করে, যদিও এসএএস নোট করে যে চূড়ান্ত হেসিয়ান ইতিবাচক নির্দিষ্ট নয় (যা আমাকে কিছুটা অবাক করে না, উপরে দেখুন)
  • সহগের এসই আলাদা হয় (এসএএস-এর চেয়ে ছোট)
  • আবার, এফ টেস্টে আলাদা পরিমাণে ডিএফ ব্যবহার করা হয়েছিল (আসলে এসএএসে সেই পরিমাণ = 0)

এসএএস আউটপুট:

Effect     trt Estimate Std Error  DF t Value Pr > |t| 
Intercept        0.8863    0.1192  14    7.43 <.0001 
trt       Cont  -0.1788    0.1686   0   -1.06 . 

আর আউটপুট:

> summary(m4)
...
Fixed effects: y ~ trt 
               Value Std.Error DF   t-value p-value
(Intercept)  0.88625 0.1337743  8  6.624963  0.0002
trtCont     -0.17875 0.1891855  6 -0.944840  0.3812
...

(দ্রষ্টব্য যে এক্ষেত্রে, এফ এবং টি পরীক্ষা সমতুল্য এবং একই ডিএফ ব্যবহার করুন))

মজার বিষয় হল, lme4আর-এ ব্যবহার করার সময় মডেলটি এমনকি ফিট করে না:

> require(lme4)
> m4r <- lmer(y~trt+(1|ind/fac),data=Data)
Error in function (fr, FL, start, REML, verbose)  : 
  Number of levels of a grouping factor for the random effects
must be less than the number of observations

প্রশ্ন 2 : নেস্টেড কারণগুলির সাথে এই মডেলগুলির মধ্যে পার্থক্য কী? সেগুলি কি সঠিকভাবে নির্দিষ্ট করা হয়েছে এবং যদি তাই হয় তবে কীভাবে ফলাফলগুলি এত আলাদা হয়?


আর তে সিমুলেটেড ডেটা:

Data <- structure(list(y = c(1.05, 0.86, 1.02, 1.14, 0.68, 1.05, 0.22, 
1.07, 0.46, 0.65, 0.41, 0.82, 0.6, 0.49, 0.68, 1.55), ind = structure(c(1L, 
2L, 3L, 1L, 3L, 4L, 4L, 2L, 5L, 6L, 7L, 8L, 6L, 5L, 7L, 8L), .Label = c("1", 
"2", "3", "4", "5", "6", "7", "8"), class = "factor"), fac = structure(c(1L, 
1L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 2L), .Label = c("l", 
"r"), class = "factor"), trt = structure(c(2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("Cont", 
"Treat"), class = "factor")), .Names = c("y", "ind", "fac", "trt"
), row.names = c(NA, -16L), class = "data.frame")

সিমুলেটেড ডেটা:

   y ind fac   trt
1.05   1   l Treat
0.86   2   l Treat
1.02   3   l Treat
1.14   1   r Treat
0.68   3   r Treat
1.05   4   l Treat
0.22   4   r Treat
1.07   2   r Treat
0.46   5   r  Cont
0.65   6   l  Cont
0.41   7   l  Cont
0.82   8   l  Cont
0.60   6   r  Cont
0.49   5   l  Cont
0.68   7   r  Cont
1.55   8   r  Cont

@ অ্যারন: দয়া করে আপনার পোস্টটি এই পোস্টে অন্তর্ভুক্ত করুন। আপনি যদি উত্তর হিসাবে এটি অনুলিপি করে আটকে দিতে পারেন তবে আমি এর জন্য প্রতিবেদনটি দিচ্ছি। এটি খুব সহায়ক হয়েছে, তাই আমি সত্যিই এখানে ক্রসওয়েটিভয়েটেড রাখতে চাই। আপনি এটি করার পরে, আমি আপনার উত্তরটি মুছে ফেলব।
জোরিস মেজ

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

@ এমবিকিউ: এটি দুর্দান্ত হবে, যদিও আমি কিছু তথ্য সিমুলেটেড করেছি (যা আমি এখানে ব্যবহার করি) এবং সেই অনুসারে হারুনের উত্তর সম্পাদনা করেছি। অন্য উত্তরের জন্য, এটি কিছুটা জটিল হতে চলেছে, তবে আমি চেষ্টাও করতে পারি।
জোরিস মেজ

হারুনের উত্তর একটি অবিশ্বাস্যরকম ভাল। আমি আশা করি তারা এটি দেখতে পাবে। দুর্ভাগ্যক্রমে, আপনার অ্যারন তার সাথে যোগাযোগ করবে না যতক্ষণ না তিনি এই থ্রেডে অংশ না নেন।
ওয়েইন

1
হ্যাঁ এটি একটি দুর্দান্ত উত্তর ছিল। এখানে আমি মুছে ফেলা পোস্টটিতে একটি লিঙ্ক দিয়েছি : stats.stackexchange.com/questions/26556/… আমি বর্তমান পোস্টে লিঙ্কটি যুক্ত করতে যাচ্ছি।
স্টাফেন লরেন্ট

উত্তর:


11

প্রথম প্রশ্নের জন্য, এসএএস-এ ডিএফ খুঁজে পেতে ডিফল্ট পদ্ধতিটি খুব স্মার্ট নয়; এটি র্যান্ডম এফেক্টে এমন পদগুলির সন্ধান করে যা সিনট্যাক্টিকভাবে স্থির প্রভাবকে অন্তর্ভুক্ত করে এবং এটি ব্যবহার করে। এই ক্ষেত্রে, যেহেতু trtএটি পাওয়া যায় নি ind, এটি সঠিক কাজ করছে না। আমি কখনই চেষ্টা করেছি BETWITHINএবং বিশদগুলি জানি না, তবে স্যাটারথওয়েট বিকল্প ( satterth) বা ind*trtএলোমেলো প্রভাব হিসাবে ব্যবহার করে সঠিক ফলাফল দেওয়া হয়।

PROC MIXED data=Data;
    CLASS ind fac trt;
    MODEL y = trt /s ddfm=satterth;
    RANDOM ind /s;
run;

PROC MIXED data=Data;
    CLASS ind fac trt;
    MODEL y = trt /s;
    RANDOM ind*trt /s;
run;

দ্বিতীয় প্রশ্নের হিসাবে, আপনার এসএএস কোডটি আপনার আর কোডের সাথে বেশ মেলে না; এটির জন্য কেবল একটি পদ রয়েছে fac*ind, আর আর কোডের উভয় indএবং এর জন্য একটি শব্দ রয়েছে fac*ind। (এটি দেখতে ভেরিয়েন্স উপাদানগুলির আউটপুট দেখুন)) এটি যুক্ত করা trtQ1 এবং Q2 (0.1892) উভয় মডেলগুলিতে একই এস ई দেয়।

আপনি যেমন লক্ষ করেছেন, এই fac*indশব্দটির সাথে মানানসই একটি বিজোড় মডেল কারণ প্রতিটি স্তরের জন্য এই শব্দটির একটি পর্যবেক্ষণ রয়েছে, তেমনি ত্রুটি শর্তের সমান। এটি এসএএস আউটপুটে প্রতিফলিত হয় যেখানে fac*indশব্দটির শূন্য রয়েছে। Lme4 এর ত্রুটি বার্তাটি এটি আপনাকে বলছে; ত্রুটির কারণ হ'ল আপনি মডেলটিতে ত্রুটি শব্দটি দুটি ভিন্ন উপায়ে অন্তর্ভুক্ত করার কারণে আপনি সম্ভবত কিছু ভুল বানান ified মজার বিষয় হল, এনএলএম মডেলের মধ্যে কিছুটা পার্থক্য রয়েছে; এটি কোনওভাবে fac*indত্রুটি শর্ত ছাড়াও এই শর্তটির জন্য একটি বৈকল্পিক শব্দটি সন্ধান করছে , তবে আপনি লক্ষ্য করবেন যে এই দুটি ভেরিয়েন্সের যোগফলটি এসএসএস এবং এনএলএম উভয় পদ ছাড়াই ত্রুটি শর্তের সমান fac*ind। যাইহোক, এসই এর জন্য নেস্টেড trtহিসাবে একই (0.1892) থাকেtrtind, সুতরাং এই নিম্নতর বৈকল্পিক শর্তাদি এটি প্রভাবিত করে না।

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

এছাড়াও, প্রদত্ত সংখ্যক স্বাধীনতার ডিগ্রি সহ টি এবং এফ আনুমানিক ব্যবহারগুলি মোটামুটি বিতর্কিত। ডিএফ আনুমানিক করার জন্য কেবল বেশ কয়েকটি উপায়ই নয়, কেউ কেউ বিশ্বাস করেন যে এটি করার অনুশীলন কোনওভাবেই ভাল ধারণা নয়। পরামর্শের দুটি শব্দ:

  1. যদি সবকিছু ভারসাম্যপূর্ণ হয় তবে প্রচলিত ন্যূনতম স্কোয়ার পদ্ধতির সাথে ফলাফলগুলি তুলনা করুন, কারণ তাদের একমত হওয়া উচিত। যদি এটি ভারসাম্যের খুব কাছাকাছি থাকে তবে সেগুলি নিজেই গণনা করুন (ভারসাম্য ধরে ধরে) যাতে আপনি নিশ্চিত হন যে আপনি যেগুলি ব্যবহার করছেন তা সঠিক বলপার্কে রয়েছে।

  2. আপনার যদি বড় আকারের নমুনা আকার থাকে তবে বিতরণগুলি সাধারণ এবং চি-স্কোয়ারের কাছাকাছি আসার সাথে সাথে স্বাধীনতার ডিগ্রিগুলি খুব বেশি গুরুত্ব দেয় না।

  3. অনুমানের জন্য ডগ বেটসের পদ্ধতিগুলি দেখুন। তার পুরানো পদ্ধতি এমসিসিএম সিমুলেশন ভিত্তিক; তার নতুন পদ্ধতিটি সম্ভাব্যতা রচনার উপর ভিত্তি করে।


প্রকৃতপক্ষে একটি উত্তম উত্তর, যদিও আমি মনে করি যে সম্ভাবনাটি প্রোফাইলিং এমসিএমসি সিমুলেশন (যা সীমাবদ্ধ-আকারের সংশোধন এবং চতুর্ভুজ উভয় ক্ষেত্রে পরিচালনা করে) এর চেয়ে পৃথক প্রশ্ন (প্রোফাইলটি চতুর্ভুজযুক্ত যেখানে ভেরিয়েন্স প্যারামিটারগুলিতে উপযুক্ত সিআই) সমাধান করে। আমি মনে করি বুটমার (প্যারামেট্রিক বুটস্ট্র্যাপ) এমএমসিএমসিএমএসএমপিটির সমতুল্য (প্রোফাইল (...)) এর চেয়ে বেশি নিকটবর্তী ...
বেন বলকার

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