দ্বিগুণ মডেলটিতে অফসেট ব্যবহার করে রোগীদের সংখ্যা বাড়ছে account


18

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

সুতরাং আমি এটির মতো অফসেট দ্বিপদী মডেলটি ব্যবহার করছি (আর-কোড):

glm(Incident~Numbers, offset=Numbers, family=binomial, data=threatdata)

আমার প্রশ্নগুলি হ'ল:

  1. ঠিক একই ভেরিয়েবলের ভবিষ্যদ্বাণী করা এবং অফসেটে রাখা কি ঠিক আছে? আমি ঘটনার সম্ভাবনার মধ্যে টনিক বৃদ্ধি আংশিকভাবে দেখতে চাই এবং প্রয়োজনীয় কিছু আছে কিনা তা দেখতে চাই। এটি আমার কাছে বোধগম্য হয় তবে আমি ভুল হলে আমি কিছুটা সতর্ক।

  2. অফসেটটি কি সঠিকভাবে নির্দিষ্ট করা হয়েছে? আমি জানি যে পিসন মডেলগুলিতে এটি পড়ত

    offset=log(Numbers)
    

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


2
আপনি যা ঠিক করতে চান তা ঠিক কি আপনি পরিমাপ করতে চান না - অর্থাৎ কীভাবে রোগীর সংখ্যা বাড়ার সাথে "ঘটনা" হওয়ার সম্ভাবনা বাড়তে থাকে?
বি_মিনিয়ার

1
আমাকে বি_মিনারের বক্তব্য প্রতিধ্বনিত করা দরকার। আমি মনে করি আপনি যখন / কেন এই পরিস্থিতিতে অফসেটটি ব্যবহার করবেন তখন আপনি বিভ্রান্ত। আপনার মডেল, সানসেট অফসেট, আপনাকে রোগীদের # এর ক্রিয়া হিসাবে ঘটনার সম্ভাবনার জন্য উপযুক্ত মান দেয়। আপনি যদি অন্য কোনও কার্যকরী ফর্মের প্রতি আগ্রহী হন তবে বৈজ্ঞানিকভাবে আকর্ষণীয় কিসের ভিত্তিতে রূপান্তরগুলি (যেমন লগ বা এক্সপেনশনেশন #) বিবেচনা করুন।
অ্যাডমো

আপনি কি ঘটনার বিষয়ে কিছু স্পষ্ট করতে পারেন? কোনও ঘটনা কি কোনও রোগীর সাথে সম্পর্কিত, বা পুরো ওয়ার্ড সম্পর্কে কিছু? যদি রোগীদের সাথে সম্পর্কিত হয়, তবে সেখানে কি> 1 ঘটনা ঘটানো সম্ভব যদি কোনও রোগী না থাকে তবে কি ঘটনাটি ঘটানো অসম্ভব?
এটিরেটু

1
স্পষ্টতই আমার উত্তরটিতে 'যথেষ্ট বিশদ থাকে না'। আমি একটি তাত্ত্বিক বিকাশ, চলমান কোড এবং আপনার উভয় প্রশ্নের উত্তর সরবরাহ করেছি, তাই আপনি সম্ভবত আরও কি কি প্রয়োজন তা পরিষ্কার করে বলতে পারেন?
কনজিগেটপায়ার

1
দুঃখিত, সম্মিলিত পূর্ব, আপনার উত্তর দুর্দান্ত great "পর্যাপ্ত বিশদ নয়" জিনিসটি হ'ল ট্যাগটি অনুগ্রহে যুক্ত হয়েছিল (যেমন আপনি পোস্ট করার আগে সেখানে ছিলেন)। কেউ যখন আরও ভাল প্রতিক্রিয়া তৈরি করে সেই ক্ষেত্রে যখন অনুগ্রহ শেষ হয় আমি মেনে নিতে যাচ্ছি, তবে এটি অসম্ভব এবং আপনার পক্ষে খুব সহায়ক, আপনাকে ধন্যবাদ।
ক্রিস বিলি

উত্তর:


17

যদি আপনি ওয়ার্ডে রোগীদের N দিন দেওয়া কোনও ঘটনার সম্ভাবনা সম্পর্কে আগ্রহী হন তবে আপনি পছন্দ মতো একটি মডেল চান:

mod1 <- glm(incident ~ 1, offset=patients.on.ward, family=binomial)

