সম্ভাব্যতা পেতে আমি কীভাবে লজিস্টিক রিগ্রেশন বিটা + কাঁচা ডেটা ব্যবহার করতে পারি


17

আমার একটি মডেল লাগানো আছে (সাহিত্য থেকে)। ভবিষ্যদ্বাণীপূর্ণ ভেরিয়েবলগুলির জন্য আমার কাছে কাঁচা ডেটাও রয়েছে।

সম্ভাবনা পাওয়ার জন্য আমার কী সমীকরণটি ব্যবহার করা উচিত? মূলত, সম্ভাব্যতা পেতে কীভাবে আমি কাঁচা ডেটা এবং সহগকে একত্রিত করব?

উত্তর:


15

এখানে প্রয়োগ করা গবেষকের উত্তর (পরিসংখ্যান প্যাকেজ আর ব্যবহার করে) দেওয়া হচ্ছে।

প্রথমে আসুন কিছু ডেটা তৈরি করা যাক, আমি একটি সাধারণ বাইভারিয়েট লজিস্টিক রিগ্রেশন মডেল :log(p1p)=β0+β1x

> set.seed(3124)
> 
> ## Formula for converting logit to probabilities 
> ## Source: http://www.statgun.com/tutorials/logistic-regression.html
> logit2prop <- function(l){exp(l)/(1+exp(l))}
> 
> ## Make up some data
> y <- rbinom(100, 1, 0.2)
> x <- rbinom(100, 1, 0.5)

পূর্বাভাসক xএকটি দ্বিধাত্বক পরিবর্তনশীল:

> x
  [1] 0 1 1 1 1 1 0 1 0 1 0 1 0 0 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 
 [48] 1 1 0 1 0 0 0 0 1 0 0 1 1 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 1 0 1 0 0 0
 [95] 1 1 1 1 1 0

দ্বিতীয়ত, পথিমধ্যে (অনুমান ) এবং ঢাল ( )। আপনি দেখতে পাচ্ছেন, ইন্টারসেপ্টটি β 0 = - 0.8690 এবং opeালটি β 1 = - 1.0769β0β1β0=0.8690β1=1.0769

> ## Run the model
> summary(glm.mod <- glm(y ~ x, family = "binomial"))

[...]

    Coefficients:
            Estimate Std. Error z value Pr(>|z|)   
(Intercept)  -0.8690     0.3304  -2.630  0.00854 **
x            -1.0769     0.5220  -2.063  0.03910 * 
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for binomial family taken to be 1)

[...]

তৃতীয়, আর, বেশিরভাগ পরিসংখ্যান প্যাকেজগুলির মতো, লাগানো মানগুলি, অর্থাৎ সম্ভাব্যতাগুলি গণনা করতে পারে। আমি এই মানগুলি রেফারেন্স হিসাবে ব্যবহার করব।

> ## Save the fitted values
> glm.fitted <- fitted(glm.mod)

চতুর্থত, এই পদক্ষেপটি সরাসরি আপনার প্রশ্নকে বোঝায়: আমাদের কাছে কাঁচা ডেটা রয়েছে (এখানে: ) এবং আমাদের সহগ ( β 0 এবং β 1 ) রয়েছে। এখন, আসুন লগইটগুলি গণনা করুন এবং এইগুলি লাগানো মানগুলি সংরক্ষণ করুন :xβ0β1glm.rcdm

> ## "Raw data + coefficients" method (RDCM)
## logit = -0.8690 + (-1.0769) * x
glm.rdcm <- -0.8690 + (-1.0769)*x

চূড়ান্ত পদক্ষেপটি আর এর- fittedফাংশন ( glm.fitted) এবং আমার "হাতে তৈরি" পদ্ধতির ( logit2prop.glm.rdcm) এর উপর ভিত্তি করে লাগানো মানগুলির তুলনা a আমার নিজস্ব ফাংশন logit2prop(প্রথম পদক্ষেপ দেখুন) লগিটগুলিকে সম্ভাব্যতায় রূপান্তর করে:

> ## Compare fitted values and RDCM
> df <- data.frame(glm.fitted, logit2prop(glm.rdcm))
> df[10:25,]
> df[10:25,]
   glm.fitted logit2prop.glm.rdcm.
10  0.1250000            0.1250011
11  0.2954545            0.2954624
12  0.1250000            0.1250011
13  0.2954545            0.2954624
14  0.2954545            0.2954624
15  0.1250000            0.1250011
16  0.1250000            0.1250011
17  0.1250000            0.1250011
18  0.2954545            0.2954624
19  0.1250000            0.1250011
20  0.1250000            0.1250011
21  0.1250000            0.1250011
22  0.1250000            0.1250011
23  0.1250000            0.1250011
24  0.1250000            0.1250011
25  0.2954545            0.2954624

6
নোট যা glm(y ~ x)আপনাকে লজিস্টিক রিগ্রেশন দেয় না, আপনাকে সেট করতে হবে family=binomial(link="logit")। নোট আউটপুট বলে Dispersion parameter for gaussian family, না binomial family। আপনি যদি এটি সঠিকভাবে করেন fitted(glm.mod)তবে লগইটগুলি নয়, আনুমানিক সম্ভাব্যতাগুলি ফিরিয়ে দেয়। আপনি লগইট সঙ্গে পেতে predict(glm.mod, type="link")
ক্যারাকাল

AUA! আমি এটা স্থির করেছি। আমাকে সংশোধন করার জন্য অনেক ধন্যবাদ, কারাকাল! এটি সত্যিই বিব্রতকর (এটি আরও বেশি বিব্রতকর কারণ আমি ইতিমধ্যে অন্য এসও থ্রেডে সঠিক উত্তর দিয়েছি )।
বার্ড ওয়েইস

1
প্যাকেজ বাহুতে ফাংশন ইনলোগিট রয়েছে যা আপনার ফাংশন লজিট 2prop।
মনোয়েল গ্যাল্ডিনো

আমাদের কি ঠিক একই সংখ্যার জন্য glm.fittedএবং পাওয়া উচিত নয় logit2prop.glm.rdcm.? কিছু খুব ছোট পার্থক্য আছে। আপনার উদাহরণে কেন আমরা ঠিক একই নম্বর পাইনি তা পেলাম না। আমি যখন পরীক্ষা করি; library(arm); data.frame(logit2prop(glm.rdcm), invlogit(glm.rdcm))জন্য ঠিক একই ফল logit2propএবং invlogit। সুতরাং, সমানভাবে, আমি জিজ্ঞাসা করি glm.fittedএবং কেন invlogitএকই নম্বরগুলি না ফেরায়?
এরদোগান সিইভিভার

20

f:xlogx1xg:xexpx1+expx

π

f(π)=β0+x1β1+x2β2+

πg

π=g(β0+x1β1+x2β2+)


অর্ডিনাল লজিস্টিক রিগ্রেশন কেমন? তাহলে কি যুক্তি হবে?
ব্যবহারকারীর 333

@ ইউজার ৩৩৩: আচ্ছা ... আমি সাধারণ লজিস্টিক রিগ্রেশন নিয়ে খুব বেশি খেলিনি ... তবে আমি মনে করি যে কেউ একই লিঙ্ক ফাংশনটি ব্যবহার করে। লিংক ফাংশন বিপরীত প্রতিক্রিয়া পরিবর্তনশীল পেতে ...: যাই হোক, যুক্তি একই
ocram

হ্যাঁ ... তবে আমি কীভাবে জানি যে কোন সম্ভাবনাগুলি কোন লক্ষ্য বিভাগে ম্যাপ করা আছে?
ব্যবহারকারীর 333

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