इस प्रक्रिया के लिए क्या संभावना है?


10

एक मरीज अस्पताल में भर्ती है। उनके रहने की अवधि 2 चीजों पर निर्भर करती है: उनकी चोट की गंभीरता, और उनका कितना बीमा उन्हें अस्पताल में रखने के लिए भुगतान करने के लिए तैयार है। कुछ रोगियों को समय से पहले छोड़ दिया जाएगा अगर उनका बीमा उनके रहने के लिए भुगतान करना बंद कर देता है।

निम्नलिखित मान लें:

1) ठहरने की अवधि पॉसों को वितरित की जाती है (बस अब के लिए यह मान लें, यह पैरामीटर साथ एक यथार्थवादी धारणा हो सकती है या नहीं भी हो सकती है) ।λ

2) विभिन्न बीमा योजनाएं 7, 14 और 21 दिन रहती हैं। कई मरीज 7,14 या 21 दिन रुकने के बाद निकलेंगे (क्योंकि उनका बीमा खत्म हो गया है और उन्हें छोड़ देना चाहिए)।

अगर मुझे इस प्रक्रिया से डेटा प्राप्त करना था, तो यह निम्नानुसार हो सकता है:

यहाँ छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं, 7, 14 और 21 दिन के निशान पर स्पाइक्स हैं। ये ऐसे मरीज हैं जो अपना बीमा समाप्त होने पर छोड़ देते हैं।

स्पष्ट रूप से, डेटा को एक मिश्रण के रूप में मॉडल किया जा सकता है। मुझे इस वितरण की संभावना को लिखने में कठिन समय हो रहा है। यह एक शून्य फुलाया हुआ पॉइज़न जैसा है, लेकिन मुद्रास्फीति 7, 14 और 21 पर है।

इस डेटा के लिए क्या संभावना है? संभावना के पीछे क्या विचार प्रक्रिया है?


शुरू करने के लिए, आपको 7, 14 और 21-दिन की मजबूरियों को छोड़ने के समय की संभावनाओं को जानना होगा।
ब्रूसेट

1
मेरे लिए यह एक Poisson और तीन दाहिने-कटे (7, 14 और 21) Poisson वितरणों के मिश्रण जैसा लगता है। उन्हें लिखना एक और कदम है।
कार्स्टन

@BruceET मैं इस मॉडल पर बायेसियन इंट्रैक्शन करने जा रहा हूं, इसलिए मैं इसे सबसे सामान्य मामले में लिखना चाहूंगा।
डेमेट्री पैनानोस

जवाबों:


9

इस मामले में, मेरा मानना ​​है कि यदि हम अपने अस्तित्व विश्लेषण टोपी पर रखते हैं, तो समाधान का मार्ग मौजूद है। ध्यान दें कि भले ही इस मॉडल में सेंसर किए गए विषय नहीं हैं (पारंपरिक अर्थों में), हम अभी भी अस्तित्व विश्लेषण का उपयोग कर सकते हैं और विषयों के खतरों के बारे में बात कर सकते हैं।

हमें इस क्रम में तीन चीजों को मॉडल करने की आवश्यकता है: i) संचयी खतरा, ii) खतरा, iii) लॉग संभावना।

i) हम चरणों में भाग i) करेंगे। पॉसों के यादृच्छिक चर का संचयी खतरा, क्या है ? असतत वितरण के लिए, it but को परिभाषित करने के दो तरीके हैं, लेकिन हम परिभाषा । तो लिए संचयी खतरा हैएच(टी)एच(टी)=-लॉगएस(टी)टी~पीमैं(λ)

एचटी(टी)=-लॉग(1-क्यू(टी,λ))=-लॉगपी(टी,λ)

जहां क्रमशः ऊपरी, निचला नियमित गामा कार्य है।क्यू,पी

अब हम बाहर चल रहे बीमा के "खतरों" को जोड़ना चाहते हैं। संचयी खतरों के बारे में अच्छी बात यह है कि वे योगात्मक हैं, इसलिए हमें 7, 14, 21: समय पर "जोखिम" जोड़ना होगा।

एचटी'(टी)=-लॉगपी(टी,λ)+1(टी>7)+1(टी>14)+सी1(टी>21)

स्वाभाविक रूप से, एक रोगी पृष्ठभूमि "पॉइसन" जोखिम के अधीन है, और फिर 7, 14 और 21 पर बिंदु-वार जोखिम है। (क्योंकि यह एक संचयी खतरा है, हम उन बिंदु-वार जोखिमों को जमा करते हैं, इसलिए )। पता नहीं और हैं, लेकिन हम बाद में उन्हें बीमा की हमारी संभावनाओं से जोड़ देंगे।>,सी

दरअसल, जब से हम जानते हैं कि 21 ऊपरी सीमा है और उसके बाद सभी रोगियों को हटा दिया जाता है, हम को अनंत होने के लिए निर्धारित कर सकते हैं ।सी

एचटी'(टी)=-लॉगपी(टी,λ)+1(टी>7)+1(टी>14)+1(टी>21)

ii) आगे हम खतरों को प्राप्त करने के लिए संचयी खतरे का उपयोग करते हैं, । इसके लिए सूत्र है:(टी)

(टी)=1-exp(एच(टी)-एच(टी+1))

हमारे संचयी खतरे में प्लगिंग, और सरलीकरण:

टी'(टी)=1-पी(टी+1,λ)पी(टी,λ)exp(-1(टी=7)-1(टी=14)-1(टी=21))

iii) अंत में, उत्तरजीविता मॉडल (बिना सेंसर किए) के लिए लॉग लाइबिलिटी लिखना एक बार सुपर आसान है, क्योंकि हमारे पास खतरा और कमज़ोर खतरा है:

एलएल(λ,,|टी)=Σमैं=1एन(लॉग(टीमैं)-एच(टीमैं))

और वहाँ यह है!

ऐसे रिश्ते मौजूद हैं जो हमारे बिंदु-वार खतरे के गुणांक और बीमा लंबाई की संभावनाओं को जोड़ते हैं: ।=-लॉग(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 यहाँ देखें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.