অফসেটটি পরীক্ষার প্রতিনিধিত্ব করে, incidentহয় 0 বা 1, এবং কোনও ঘটনার সম্ভাবনা স্থির থাকে (ঘটনা উত্পন্ন করার প্রবণতায় কোনও ভিন্নধারা নেই) এবং রোগীরা ঘটনা ঘটাতে যোগাযোগ করে না (কোনও সংক্রামিত নয়)। বিকল্পভাবে, যদি কোনও ঘটনার সম্ভাবনা খুব কম হয়, যা এটি আপনার জন্য (বা আপনি আমাদের ঘটনাটি উল্লেখ না করেই গণনা করেছেন) তবে আপনি পয়েসন গঠনের পক্ষে পছন্দ করতে পারেন

log.patients.on.ward <- log(patients.on.ward)
mod2 <- glm(incident ~ 1, offset=log.patients.on.ward, family=poisson)

যেখানে একই অনুমানগুলি প্রযোজ্য। অফসেটটি লগড হয়েছে কারণ ওয়ার্ডে রোগীদের সংখ্যা আনুপাতিক / গুণগত প্রভাব ফেলে।

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

mod3 <- glm(incident ~ 1 + log.patients.on.ward, family=poisson)

যদি সহগটি log.patients.on.ward1 থেকে উল্লেখযোগ্যভাবে পৃথক হয় যেখানে এটি সংশোধন করা হয়েছিল mod2, তবে কোনও ভিন্নধর্মী বা সংক্রামিত হওয়ার অনুমানের সাথে অবশ্যই কিছু ভুল হতে পারে। এবং যদিও আপনি অবশ্যই এই দুটিটিকে পৃথক করতে পারবেন না (অন্য কোনও অনুপস্থিত ভেরিয়েবলগুলির মধ্যে একটিও নয়), এখন আপনার ওয়ার্ডে রোগীদের সংখ্যা বাড়ার ফলে আপনি কী চান তার চেয়ে বেশি এবং কোনও ঘটনার হার / সম্ভাবনা কতটা বাড়িয়ে দেয় তার একটি অনুমান আপনিই করতে পারেন সুযোগ থেকে প্রত্যাশা পরামিতিগুলির স্পেসে এটি 1-coef(mod3)[2]অন্তর অন্তর দিয়ে প্রাপ্ত confint

বিকল্পভাবে আপনি কেবল লগ পরিমাণ এবং তার সহগের সাথে সরাসরি কাজ করতে পারেন। আপনি যদি ওয়ার্ডে রোগীদের সংখ্যা ব্যবহার করে ঘটনার সম্ভাবনা সম্পর্কে কেবল ভবিষ্যদ্বাণী করতে চান, তবে এই মডেলটি এটি করার একটি সহজ উপায় হবে।

প্রস্নগুলা

  1. আপনার অফসেটে নির্ভরশীল ভেরিয়েবলগুলি রাখা কি ঠিক? এটি আমার কাছে খুব খারাপ ধারণা বলে মনে হচ্ছে, তবে আপনাকে দেখতে পাচ্ছি না।

  2. পয়সন রিগ্রেশন মডেলগুলির অফসেটটি exposureপ্রকৃতপক্ষে log(exposure)। সম্ভবত বিভ্রান্তিকরভাবে offsetআর এর দ্বিপদী রিগ্রেশন মডেলগুলির ব্যবহার মূলত পরীক্ষার সংখ্যা নির্দেশ করার উপায়। এটি সর্বদা একটি নির্ভরশীল ভেরিয়েবল হিসাবে cbind(incidents, patients.on.ward-incidents)সংজ্ঞাযুক্ত এবং কোনও অফসেট দ্বারা প্রতিস্থাপিত হতে পারে । এটি এর মতো চিন্তা করুন: পোইসন মডেলটিতে এটি লগ লিঙ্ক ফাংশনের পিছনে ডানদিকে প্রবেশ করে এবং দ্বিপদী মডেলটিতে এটি লগইট লিঙ্ক ফাংশনের সামনে বাম দিকে প্রবেশ করে।


18

পোইসন প্রদেশগুলিতে অফসেট

আমরা কেন পইসন রিগ্রেশনটিতে অফসেট ব্যবহার করি তা দেখেই শুরু করা যাক। এক্সপোজারের জন্য নিয়ন্ত্রণ করতে আমরা প্রায়শই এটি করতে চাই। যাক প্রতি এক্সপোজার ইউনিট বেসলাইন হার হতে হবে এবং একই এককে এক্সপোজার সময় হও। প্রত্যাশিত ইভেন্টগুলির সংখ্যা ।t λ × tλটিλ×টি

একটি GLM মডেল আমরা একটি লিঙ্ক ফাংশন ব্যবহার করে প্রত্যাশিত মান মডেলিং করছে , যে হয়

(λটিআমি)=লগ(λটিআমি)=β0+ +β1এক্স1,আমি+ +...

