সেন্সর করা ডেটা কীভাবে সিমুলেট করা যায়


11

আমি ভাবছি যে আমি কীভাবে এন ওয়েইবুল বিতরণ লাইফটাইমগুলির নমুনা অনুকরণ করতে পারি যাতে টাইপ আই ডান-সেন্সর করা পর্যবেক্ষণ অন্তর্ভুক্ত থাকে। উদাহরণস্বরূপ, এন = 3, আকার = 3, স্কেল = 1 এবং সেন্সরিং হার = .15 এবং সেন্সরিং সময় = .88 রাখতে দেয়। আমি জানি যে কীভাবে ওয়েবুল নমুনা তৈরি করা যায় তবে আমি জানি না যে কীভাবে একটি সেন্সরযুক্ত ডেটা তৈরি করা যায় যা টাইপ করা আছে আইতে ডান-সেন্সর করা আছে।

T = rweibull(3, shape=.5, scale=1)

উত্তর:


11

( R কোডিং শৈলীর বিষয় হিসাবে , T পরিবর্তনশীল নাম হিসাবে ব্যবহার না করাই ভাল , কারণ এটির একটি উপনাম TRUEএবং এই অনুশীলনটি অবশ্যম্ভাবী সমস্যার কারণ হতে পারে))


আপনার প্রশ্নটি কিছুটা অস্পষ্ট; এটি ব্যাখ্যা করার বিভিন্ন উপায় রয়েছে। আসুন তাদের মাধ্যমে চলুন:

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

    আকৃতির প্যারামিটারের জন্য সমাধানের চেষ্টা:
    এটি ব্যর্থ; দেখে মনে হচ্ছে যে আকারের প্যারামিটারটি যাই হোক না কেন, স্কেল প্যারামিটারটি 1 নম্বরে যেখানে ওয়েবেল বিতরণ করা হয় সেখানে .88 এর সেন্সরিংয়ের সময় 15% সেন্সরিং হার পাওয়া অসম্ভব।

    optim(.5, fn=function(shp){(pweibull(.88, shape=shp, scale=1, lower.tail=F)-.15)^2})
    # $par
    # [1] 4.768372e-08
    # ...
    # There were 46 warnings (use warnings() to see them)
    pweibull(.88, shape=4.768372e-08, scale=1, lower.tail=F)
    # [1] 0.3678794
    
    optim(.5, fn=function(shp){(pweibull(.88, shape=shp, scale=1, lower.tail=F)-.15)^2},
          control=list(reltol=1e-16))
    # $par
    # [1] 9.769963e-16
    # ...
    # There were 50 or more warnings (use warnings() to see the first 50)
    pweibull(.88, shape=9.769963e-16, scale=1, lower.tail=F)
    # [1] 0.3678794
    

    স্কেল প্যারামিটারের জন্য সমাধান করা:

    optim(1, fn=function(scl){(pweibull(.88, shape=.5, scale=scl, lower.tail=F)-.15)^2})
    # $par
    # [1] 0.2445312
    # ...
    pweibull(.88, shape=.5, scale=0.2445312, lower.tail=F)
    # [1] 0.1500135
    

    সেন্সর করার সময়টির জন্য সমাধান করা:

    qweibull(.15, shape=.5, scale=1, lower.tail=F)
    # [1] 3.599064
    

    সেন্সরিং হারের জন্য সমাধান:

    pweibull(.88, shape=.5, scale=1, lower.tail=F)
    # [1] 0.3913773
    
  2. অন্যদিকে, আমরা ড্রপআউটের কারণে পুরো গবেষণা জুড়ে এলোমেলোভাবে (এবং সাধারণত স্বাধীনভাবে) সেন্সরিংয়ের কথা ভাবতে পারি। সেক্ষেত্রে পদ্ধতিটি হ'ল ওয়েবুল বৈকল্পের দুটি সেট অনুকরণ করা। তারপরে আপনি সহজেই নোট করুন যা প্রথমটি এসেছে: আপনি কম পয়েন্টটি শেষ পয়েন্ট হিসাবে ব্যবহার করেন এবং সেই ইউনিটকে সেন্সরযুক্ত কল করেন যদি কম মান সেন্সর করার সময় হয়। উদাহরণ স্বরূপ:

    set.seed(0775)  
    t    = rweibull(3, shape=.5, scale=1)
    t      # [1] 0.7433678 1.1325749 0.2784812
    c    = rweibull(3, shape=.5, scale=1.5)
    c      # [1] 3.3242417 2.8866217 0.9779436
    time = pmin(t, c)
    time   # [1] 0.7433678 1.1325749 0.2784812
    cens = ifelse(c<t, 1, 0)
    cens   # [1] 0 0 0
    

