পৃথক সময়ের ইভেন্ট ইতিহাস (বেঁচে থাকা) মডেল আর


10

আমি আর-তে একটি পৃথক-সময়ের মডেল ফিট করার চেষ্টা করছি তবে কীভাবে এটি করব তা নিশ্চিত নই।

আমি পড়েছি যে আপনি বিভিন্ন সারিতে নির্ভরশীল পরিবর্তনশীল, প্রতিটি সময়-পর্যবেক্ষণের জন্য glmএকটি এবং লজিট বা ক্লোগলগ লিঙ্কের সাহায্যে ফাংশনটি ব্যবহার করতে পারেন । এই অর্থে, আমি তিনটি কলাম আছে: ID, Event(1 বা 0, প্রতিটি সময়-obs) ও Time Elapsed, প্লাস অন্যান্য covariates (পর্যবেক্ষণ শুরু থেকে)।

মডেল ফিট করার জন্য আমি কীভাবে কোড লিখব? নির্ভরশীল পরিবর্তনশীল কোনটি? আমি অনুমান করি যে আমি Eventনির্ভরশীল পরিবর্তনশীল হিসাবে ব্যবহার করতে পারি এবং Time Elapsedকোভেরিয়েটগুলিতে অন্তর্ভুক্ত করি । তবে এর সাথে কী হয় ID? আমার কি দরকার?

ধন্যবাদ।


আপনি যখন বলেন "আমি একটি পৃথক সময় মডেল ফিট করার চেষ্টা করছি" ... আপনি কোন মডেল ফিট করতে চান? (এটি যদি কোনও বিষয়ে হয় তবে দয়া করে self-studyট্যাগটি যুক্ত করুন ))
গ্লেন_বি -রিনস্টেট মনিকা

আমি একটি লজিট বিচ্ছিন্ন সময় বেঁচে থাকার মডেল ফিট করতে চাই।
ফ্রাঙ্ক ভিলামিল

1
এটি আইডি প্রাসঙ্গিক বলে মনে হয় না তবে এটি কী, ঠিক এটি উপস্থাপন করে এবং এটিই আপনি মডেল করতে চান তা নির্ভর করে depends
গ্লেন_বি -রিনস্টেট মনিকা

উত্তর:


8

আপনি মূলত ডেটা সংস্থার বিষয়ে সঠিক। আপনার যদি এইরকম মামলা সংগঠিত হয়:

ID M1 M2 M3 EVENT

আপনি সম্ভবত ডেটাটি পুনর্গঠিত করতে চাইবেন যাতে এটির মতো দেখাচ্ছে:

ID TIME EVENT
1  1    0
1  2    1
1  3    1
2  1    0
2  2    0
.  .    .
.  .    .

আমি এটিকে একটি বিস্তৃত বিন্যাস থেকে একটি দীর্ঘ বিন্যাসে রূপান্তর বলছি। এটি আর এ সহজেই reshape()ফাংশনটি ব্যবহার করে বা আরও সহজে reshape2প্যাকেজটি দিয়ে করা হয় ।

আমি ব্যক্তিগতভাবে IDএকটি মিশ্র প্রভাবগুলির মডেলটির পরিবর্তনের উত্স চিহ্নিত করার ক্ষেত্রে ক্ষেত্রটির সম্ভাব্য ব্যবহারের জন্য রাখব । তবে এটি প্রয়োজনীয় নয় (@ বার্ডওয়েস দ্বারা চিহ্নিত হিসাবে) নিম্নলিখিত অনুমান করে আপনি এটি করতে চান। যদি তা glm(...,family=binomial)না হয় তবে এলোমেলো প্রভাব শর্তাবলী ছাড়াই একটি অনুরূপ মডেল ফিট করুন।

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

require(lme4)
ans <- glmer(EVENT ~ TIME + (1+TIME|ID), data=df, family=binomial)

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

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

আরও বিকল্প আপনার বিপত্তি বক্র অধিকার পেতে সময় রূপান্তর সময় জড়িত। পূর্ববর্তী পদ্ধতিটি মূলত আপনাকে এটি করতে বাধা দেয় তবে পূর্ববর্তী পদ্ধতিটি এর চেয়ে কম পার্সিমোনিয়াস (এবং আমি যে মূল লিনিয়ার কেস দেখিয়েছি) কারণ আপনার অনেক সময় পয়েন্ট থাকতে পারে এবং এইভাবে প্রচুর উপদ্রব পরামিতি থাকতে পারে।