যেখানে ব্যক্তির জন্য এক্সপোজার সময়কাল এবং ব্যক্তির জন্য covariate মান । উপবৃত্তাকারগুলি কেবল অতিরিক্ত সংযোজন শর্তাদি ইঙ্গিত করে যা আমরা যুক্ত করতে চাই। i x i iটিআমিআমিএক্সআমিআমি

আমরা উপরের অভিব্যক্তিটিকে সহজ করে তুলতে পারি

লগ(λ)=লগ(টিআমি)+ +β0+ +β1এক্স1,আমি+ +...

কেবল একটি "পূর্ণ" পইসন রিগ্রেশন যোগ করা যেমন মডেল পরামিতি, যা আমরা আনুমানিক হিসাব করা হবে কোনো একটি পণ্য নয়।লগ(টিআমি)

দ্বিপদী রিগ্রেশন

দ্বিপদী রিগ্রেশনটিতে, যা সাধারণত লগইট লিঙ্ক ব্যবহার করে, তা হ'ল:

(পিআমি)=logit(পিআমি)=(পিআমি1-পিআমি)=β0+ +β1এক্স1,আমি+ +...

আপনি দেখতে পাচ্ছেন যে জন্য এমন একটি মডেল তৈরি করা কঠিন হবে যা একটি ধ্রুবক অফসেট তৈরি করে।পিআমি

উদাহরণস্বরূপ, যদি হ'ল সেই দিনের যে কোনও রোগীর কোনও ঘটনা ঘটেএটি সেদিন উপলব্ধ পৃথক রোগীদের একটি কাজ হবে। Jboman যেমন বলেছে যে কোনও ঘটনার প্রশংসা অর্জন করা সহজ, কমপক্ষে একটি ঘটনার সরাসরি সম্ভাবনা নির্ধারণের চেয়ে। পিআমিআমি

যাক রোগীর সম্ভাব্যতা হতে দিনে একটি ঘটনা হচ্ছে । যেদিন কোনও রোগীর না হওয়ার সম্ভাবনা হব তা , যেখানে সেদিন রোগীর সংখ্যা । প্রশংসা করে, কমপক্ষে একজন রোগীর একটি ঘটনার সম্ভাবনা ,পিআমি,*আমিআমিΠ=1এনআমি(1-পিআমি,*)এনআমিআমি

পিআমি=1-Π=1এনআমি(1-পিআমি,*)

যদি আমরা যে কোনও রোগীর কোনও ঘটনার সম্ভাবনা ধরে নিতে ইচ্ছুক হয় তবে আমরা এটি to তে সহজ করতে পারি যেখানে and এবং হ'ল ভাগ হওয়ার সম্ভাবনা।

পিআমি=1-(কুই*)এনআমি,
কুই*=1-পি*পি*

আমরা যদি এই নতুন সংজ্ঞাটি আমাদের লগইট লিংক ফাংশন মধ্যে ফিরিয়ে , তবে সরলীকরণ ও পুনর্বিন্যাসের ক্ষেত্রে আমরা সবচেয়ে ভাল যেটি করতে পারি তা হ'ল । এটি এখনও আমাদের একটি ধ্রুবক পদটি রেখে যায় না যা বাস্তবায়ন করা যায়। পিআমি(পিআমি)লগ((কুই*)-এন-1)

ফলস্বরূপ আমরা এক্ষেত্রে অফসেট ব্যবহার করতে পারি না।

আপনি কি করতে পারেন (যেমন jboman দ্বারা প্রস্তাবিত) সমস্যা discretize আপনি রোগীদের সংখ্যার জন্য বিন তৈরি এবং জন্য পৃথক মান অনুমান করতে পারেন এই বিন প্রত্যেকের জন্য। অন্যথায় আপনার আরও জটিল মডেল তৈরি করতে হবে।পি


2
+1, @ রাইডার_ এক্স সাইটে আপনাকে স্বাগতম। আমি আশা করি ভবিষ্যতে আমরা এরকম আরও উত্তর আশা করতে পারি।
গুং - মনিকা পুনরায়

1
@ গুং - ধন্যবাদ! আমি যা বলেছিলাম একটি দরকারী উত্তর বলে আমি খুব বেশি পিছনে শুনিনি তাই আমি খুব বেশি ফিরে আসিনি। আমি এটি পরিবর্তন করতে হবে। শুভেচ্ছা।
রাইডার_এক্স

2
+1 আমি কী উত্তর এবং কী আদেশ ব্যবহার করতে হবে তার পরিবর্তে (বা অতিরিক্ত হিসাবে) তত্ত্ব এবং যুক্তিকে ব্যাখ্যা করে এমন উত্তরগুলির আমি সত্যই প্রশংসা করি ।
whuber

9