খুব আকর্ষণীয় উত্তর ( optimফাংশনটি দুর্দান্ত)) তবে সেন্সরিংয়ের নির্দিষ্ট শতাংশ অর্জনের জন্য আপনি কীভাবে আপনার দ্বিতীয় উত্তরটি ক্রমাঙ্কণ করবেন?
ড্যান চালটিয়েল

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

2

কেবল আমরা একই জিনিসটির বিষয়ে কথা বলছি তা নিশ্চিত হওয়ার জন্য, টাইপ -1 সেন্সর করা হয়

... একটি পরীক্ষায় একটি নির্দিষ্ট সংখ্যক বিষয় বা আইটেম রয়েছে এবং পূর্ব নির্ধারিত সময়ে পরীক্ষাটি বন্ধ করে দেয়, যে কোনও বাকী বাকী বিষয়গুলি ডান-সেন্সর করা হয়।

সেন্সর করার সময় = 0.88 ব্যবহার করে ডান সেন্সর করা ডেটা তৈরি করতে আপনি কেবলমাত্র minফাংশনটি ব্যবহার করবেন :

T <- rweibull(3, shape=.5, scale=1)
censoring_time <- 0.88
T_censored <- min(censoring_time, T)

যাইহোক, আপনি যখন " সেন্সরিং রেট = 0.15 " বলবেন তখন আপনার অর্থ কী তা আমি পুরোপুরি নিশ্চিত নই ... আপনি কি বলতে চান যে আপনার 15% সাবজেক্টটি সঠিক সেন্সর হয়েছে? সেন্সরশিপ সম্পর্কিত এই নোটগুলি ইঙ্গিত দেয় যে প্রকার -1 সেন্সরশিপের জন্য কেবলমাত্র পরামিতিগুলির প্রয়োজন সেন্সর করার সময় , সুতরাং আমি নিশ্চিত নই যে এই হারের কারণগুলি কীভাবে হয়।


1
মনে রাখবেন যে আপনার উদ্ধৃতি সেন্সর করার সংজ্ঞা নয়: এটি কেবল একটি উদাহরণ। ডান সেন্সরিং তখন ঘটে যখন প্রতিটি মান পূর্বনির্ধারিত চৌম্বকটির সাথে তুলনা করা হয় এবং যখন মান সেই চৌম্বকটি অতিক্রম করে তখন একটি অ-সংখ্যাসূচক সেন্সরিং সূচক দ্বারা প্রতিস্থাপিত হয়। নির্বিশেষে, প্রয়োগ min(বা আরও সাধারণভাবে pmin) এটিকে অনুকরণ করার উপায় R। (বেঁচে থাকা অধ্যয়নের ক্ষেত্রে ডান সেন্সর করার একটি উদাহরণ বর্জ্য জলের ব্যাকটিরিয়া উপনিবেশগুলির বিশ্লেষণ It এটি মাইক্রোস্কোপ স্লাইডে দৃশ্যমানগুলি গণনা করে সম্পন্ন করা হয় heavy ভারী দূষণের সাথে, ফলাফলটি "গণনা করার মতো অসংখ্য" হিসাবে দেওয়া হয়। )
whuber
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.