এই বিষয়ে একটি চমৎকার রেফারেন্স জুডিথ গায়ক এর এবং জন Willet কারো নির্দেশ চলে না মডেলিং পরিবর্তন এবং ইভেন্ট ঘটনা: ফলিত অনুদৈর্ঘ্য ডেটা বিশ্লেষণ


4
একটি সাধারণ বিচ্ছিন্ন-সময় মডেলটি অনুমান করার জন্য আপনার একটি "মিশ্র প্রভাবগুলি লজিস্টিক রিগ্রেশন মডেল" লাগবে না (ফিওনা স্টিল "" মাল্টিলেভেল ডিসক্রিট-টাইম ইভেন্টের ইতিহাস বিশ্লেষণ " শীর্ষক কয়েকটি নিবন্ধ প্রকাশ করেছে )। আপনার কি রেফারেন্স আছে? ডেটা প্রস্তুতির পদক্ষেপটি পুনরায়, আমি বেঁচে থাকা স্প্লিট ফাংশনটি একবার দেখার পরামর্শ দিই
বার্ড ওয়েইস

6

গায়ক এবং উইলেট এই বিষয়ে প্রচুর প্রকাশিত হয়েছে। আমি আপনাকে সুপারিশ করছি যে আপনি তাদের কিছু কাগজপত্র পড়ুন । আপনি তাদের বই "অ্যাপ্লাইড লঞ্জিটুডিনাল ডেটা অ্যানালাইসিস: মডেলিং পরিবর্তন এবং ইভেন্টের ঘটনা" পেতে চাইতে পারেন । পরিষ্কারভাবে এই ক্ষেত্রের সেরা পাঠ্যপুস্তক এক।

বেশিরভাগ বইয়ের অধ্যায়গুলির জন্য আর স্যাম্পেল কোড রয়েছে (অধ্যায়গুলি 11 অধ্যায় দেখুন) উপলব্ধ রয়েছে যা দেখায় যে কীভাবে আপনার ডেটা কাঠামোগত করতে হবে ("ব্যক্তি-সময় বিন্যাস") এবং কীভাবে এই জাতীয় ডেটা বিশ্লেষণ করতে হয়। একটি স্ট্যান্ডার্ড আলাদা-সময় মডেলের জন্য আপনার আইডি ভেরিয়েবলের প্রয়োজন হবে না এবং আপনাকে @ অ্যান্ডোগানের পরামর্শ অনুসারে কোনও মিশ্র-প্রভাবগুলির মডেলও অনুমান করার দরকার নেই। একটি সাধারণ glm(event ~ time + ..., family = "binomial")কাজ ঠিক আছে। সিঙ্গার এবং উইলেটও কীভাবে সময় পরিবর্তনশীল (লিনিয়ার, চতুর্ভুজ, ...) মডেল করবেন তা নিয়ে অনেকগুলি আলোচনা করে

আরও দুটি উল্লেখ উল্লেখ করার জন্য যা আমি অত্যন্ত সুপারিশ করি:


1

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

এই পদ্ধতিটি টাইম ডমিগুলির সাথে @ অদোগানের সাথে পৃথক হয় কারণ আপনি সমস্ত সময়ের সাথে কেবলমাত্র একটি সাধারণ বাধা পান dynamichazard::static_glm। তবে আপনি dynamichazard::get_survival_case_weights_and_dataযুক্তির সাহায্যে কল করে প্রতিটি সময়ের জন্য একটি ডামি পেতে পারেন, ফিরে আসা সময়ের সাথে use_weights = FALSEনিজেকে ডামি সূচক যুক্ত করতে পারেন data.frameএবং তারপরে যেমন কল করতে পারেন glm


আরও, আপনি আমার প্যাকেজটিতে এই চিত্রটি সম্পর্কে আগ্রহী হতে পারেন dynamichazard
বেনিয়ামিন ক্রিস্টফারসন 21

0

একে "গণনা প্রক্রিয়া" ডেটা বলা হয়। বেঁচে থাকার প্যাকেজের একটি খুব সুন্দর ডুবানো () ফাংশন রয়েছে। সময় নির্ভরশীল বা ক্রমবর্ধমান কোভারিয়েটগুলি এবং সেই অনুসারে পার্টিশন ফলো-আপ সময় সন্নিবেশ করা খুব দরকারী। প্রক্রিয়াটি এই চিত্রটিতে খুব ভালভাবে ব্যাখ্যা করা হয়েছে

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