আর (lme4) এর সাথে মিশ্রিত প্রভাবগুলি প্রদর্শন করতে কীভাবে ডেটা অনুকরণ করবেন?


10

এই পোস্টের প্রতিচ্ছবি হিসাবে , আমি ক্রমাগত ভেরিয়েবলগুলির সাথে ডেটা সিমুলেটেড করার কাজ করেছিলাম, নিজেকে সংযুক্ত ইন্টারসেপ্ট এবং opালুতে leণদান করি।

এই বিষয়ে মহান পোস্ট নেই যদিও সাইটে , এবং সাইটের বাইরে , আমি কৃত্রিম ডেটা আছে যা একটি সহজ, বাস্তব জীবনের দৃশ্যকল্প সাথে সামঞ্জস্যপূর্ণ সঙ্গে একটি শুরুতে-টু-এন্ড উদাহরণ জুড়ে আসছে জটিলতা ছিল।

সুতরাং প্রশ্ন কীভাবে এই ডেটাগুলি অনুকরণ করা যায়, এবং এটি দিয়ে "পরীক্ষা" করা যায় lmer। অনেকের কাছে নতুন কিছু নয়, তবে মিশ্র মডেলগুলি বোঝার জন্য অনুসন্ধান করা অন্য অনেকের পক্ষে সম্ভবত কার্যকর।

উত্তর:


8

আপনি যদি কোনও ব্লগ আর্টিকেল ফর্ম্যাট পছন্দ করেন তবে হায়ারারিকিকাল লিনিয়ার মডেল এবং লিমার এমন একটি নিবন্ধ যা আমি লিখেছিলাম যা এলোমেলো opালু এবং আটকানো একটি সিমুলেশন বৈশিষ্ট্যযুক্ত। আমি ব্যবহৃত সিমুলেশন কোডটি এখানে:

rm(list = ls())
set.seed(2345)

N <- 30
unit.df <- data.frame(unit = c(1:N), a = rnorm(N))

head(unit.df, 3)
unit.df <-  within(unit.df, {
  E.alpha.given.a <-  1 - 0.15 * a
  E.beta.given.a <-  3 + 0.3 * a
})
head(unit.df, 3)

library(mvtnorm)
q = 0.2
r = 0.9
s = 0.5
cov.matrix <- matrix(c(q^2, r * q * s, r * q * s, s^2), nrow = 2,
                     byrow = TRUE)
random.effects <- rmvnorm(N, mean = c(0, 0), sigma = cov.matrix)
unit.df$alpha <- unit.df$E.alpha.given.a + random.effects[, 1]
unit.df$beta <- unit.df$E.beta.given.a + random.effects[, 2]
head(unit.df, 3)

J <- 30
M = J * N  #Total number of observations
x.grid = seq(-4, 4, by = 8/J)[0:30]

within.unit.df <-  data.frame(unit = sort(rep(c(1:N), J)), j = rep(c(1:J),
                              N), x =rep(x.grid, N))
flat.df = merge(unit.df, within.unit.df)

flat.df <-  within(flat.df, y <-  alpha + x * beta + 0.75 * rnorm(n = M))
simple.df <-  flat.df[, c("unit", "a", "x", "y")]
head(simple.df, 3)

library(lme4)
my.lmer <-  lmer(y ~ x + (1 + x | unit), data = simple.df)
cat("AIC =", AIC(my.lmer))
my.lmer <-  lmer(y ~ x + a + x * a + (1 + x | unit), data = simple.df)
summary(my.lmer)

1
বেন, আপনার উত্তরের জন্য আপনাকে ধন্যবাদ! আমি এই মুহূর্তে সত্যিই ব্যস্ত, তবে আমি সুযোগ পাওয়ার সাথে সাথে এটিকে সাবধানে দেখব। + ক্রেডিটে :-)
আন্তোনি পরল্লদা

1

ডেটা সম্পূর্ণ কল্পিত এবং আমি এটি তৈরি করতে যে কোডটি ব্যবহার করেছি তা এখানে পাওয়া যাবে

ধারণাটি হ'ল আমরা এই ক্রীড়াবিদদের রক্তে তৈরি ( ) এর ঘনত্বের সাথে সম্পর্কিত হওয়ার glucose concentrationsপরে একটি গ্রুপের উপর পরিমাপ করব ।30 athletes15 racesamino acid AAAA

মডেলটি হ'ল: lmer(glucose ~ AAA + (1 + AAA | athletes)

