এই ক্ষেত্রে, আমি বিশ্বাস করি যে যদি আমরা আমাদের বেঁচে থাকার বিশ্লেষণের টুপিটি রাখি তবে একটি সমাধানের পথ বিদ্যমান। মনে রাখবেন যে এই মডেলটির কোনও সেন্সরযুক্ত বিষয় না থাকলেও (প্রচলিত অর্থে) আমরা এখনও বেঁচে থাকা বিশ্লেষণ এবং বিষয়গুলির বিপদ সম্পর্কে কথা বলতে পারি।
আমাদের এই ক্রমে তিনটি জিনিস মডেল করতে হবে: i) ক্রমসংক্রান্ত বিপত্তি, ii) বিপত্তি, iii) লগ হওয়ার সম্ভাবনা।
i) আমরা অংশ নেব i) পদক্ষেপে। পইসন র্যান্ডম ভেরিয়েবলের ক্রমবর্ধমান বিপদ, কী? একটি বিযুক্ত বন্টন, সেখানে it¹ সংজ্ঞায়িত করার দুটি উপায় আছে, কিন্তু আমরা সংজ্ঞা ব্যবহার করবে । তাই জন্য ক্রমবর্ধমান বিপত্তি হয়এইচ( টি )এইচ( টি ) = - লগএস( টি )টি। পিও আমি ( λ )
এইচটি( টি ) = - লগ( 1 - কিউ ( টি , λ ) ) =-লগপি( টি , λ )
যেখানে যথাক্রমে উপরের, নিম্ন নিয়মিত গামা ফাংশন।প্রশ্ন , পি
এখন আমরা শেষ হওয়া বীমাগুলির "বিপত্তি" যুক্ত করতে চাই। ক্রমবর্ধমান বিপদ সম্পর্কে দুর্দান্ত জিনিস হ'ল এগুলি সংযোজনীয়, তাই আমাদের কেবল 7, 14, 21 বারে "ঝুঁকি" যুক্ত করতে হবে:
এইচটি'( টি ) = - লগপি( T , λ ) + +একটি⋅1( T > 7 )+ + খ ⋅1( টি > ১৪ )+ + গ ⋅1( টি > 21 )
Heuristically, রোগীর একটি ব্যাকগ্রাউন্ড "পইসন" ঝুঁকি সাপেক্ষে 14, এবং 21 হয়, এবং তারপর 7 পয়েন্ট-জ্ঞানী ঝুঁকি, (কারণ এই একটি হল ক্রমসঞ্চিত বিপত্তি, আমরা সেইসব পয়েন্ট-জ্ঞানী ঝুঁকি, অত: পর জমা ।) আমরা এবং কী তা জানেন না তবে আমরা পরে তাদের বীমা শেষ হওয়ার সম্ভাবনাগুলির সাথে সংযুক্ত করব।>ক , খগ
আসলে, যেহেতু আমরা জানি 21 সর্বোচ্চ সীমা নেই এবং সব রোগীদের যে পরে সরিয়ে ফেলা হয়, আমরা সেট করতে পারেন অনন্ত যাবে।গ
এইচটি'( টি ) = - লগপি( T , λ ) + +একটি⋅1( T > 7 )+ + খ ⋅1( টি > ১৪ )+ ∞ ⋅1( টি > 21 )
ii) এরপরে আমরা বিপত্তিটি পেতে সংশ্লেষমূলক বিপত্তিটি ব্যবহার করি । এর সূত্রটি হ'ল:এইচ ( টি )
এইচ ( টি ) = 1 - এক্সপ্রেস( এইচ( টি ) - এইচ( টি + 1 ) )
আমাদের জমে থাকা বিপদটি প্লাগ ইন করা এবং সরলীকরণ করা:
জটি'( টি ) = 1 -পি( টি + 1 , λ )পি( টি , λ )মেপুঃ( - একটি ⋅1( টি = 7 )- খ ⋅1( টি = ১৪ )- ∞ ⋅1( টি = 21 ))
iii) অবশেষে, আমাদের যখন ঝুঁকি এবং ক্রমবর্ধমান বিপত্তি ঘটেছে তখন অবশেষে বেঁচে থাকার মডেলগুলির (লগকে সেন্সর ছাড়াই) লগ লেখার সম্ভাবনা খুব সহজ:
l l ( λ , ক , খ)|t ) =Σi = 1এন( লগএইচ (টিআমি) - এইচ(টিআমি) )
এবং এটা আছে!
এমন সম্পর্ক রয়েছে যা আমাদের পয়েন্ট-ভিত্তিক ঝুঁকি সহগ এবং বীমা দৈর্ঘ্যের সম্ভাবনার সাথে সংযোগ করে: ।a = - লগ( 1 -পিএকটি) , খ = - লগ( 1 -পিএকটি-পিখ) - লগ( 1 -পিএকটি) ,পিগ= 1 - (পিএকটি+ +পিখ)
প্রমাণটি পুডিংয়ে রয়েছে। লাইফলাইনগুলির কাস্টম মডেল শব্দার্থক শব্দ ব্যবহার করে কিছু সিমুলেশন এবং অনুমান করি ।
from lifelines.fitters import ParametericUnivariateFitter
from autograd_gamma import gammaincln, gammainc
from autograd import numpy as np
MAX = 1e10
class InsuranceDischargeModel(ParametericUnivariateFitter):
"""
parameters are related by
a = -log(1 - p_a)
b = -log(1 - p_a - p_b) - log(1 - p_a)
p_c = 1 - (p_a + p_b)
"""
_fitted_parameter_names = ["lbd", "a", "b"]
_bounds = [(0, None), (0, None), (0, None)]
def _hazard(self, params, t):
# from (1.64c) in http://geb.uni-giessen.de/geb/volltexte/2014/10793/pdf/RinneHorst_hazardrate_2014.pdf
return 1 - np.exp(self._cumulative_hazard(params, t) - self._cumulative_hazard(params, t+1))
def _cumulative_hazard(self, params, t):
lbd, a, b = params
return -gammaincln(t, lbd) + a * (t > 7) + b * (t > 14) + MAX * (t > 21)
def gen_data():
p_a, p_b = 0.4, 0.2
p = [p_a, p_b, 1 - p_a - p_b]
lambda_ = 18
death_without_insurance = np.random.poisson(lambda_)
insurance_covers_until = np.random.choice([7, 14, 21], p=p)
if death_without_insurance < insurance_covers_until:
return death_without_insurance
else:
return insurance_covers_until
durations = np.array([gen_data() for _ in range(40000)])
model = InsuranceDischargeModel()
model.fit(durations)
model.print_summary(5)
"""
<lifelines.InsuranceDischargeModel: fitted with 40000 observations, 0 censored>
number of subjects = 40000
number of events = 40000
log-likelihood = -78845.10392
hypothesis = lbd != 1, a != 1, b != 1
---
coef se(coef) lower 0.95 upper 0.95 p -log2(p)
lbd 18.05026 0.03353 17.98455 18.11598 <5e-06 inf
a 0.50993 0.00409 0.50191 0.51794 <5e-06 inf
b 0.40777 0.00557 0.39686 0.41868 <5e-06 inf
"""
Section বিভাগটি এখানে দেখুন 1.2