এলোমেলো slাল এবং ইন্টারসেপ্ট সহ একটি পায়সন জিএলএম মিশ্রিত মডেল ফিটিং


9

আমি সময়ের সাথে সাথে অন্যান্য ট্রেন্ডগুলিকে নিয়ন্ত্রণ করার সময় গণনাগুলি কীভাবে প্রাপ্ত হয়েছিল (একটি ডায়াগনস্টিক পরীক্ষা থেকে অন্যটিতে স্যুইচ করা) কীভাবে পরিবর্তিত হয়েছে তার প্রভাবের অনুমানের চেষ্টা করার জন্য আমি পয়েসন টাইম সিরিজের মডেলগুলির একটি সিরিজে বর্তমানে কাজ করছি (একটি সাধারণ বৃদ্ধি বলুন রোগের ঘটনা)। আমি বিভিন্ন সাইটের একাধিক ডেটা পেয়েছি।

আমিও জ্যামের সাথে কৌতূহল বজায় রাখার সময়, আমি বেশ কয়েকটি মৌলিক জিএলএমগুলিতে সময়ের ট্রেন্ডগুলির সাথে ফিট করেছি, তারপরে ফলাফলগুলি ছড়িয়ে দিয়েছি। এর কোডটি এসএএস-তে এর মতো দেখতে লাগবে:

PROC GENMOD data=work.data descending;
  model counts = dependent_variable time time*time / link=log dist = poisson;
run;

অথবা এটি আর তে:

glm(counts ~ dependent_variable + time + time*time, family="poisson")

তারপরে সেই অনুমানগুলি নেওয়া এবং সেগুলি বিভিন্ন সাইটে সোল করা। এটিও প্রস্তাবিত হয়েছিল যে আমি পুলিংয়ের পরিবর্তে প্রতিটি সাইটের জন্য একটি এলোমেলো slাল এবং পর্বের সাথে একটি পোইসন মিশ্র মডেল ব্যবহার করার চেষ্টা করি। সুতরাং মূলত আপনি নির্ভরশীল_ পরিবর্তনশীল এর স্থির প্রভাব রাখতেন, তারপরে বিরতি এবং সময়ের জন্য একটি এলোমেলো প্রভাব (অথবা আদর্শভাবে সময় এবং সময় ^ 2 যদিও আমি বুঝতে পারি যে কিছুটা লোমশ হয়ে যায়)।

আমার সমস্যাটি হ'ল এই মডেলগুলির মধ্যে কোনওটির জন্য কীভাবে ফিট করা যায় সে সম্পর্কে আমার কোনও ধারণা নেই এবং মনে হয় মিশ্র মডেলগুলি যেখানে প্রত্যেকের নথিপত্র হঠাৎ খুব অস্বচ্ছ হয়ে যায় goes আমি কী ফিট করতে চাই তার মাপসই সম্পর্কে কারওরই সহজ ব্যাখ্যা (বা কোড) রয়েছে এবং কী সন্ধান করতে হবে?

উত্তর:


14

আর তে:

library(lme4)
lmer(counts ~ dependent_variable + (1+time|ID), family="poisson")

এক্ষেত্রে ওয়াইআমি~পিআমিগুলিগুলিএন(λআমি) এবং এই কোডটি মডেল ফিট করে

লগ(λআমি)=β0+ +β1এক্সআমি+ +ηআমি1+ +ηআমি2টি

যেখানে হয় , হল এবং হয় । স্থির প্রভাব এবং এমন র্যান্ডম এফেক্ট যাঁর মডেল দ্বারা অনুমান করা হয়।এক্সআমিdependent_variableটিtimeআমিIDβ0,β1ηআমি1,ηআমি2

