লজিস্টিক রিগ্রেশন জন্য পূর্বাভাস অন্তর গণনা


20

আমি বুঝতে চাই যে কীভাবে লজিস্টিক রিগ্রেশন অনুমানের জন্য পূর্বাভাস অন্তর তৈরি করা যায় ।

আমাকে কোলেটের মডেলিং বাইনারি ডেটা , ২ য় এড p.98-99 এ পদ্ধতি অনুসরণ করার পরামর্শ দেওয়া হয়েছিল । এই পদ্ধতিটি বাস্তবায়িত করার পরে এবং এটির আর এর সাথে তুলনা করার পরে predict.glm, আমি আসলে মনে করি এই বইটি ভবিষ্যদ্বাণী অন্তরগুলি নয়, আত্মবিশ্বাসের ব্যবস্থাগুলি গণনা করার পদ্ধতি প্রদর্শন করছে showing

তুলনার সাথে কোলেট থেকে প্রক্রিয়াটির বাস্তবায়ন predict.glmনীচে দেখানো হয়েছে।

আমি জানতে চাই: আমি কীভাবে এখান থেকে আত্মবিশ্বাসের ব্যবধানের পরিবর্তে পূর্বাভাস ব্যবধান তৈরি করতে যাব?

#Derived from Collett 'Modelling Binary Data' 2nd Edition p.98-99
#Need reproducible "random" numbers.
seed <- 67

num.students <- 1000
which.student <- 1

#Generate data frame with made-up data from students:
set.seed(seed) #reset seed
v1 <- rbinom(num.students,1,0.7)
v2 <- rnorm(length(v1),0.7,0.3)
v3 <- rpois(length(v1),1)

#Create df representing students
students <- data.frame(
    intercept = rep(1,length(v1)),
    outcome = v1,
    score1 = v2,
    score2 = v3
)
print(head(students))

predict.and.append <- function(input){
    #Create a vanilla logistic model as a function of score1 and score2
    data.model <- glm(outcome ~ score1 + score2, data=input, family=binomial)

    #Calculate predictions and SE.fit with the R package's internal method
    # These are in logits.
    predictions <- as.data.frame(predict(data.model, se.fit=TRUE, type='link'))

    predictions$actual <- input$outcome
    predictions$lower <- plogis(predictions$fit - 1.96 * predictions$se.fit)
    predictions$prediction <- plogis(predictions$fit)
    predictions$upper <- plogis(predictions$fit + 1.96 * predictions$se.fit)


    return (list(data.model, predictions))
}

output <- predict.and.append(students)

data.model <- output[[1]]

#summary(data.model)

#Export vcov matrix 
model.vcov <- vcov(data.model)

# Now our goal is to reproduce 'predictions' and the se.fit manually using the vcov matrix
this.student.predictors <- as.matrix(students[which.student,c(1,3,4)])

#Prediction:
this.student.prediction <- sum(this.student.predictors * coef(data.model))
square.student <- t(this.student.predictors) %*% this.student.predictors
se.student <- sqrt(sum(model.vcov * square.student))

manual.prediction <- data.frame(lower = plogis(this.student.prediction - 1.96*se.student), 
    prediction = plogis(this.student.prediction), 
    upper = plogis(this.student.prediction + 1.96*se.student))

print("Data preview:")
print(head(students))
print(paste("Point estimate of the outcome probability for student", which.student,"(2.5%, point prediction, 97.5%) by Collett's procedure:"))
manual.prediction
print(paste("Point estimate of the outcome probability for student", which.student,"(2.5%, point prediction, 97.5%) by R's predict.glm:"))    
print(output[[2]][which.student,c('lower','prediction','upper')])

একটি মৌলিক প্রশ্ন, কেন স্কয়ার্ট (যোগফল (মডেল.ভেকভ * স্কোয়ার.স্টুডেন্ট)) স্ট্যান্ডার্ড ত্রুটি হিসাবে ধরে নেওয়া হয়? এটি কি আদর্শ বিচ্যুতি নয় এবং স্কয়ারটি (এন) দ্বারা বিভাজন করা দরকার? যদি তাই হয় তবে কোন এন ব্যবহার করা উচিত, এন পূর্বাভাসের জন্য ব্যবহৃত নতুন ডেটা ফ্রেমের মডেল বা এন ফিট করতে পারে?
রাফায়েল

উত্তর:


6

0<=Y<=1


