কিভাবে একটি এলএম মডেলের একটি কাস্টম শক্তি বিশ্লেষণ অনুকরণ করতে (আর ব্যবহার করে)


13

আমাদের এখানে থাকা সাম্প্রতিক প্রশ্নগুলির অনুসরণ করা ।

আমি জানতে চাইছিলাম যে কেউ লিনিয়ার মডেলের সিমুলেশন ভিত্তিতে একটি কাস্টম পাওয়ার বিশ্লেষণ সম্পাদনের জন্য আর কোডটি ভাগ করতে পেরেছে কিনা ?

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

উত্তর:


4

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


1
পোর্টেবল পাওয়ার লিঙ্কটি নষ্ট হয়ে গেছে। যদি কেউ লিঙ্কটি আপডেট করতে পারে তবে তা দুর্দান্ত। ধন্যবাদ.
ব্রায়ান পি

3

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

নিম্নলিখিত সাইটগুলিতে সিমুলেশনের আরও কয়েকটি উদাহরণ রয়েছে:


0

বলকার ২০০৯ ইকোলজিকাল মডেলস এবং আর-তে ডেটা থেকে অভিযোজিত You স্বজ্ঞাতভাবে দৃ strong় প্রবণতা এবং কম পরিবর্তনশীলতার জন্য একটি ছোট নমুনার আকার প্রয়োজন হবে, একটি দুর্বল প্রবণতা এবং বৃহত্তর পরিবর্তনশীলতার জন্য একটি বৃহত নমুনার আকার প্রয়োজন হবে।

a = 2  #desired slope
b = 1  #estimated intercept
sd = 20  #estimated variability defined by standard deviation
nsim = 400  #400 simulations
pval = numeric(nsim)  #placeholder for the second for loop output
Nvec = seq(25, 100, by = 1)  #vector for the range of sample sizes to be tested
power.N = numeric(length(Nvec))   #create placeholder for first for loop output
for (j in 1:length(Nvec)) {
  N = Nvec[j]  
  x = seq(1, 20, length = Nvec[j])  #x value length needs to match sample size (Nvec) length
  for (i in 1:nsim) {   #for this value of N, create random error 400 times
    y_det = a + b * x
    y = rnorm(N, mean = y_det, sd = sd)
    m = lm(y ~ x)
    pval[i] = coef(summary(m))["x", "Pr(>|t|)"]  #all the p values for 400 sims
  }  #cycle through all N values
  power.N[j] = sum(pval < 0.05)/nsim  #the proportion of correct p-values (i.e the power)
}
power.N
plot(Nvec, power.N)  #need about 90 - 100 samples for 80% power

বইটিতে প্রদর্শিত হিসাবে, কোনও প্রদত্ত নমুনা আকারের জন্য আপনি ন্যূনতম প্রবণতাটি পরীক্ষা করতে পারেন তাও আপনি অনুকরণ করতে পারেন

bvec = seq(-2, 2, by = 0.1)
power.b = numeric(length(bvec))
for (j in 1:length(bvec)) {
  b = bvec[j]
   for (i in 1:nsim) {
     y_det = a + b * x
     y = rnorm(N, mean = y_det, sd = sd)
     m = lm(y ~ x)
     pval[i] = coef(summary(m))["x", "Pr(>|t|)"]
     }
   power.b[j] = sum(pval < 0.05)/nsim
  }
 power.b
 plot(bvec, power.b)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.