একটি নির্দিষ্ট প্রভাব opeাল আছে (গ্লুকোজ ~ অ্যামিনো অ্যাসিড একটি ঘনত্ব); তবে, বিভিন্ন অ্যাথলেটগুলির মধ্যে একটি mean = 0এবং সাথে বিভিন্ন leালগুলিও পৃথক হয় sd = 0.5, অন্যদিকে বিভিন্ন ক্রীড়াবিদদের জন্য বাধাগুলি এলোমেলো প্রভাবগুলি প্রায় ছড়িয়ে দেওয়া 0হয় sd = 0.2। আরও একই অ্যাথলিটের মধ্যে 0.8 এর ইন্টারসেপ্ট এবং opালের মধ্যে একটি সম্পর্ক রয়েছে lation

এই এলোমেলো প্রভাবগুলি intercept = 1নির্দিষ্ট প্রভাবগুলির জন্য একটি চয়ন করাতে যুক্ত করা হয় এবং slope = 2

গ্লুকোজের ঘনত্বের মানগুলি গণনা করা হয়েছিল alpha + AAA * beta + 0.75 * rnorm(observations), অর্থ প্রতিটি অ্যাথলিটের জন্য বাধা (অর্থাত্ 1 + random effects changes in the intercept) এমিনো অ্যাসিডের ঘনত্ব, প্রতিটি ক্রীড়াবিদ (অর্থাৎ ) ( ) এর the , যা আমরা সেট আপ করেছি ।+AAA + ϵ2 + random effect changes in slopes for each athlete+ noiseϵsd = 0.75

সুতরাং ডেটা দেখতে দেখতে:

      athletes races      AAA   glucose
    1        1     1  51.79364 104.26708
    2        1     2  49.94477 101.72392
    3        1     3  45.29675  92.49860
    4        1     4  49.42087 100.53029
    5        1     5  45.92516  92.54637
    6        1     6  51.21132 103.97573
    ...

গ্লুকোজ অবাস্তব স্তরের, কিন্তু এখনও ...

সারাংশ ফেরত দেয়:

Random effects:
 Groups   Name        Variance Std.Dev. Corr
 athletes (Intercept) 0.006045 0.07775      
          AAA         0.204471 0.45218  1.00
 Residual             0.545651 0.73868      
Number of obs: 450, groups:  athletes, 30

Fixed effects:
             Estimate Std. Error        df t value Pr(>|t|)    
(Intercept)   1.31146    0.35845 401.90000   3.659 0.000287 ***
AAA           1.93785    0.08286  29.00000  23.386  < 2e-16 ***
---
Signif. codes:  0***0.001**0.01*0.05 ‘.’ 0.1 ‘ ’ 1

এলোমেলো এফেক্টস পারস্পরিক সম্পর্কের 1পরিবর্তে 0.8sd = 2বিবৃতি র্যান্ডম প্রকরণ হিসেবে ব্যাখ্যা করা হয় 0.077750.5অ্যাথলিটদের মধ্যে opালু এলোমেলো পরিবর্তনের জন্য আদর্শ বিচ্যুতি হিসাবে গণনা করা হয় 0.45218। স্ট্যান্ডার্ড বিচ্যুতি নিয়ে সেট করা গোলমাল 0.75হিসাবে ফিরে এসেছিল 0.73868

স্থির প্রতিক্রিয়াগুলির বিরতি হবার কথা ছিল 1, এবং আমরা পেয়েছি 1.31146। Opeালের জন্য এটি হওয়ার কথা ছিল 2, এবং অনুমানও ছিল 1.93785

মোটামুটি কাছাকাছি!


কৃত্রিম মডেল উদাহরণস্বরূপ সমান্তরাল এখানে এটা একটি কংক্রিট, বাস্তব জীবনের দৃশ্যকল্প দান এবং দূর পরিবর্তনশীল (যে ক্ষেত্রে আমি ভান কেবল একটি একক, র্যান্ডম হবে প্রতিটি ক্রীড়াবিদ জন্য পর্যবেক্ষণ) যে ছিল উভয়কে তার নিজস্ব ডানদিকে রেজিস্ট্রার হিসাবে ব্যবহার করার পাশাপাশি মধ্যবর্তী পদক্ষেপ হিসাবে এলোমেলো ইন্টারসেপ্ট এবং opালু উত্পন্ন করতে। এন ( 0 , 1 )aN(0,1)
আন্তনি পরল্লদা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.