6
আমি একটি পূর্বাভাসের 95% পূর্বাভাস ব্যবধানের সন্ধান করছি যা লগ-প্রতিকূল স্থানে রয়েছে। পরে আমি এটি সম্ভাবনার জায়গাতে রূপান্তর করি। একটি 100% পূর্বাভাস অন্তর কোনও প্রক্রিয়া জন্য আকর্ষণীয় হবে না, তাই না? উদাহরণস্বরূপ, লিনিয়ার রিগ্রেশন জন্য একটি 100% পূর্বাভাস অন্তর অন্তর্ভুক্ত করবে ইনফ থেকে ইনফ ... যে কোনও হারে, আপনি আমার কোড হিসাবে দেখতে পাচ্ছেন, পূর্বাভাস ব্যবধানটি লগ অজস্র স্পেসে গণনা করা হয়, যা পরে সম্ভাবনার স্পেসে রূপান্তরিত হয় । সুতরাং আমার প্রশ্নটি অর্থহীন বলে আমি মনে করি না।
carbocation

2
লগ-প্রতিক্রিয়াগুলি কোনও সম্ভাবনার ক্ষেত্রে রূপান্তরিত হতে পারে এবং আপনি সম্ভাবনার (বা লগ-প্রতিক্রিয়া )গুলির উপর একটি আত্মবিশ্বাসের ব্যবধান গণনা করতে পারেন। তবে একটি পূর্বাভাস ব্যবধানটি প্রতিক্রিয়া পরিবর্তনশীল যা 0 বা 1 হয় If তবে যদি আপনার ফলাফলটি 0 = মৃত এবং 1 = জীবিত দিয়ে বেঁচে থাকে তবে আপনি প্রদত্ত কোভারিটেটের জন্য বেঁচে থাকার সম্ভাবনাটি অনুমান করতে পারেন এবং একটি আত্মবিশ্বাসের ব্যবধান গণনা করতে পারেন যে সম্ভাবনা। তবে ফলাফলটি 0/1, আপনার কাছে এমন রোগী থাকতে পারে না যা 62% জীবিত এটি 0 বা 1 থাকতে হবে, সুতরাং সম্ভাব্য ভবিষ্যদ্বাণী অন্তরগুলি 0-0, 0-1 এবং 1-1 (যা হয় কেন বেশিরভাগ লোকেরা আত্মবিশ্বাসের ব্যবধানে আটকে থাকে)।
গ্রেগ স্নো

8
আপনার যদি এমন পরিস্থিতি হয় যেখানে প্রতিক্রিয়া দ্বি-দ্বি (যে একই শর্তে 0-1 এর সমষ্টি হতে পারে), তবে ভবিষ্যদ্বাণী ব্যবধানটি বোধগম্য হতে পারে।
গ্লেন_বি -রিনস্টেট মনিকা

7
লজিস্টিক রিগ্রেশন হ'ল কোনও সম্ভাবনার রিগ্রেশন, কোনও ইভেন্টের সম্ভাবনাটিকে রেজিস্ট্রার ভেরিয়েবলের ফাংশন হিসাবে মডেল করার চেষ্টা করে। এই সেটিংয়ের পূর্বাভাস অন্তরগুলি সম্ভাব্যতা স্কেল বা লগ-প্রতিক্রিয়া স্কেলের অন্তর হিসাবে নেওয়া হয়, তাই নিখুঁত সেনস তৈরি করে।
কেজেটিল বি হালওয়ারসেন

2
@ সিজার, ভবিষ্যদ্বাণী ব্যবস্থার সূত্রটি অনুমান করে নেওয়া হয় যে ওয়াই সাধারণত রেখাটি সম্পর্কে বিতরণ করা হয় তবে লজিস্টিক রিগ্রেশনে আমাদের একটি সাধারণ বিতরণ হয় না, আমাদের একটি বার্নোল্লি বা বাইনোমিয়াল রয়েছে। সেই পৃষ্ঠায় সূত্রগুলি প্রয়োগ করা হয় আত্মবিশ্বাসের ব্যবধানে (ইতিমধ্যে এটি করতে পারে) বা কৃত্রিমভাবে প্রশস্ত আত্মবিশ্বাসের অন্তর্বর্ত যা কোনও ভবিষ্যদ্বাণী ব্যবস্থার সংজ্ঞা পূরণ করে না (মূল ফলাফলের স্কেলের প্রকৃত ফলাফলের পূর্বাভাস)। গ্লেন_বি উল্লিখিত, ফলাফলটি সত্যিকার অর্থে দ্বিপক্ষীয় হলে ভবিষ্যদ্বাণী ব্যবস্থার অর্থ হতে পারে।
গ্রেগ তুষার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.