এখানে কিছু দ্রুত সিমুলেটেড ডেটা সহ একটি উদাহরণ যেখানে র্যান্ডম এফেক্টের বৈকল্পিকগুলি সত্যিকার অর্থে 0, কোভেরিয়েটের কোনও প্রভাব নেই, প্রতিটি ফলাফল , এবং প্রতিটি ব্যক্তিকে এ 10 বার দেখা হয় ।পিআমিগুলিগুলিএন(1)টি=1,,10

x = rnorm(100)
t = rep(1:10,each=10)
ID = rep(1:10,10)
y = rpois(100,1)
g <- lmer(y ~ x + (1+t|ID), family="poisson")
summary(g)
Generalized linear mixed model fit by the Laplace approximation 
Formula: y ~ x + (1 + t | ID) 
   AIC   BIC logLik deviance
 108.8 121.9 -49.42    98.85
Random effects:
 Groups Name        Variance  Std.Dev. Corr   
 ID     (Intercept) 0.0285038 0.168831        
        t           0.0027741 0.052669 -1.000 
Number of obs: 100, groups: ID, 10

Fixed effects:
            Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.09078    0.11808  -0.769    0.442
x            0.13670    0.08845   1.546    0.122

Correlation of Fixed Effects:
  (Intr)
x -0.127

সতর্কতার এক পয়েন্ট - Std.Dev.কলাম শুধু বর্গমূল হল Varianceকলাম, না ভ্যারিয়েন্স অনুমান আদর্শ ত্রুটি!


এবং এর ηi1 এর ফলাফল এলোমেলোভাবে বাধা দেয়?
ফোমাইট

ηআমি1হ্যাঁ, এলোমেলোভাবে বিরতি।
ম্যাক্রো

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

ঠিক আছে, উপরের সিমুলেটেড উদাহরণে, যার কেবলমাত্র 100 টি পর্যবেক্ষণ এবং 10 টি গ্রুপ রয়েছে, তৃতীয় র্যান্ডম এফেক্ট যুক্ত করে (টাইপ করে g <- lmer(y ~ x + (1+t+I(t^2)|ID), family="poisson")), গণনার সময়টি প্রায় .75 সেকেন্ড থেকে প্রায় 11 সেকেন্ডে বাড়িয়েছে। নমুনার আকার বৃদ্ধি পাওয়ার সাথে সাথে কম্পিউটিংয়ের সময় বৃদ্ধি সম্ভবত বৃদ্ধি পায়।
ম্যাক্রো

1
@ অ্যান্ড্রিয়া, এটি এমন একটি বিশ্বাসকে প্রতিফলিত করবে যে ডেটা সেটে একটি ধর্মনিরপেক্ষ প্রবণতা রয়েছে - আমি এই ধারণাটি তৈরি করে এমন কোনও অগ্রাধিকার গ্রহণ করিনি। ইউনিট লোক হলে এবংটিবয়স ছিল, তবে আমি অবশ্যই একমত যে সময়ে একটি স্থির প্রভাব কার্যকরভাবে বোঝা যায়, তবে অন্যান্য পরিস্থিতিতে, সময়ের মধ্যে slাল প্রতিটি এলোমেলো দিকের দিকে এগিয়ে যায়। সে কারণেই আমি সেই প্রভাবটি অন্তর্ভুক্ত করিনি (এবং এপিগ্রাড কীভাবে নির্দিষ্ট সময়ের প্রভাব অন্তর্ভুক্ত করবেন তা জিজ্ঞাসা করেনি)
ম্যাক্রো

2

এসএএসে:

proc glimmix data = yourdata ic = q;
    class id;
    model y = x / dist = poisson solution;
    random intercept t / subject = id;
run;

তবে অবশ্যই এর সাথে খেলতে প্রচুর বিকল্প রয়েছে, কমবেশি দরকারী।


ধন্যবাদ :) দুঃখের বিষয়, আমার মনে হয় যে আমি রূপান্তর সংক্রান্ত সমস্যাগুলিকে আরও বাড়িয়ে তুলেছি তবে আমি সেগুলির সাথে টিঙ্কার করব।
ফোমাইট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.