কীভাবে আর-তে বহুবিধ ফলাফলগুলি অনুকরণ করা যায়?


10

বেশিরভাগ পরিস্থিতিতে, আমরা কেবল একটি ফলাফল / প্রতিক্রিয়া পরিবর্তনশীল যেমন ডিল করি y=a+bx+ϵ। তবে কিছু পরিস্থিতিতে, বিশেষত ক্লিনিকাল ডেটাতে, ফলাফলের ভেরিয়েবলগুলি উচ্চ-মাত্রিক / মাল্টিভারিয়েট হতে পারে। যেমন , যেখানে , এবং ভেরিয়েবল ধারণ করে এবং এই ফলাফলগুলি সমস্তই সম্পর্কিত। যদি চিকিত্সা গ্রহণের প্রতিনিধিত্ব করে (হ্যাঁ / না), আমি আর এই ধরণের ডেটা সিমুলেট করব কীভাবে?Y=βx+ϵYY1Y2Y3x

বাস্তব জীবনের উদাহরণ, প্রতিটি রোগী বাইপাস সার্জারিগুলির 2 ধরণের একটি গ্রহণ করে এবং গবেষকরা প্রতিটি রোগীকে ব্যথা, ফোলাভাব, ক্লান্তি ... ইত্যাদিতে বাইপাস সার্জারির পরে পরিমাপ করেন (প্রতিটি লক্ষণের হার 0 থেকে 10 পর্যন্ত)। আমি "ধরে নিই" ফলাফল (লক্ষণ তীব্রতা) বহুবিধ স্বাভাবিক। আশা করি এই বাস্তব উদাহরণটি আমার প্রশ্নকে পরিষ্কার করতে পারে। অগ্রিম ধন্যবাদ.


কী বিতরণ করে Yআছে? এটি যদি মাল্টিভারিয়েট স্বাভাবিক থাকে তবে আর এর ম্যানরম্ট লাইব্রেরিটি দেখুন
ম্যাক্রো

এই প্রশ্নটি বরং বিস্তৃত কারণ "মাল্টিভারিয়েট ডেটা" প্রচুর স্থলটিকে coversেকে দেয়। আপনার মনে কোন নির্দিষ্ট প্রয়োগ রয়েছে?
whuber

আমি কেবল একটি বাস্তব উদাহরণ যুক্ত করছি, যা সহায়ক হওয়া উচিত। ধন্যবাদ
টু .২

উত্তর:


9

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

উদাহরণস্বরূপ, মডেলটি বিবেচনা করুন

E(y1,y2,y3)=(1+x,2x,13x)

কোথায় y একটি মাল্টিভারিয়েট স্বাভাবিক বিতরণ এবং Var(yi)=1, Cov(y1,y2)=Cov(y2,y3)=0.5, এবং Cov(Y1,Y3)=0। আসুন এই Covariance ম্যাট্রিক্স আর এ নির্দিষ্ট করুন:

sigma <- matrix(c(1,   0.5, 0,  
                  0.5, 1,   0.5,
                  0,   0.5, 1  ), 3, 3)

পরীক্ষা করতে, আসুন লেট দিয়ে এই মডেলটির জন্য কিছু ডেটা তৈরি করি এক্স পার্থক্য করে 1 মাধ্যম 10, প্রতিবার তিনটি প্রতিলিপি সহ। আমাদের ধ্রুবক পদগুলিও অন্তর্ভুক্ত করতে হবে:

data <- cbind(rep(1,10*3), rep(1:10,3))

মডেলটি উপায়গুলি নির্ধারণ করে:

beta <- matrix(c(-1,1,  0,2,  1,-3), 2, 3)
means <- data %*% beta

একাধিক মাল্টিভারিয়েট ফলাফল উত্পন্ন করার জন্য কাজটি হ'ল apply:

library(mvtnorm) # Contains rmvnorm
sample <- t(apply(means, 1, function(m) rmvnorm(1, mean=m, sigma=sigma)))

2

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

একটি ঝরঝরে কৌশল হ'ল আপনি নিজের ফলাফলের পরিবর্তনশীলগুলিতে বিভিন্ন চিকিত্সার ধরণের প্রভাবের মূল্যায়ন করতে পারেন। একে হস্তক্ষেপ বলা হয় । আগ্রহী হলে আমাদের এখানে একটি প্রাসঙ্গিক কাগজ রয়েছে

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