মূল ডেটা ইনপুট হিসাবে ব্যবহার করার সময় আর-তে পূর্বাভাস () ফাংশন দ্বারা প্রত্যাশিত মানগুলি কী ফিরে আসে?


11

reg <- lm(y ~ x1 + x2, data=example)কোনও ডেটাসেটে ফর্মটির রিগ্রেশন চালানোর পরে , আমি ব্যবহার করে ভবিষ্যদ্বাণী করা মানগুলি পেতে পারি

predict(reg, example, interval="prediction", level=0.95)

আমি ভাবছি যখন আসল ডেটাসেটের পূর্বাভাস দেওয়ার জন্য আমি যখন রিগ্রেশন ব্যবহার করছি তখন পূর্বাভাসিত মানগুলি কী বোঝায়। আমার কি মূল মূল্যগুলি পাওয়া উচিত নয়?

উত্তর:


18

আপনি যে মডেলটির সাথে কাজ করছেন তা রূপ নেয়

yi=μ+β1x1i+β2x2i+ϵi (1)

যেখানে ϵi একটি শূন্য-গড় স্বাভাবিক বিতরণ থেকে আসা বলে ধরে নেওয়া একটি ত্রুটি শব্দ।

আপনার মডেলকে লাগানো হয়েছে এবং আপনি অনুমান প্রাপ্ত হয়েছে: , , এবং ।μ^β^1β^2

এখন, আপনি যদি তাদের সীমার মধ্যে কোভারিয়েট মানগুলি স্থির করেন তবে say এবং জন্য পূর্বাভাসকৃত মানটি গণনা দ্বারা প্রাপ্ত করা যেতে পারেx1ix2iyi

yi=μ^+β^1x1i+β^2x2i 2 (2)

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

সম্পাদন করা

আপনার মন্তব্যে, আপনি জিজ্ঞাসা করেছেন predict()আসলে কী করে। এখানে একটি সাধারণ উদাহরণস্বরূপ উদাহরণ।

    #generate a simple illustrative data set
> x <- runif(10)
> y <- 5 + 2.7 * x + rnorm(10, mean=0, sd=sqrt(0.15))
> 
>   #fit the model and store the coefficients
> regLin <- lm(y~x)
> coef <- coef(regLin)
> 
>   #use the predict() function
> y_star2 <- predict(regLin)
>   #use equation (2)
> y_star1 <- coef[1] + coef[2] * x
>   #compare
> cbind(y, y_star1, y_star2) 
          y  y_star1  y_star2
1  7.100217 6.813616 6.813616
2  6.186333 5.785473 5.785473
3  7.141016 7.492979 7.492979
4  5.121265 5.282990 5.282990
5  4.681924 4.849776 4.849776
6  6.102339 6.106751 6.106751
7  7.223215 7.156512 7.156512
8  5.158546 5.253380 5.253380
9  7.160201 7.198074 7.198074
10 5.555289 5.490793 5.490793

1
(+1) সেই মডেলটি (1) নোট করুন যেমন এটি লিখিত রয়েছে বলে ধরে নেওয়া হয় x1এবং x2ধারাবাহিকভাবে ভবিষ্যদ্বাণীকারী হয়, শ্রেণিবদ্ধ নয়। ( দ্বারা ইন্টারসেপ্টকে কেন ?)β0
chl

@ ক্রম তারপর যখন আমি একই ডেটাসেট এবং সংশ্লিষ্ট রিগ্রেশন সমীকরণটি ব্যবহার করছি তখন ভবিষ্যদ্বাণীটি ঠিক কী করবে?
উপরে

@ সিএইচএল, এর অর্থ কি এই যে ভবিষ্যদ্বাণীটি ক্লোরিকাল প্রেডিক্টরগুলির সাথে কোনও গ্ল্যাম (বা glm.nb) মডেলটিতে থাকা উচিত নয়? উদাহরণস্বরূপ: ডেটা <- ডেটা.ফ্রেম (y = as.numeric (সি (10,15,12,1,0,2,180,200,188,181,300,288)), পি = আস.ফ্যাক্টর (সি (রেপ ("হ্যাঁ", 6)), রেপ ("না", 6%)), টি = আস.ফ্যাক্টর (সি (রেপ ("টিপি 1", 3)), রেপ ("টিপি 2", 3), রেপ ("টিপি 1", 3), রেপ ("টিপি 2") , 3)))) প্রয়োজনীয় (এমএএসএস) এনবি_ফিট <- glm.nb (y ~ পি * টি, ডেটা = ডাট) প্রিফিট <- পূর্বাভাস (এনবি_ফিট, টাইপ = "প্রতিক্রিয়া")
অরুন

@ সিএইচএল: আপনি ঠিক বলেছেন: আমার একটি সাধারণ বিতরণের মাধ্যমের সাথে বিভ্রান্ত হওয়া উচিত নয়। অবশ্যই আরও ভাল স্বরলিপি। μβ0
ocram

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