এই উত্তরটি দুটি অংশে আসে, প্রথম প্রশ্নের সরাসরি উত্তর এবং দ্বিতীয়টি আপনি যে মডেলটির প্রস্তাব দিচ্ছেন তার একটি মন্তব্য।

প্রথম অংশটি Numbersসমীকরণের আরএইচএসে রাখার পাশাপাশি অফসেট হিসাবে ব্যবহারের সাথে সম্পর্কিত । এটি করার প্রভাবটি কেবল আনুমানিক সহগের 1 টি বিয়োগ করা হবে Numbers, যার ফলে অফসেটের প্রভাবটি বিপরীত হবে এবং ফলগুলি অন্যথায় পরিবর্তন করবে না। অপ্রাসঙ্গিক আউটপুট কয়েকটি লাইন অপসারণ সহ নিম্নলিখিত উদাহরণটি এটি দেখায়:

library(MASS)
Numbers <- rpois(100,12)
p <- 1 / (1 + exp(0.25*Numbers))
y <- rbinom(100, Numbers, p)
Incident <- pmin(y, 1) 

> summary(glm(Incident~Numbers, family="binomial"))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.3121  -1.0246  -0.8731   1.2512   1.7465  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  0.99299    0.80624   1.232   0.2181  
Numbers     -0.11364    0.06585  -1.726   0.0844 . <= COEFFICIENT WITH NO OFFSET TERM
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 135.37  on 99  degrees of freedom
Residual deviance: 132.24  on 98  degrees of freedom
AIC: 136.24

> summary(glm(Incident~Numbers, offset=Numbers, family="binomial"))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-1.3121  -1.0246  -0.8731   1.2512   1.7465  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept)  0.99299    0.80624   1.232    0.218    
Numbers     -1.11364    0.06585 -16.911   <2e-16 *** <= COEFFICIENT WITH OFFSET TERM
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 342.48  on 99  degrees of freedom
Residual deviance: 132.24  on 98  degrees of freedom
AIC: 136.24

নম্বরের গুণনক্ষেত্র এবং নাল বিচ্যুতি ব্যতীত সবকিছু কীভাবে সমান হয় তা নোট করুন (এবং টি-স্ট্যাটিস্টিকস, কারণ এটি এখনও -1 এর পরিবর্তে 0 এর বিপরীতে পরীক্ষা করছে))

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

একজনের সন্দেহও হতে পারে যে প্রতি রোগীর সম্ভাব্যতা রোগীর থেকে রোগীর মধ্যে পরিবর্তিত হয়, যা আরও জটিল, শ্রেণিবদ্ধ মডেলের দিকে পরিচালিত করে, তবে আমি এখানে এ যাব না।

যাই হোক না কেন, লগইট স্কেলে লিনিয়ার মডেল ব্যবহার না করে আপনি এবং রোগীদের সংখ্যার সীমাবদ্ধ পরিসীমা দেওয়া, সম্পর্কের বিষয়ে ননপ্রেমেট্রিক হওয়া এবং রোগীদের সংখ্যা তিনটি বা গোষ্ঠীভুক্ত করা আরও ভাল হতে পারে চারটি গ্রুপ, উদাহরণস্বরূপ, 10-11, 12-13, 14-15 এবং 16-17, এই গোষ্ঠীগুলির জন্য ডমি ভেরিয়েবলগুলি তৈরি করুন, তারপরে ডানদিকে ডামি ভেরিয়েবলগুলি দিয়ে লজিস্টিক রিগ্রেশন চালান। এটি ননলাইনারের সাথে সম্পর্কগুলি আরও ভালভাবে সক্ষম করতে সক্ষম করবে যেমন "সিস্টেমটি প্রায় ১" জন রোগীকে ওভারলোড করে এবং ঘটনাগুলি উল্লেখযোগ্যভাবে র‌্যাম্প শুরু করে। " আপনার যদি রোগীদের অনেক বিস্তৃত থাকে তবে আমি একটি সাধারণীকরণমূলক মডেল, যেমন, 'এমজিসিভি' প্যাকেজ থেকে 'গ্যাম' পরামর্শ দেব suggest


0

লগ-লিংক নির্দিষ্ট করতে এবং পোয়েসন মডেল হিসাবে অফসেটটি রাখা সবচেয়ে সহজ বলে মনে হচ্ছে।


2
আমি নিশ্চিত যে আপনি ঠিক আছেন, তবে আমার সুবিধার জন্য এটি পয়েসন কেমন? দেখে মনে হচ্ছে ওপি-র একটি বাইনারি ফলাফল সহ একটি ডেটা সেট রয়েছে। এটি কি গ্ল্যাম (ঘটনা ~ নম্বর, অফসেট = লগ (নম্বর), পরিবার = পোইসন, ডেটা = হুমকিডটা) হবে ??
বি_মিনিয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.