একটি পরিসংখ্যানের মডেলের জন্য লাগানো এবং পূর্বাভাসিত মানগুলি সন্ধান করা


12

ধরা যাক আমার কাছে নিম্নলিখিত তথ্য রয়েছে এবং আমি একটি রিগ্রেশন মডেল চালাচ্ছি:

df=data.frame(income=c(5,3,47,8,6,5),
              won=c(0,0,1,1,1,0),
              age=c(18,18,23,50,19,39),
              home=c(0,0,1,0,0,1))

একদিকে, আয়ের পূর্বাভাস দেওয়ার জন্য আমি একটি রৈখিক মডেল চালাই:

md1 = lm(income ~ age + home + home, data=df)

দ্বিতীয়ত, আমি জিতে থাকা ভেরিয়েবলটি সম্পর্কে ভবিষ্যদ্বাণী করতে একটি লগিট মডেল চালাই:

md2 = glm(factor(won) ~ age + home, data=df, family=binomial(link="logit"))

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

লিনিয়ার মডেলটির জন্য, এরকম কিছু:

age  fitted_income  predicted_income
18    3              5 
23    3              3
50    4              2
19    5              5
39    6              4

home   fitted_income    predicted_income
0       5               6       
1       3               9

অথবা সম্ভবত এটি প্রতিটি ডাটা পয়েন্টের জন্য হওয়া উচিত। সুতরাং x_i ডেটা পয়েন্টের জন্য, লাগানো এবং পূর্বাভাসের মানগুলি:

id   age  fitted_income  predicted_income
1     18    3              5 
2     23    3              3
3     50    4              2
4     19    5              5
5     39    6              4
  1. একটি পরিসংখ্যানগত দৃষ্টিকোণ থেকে, এই ধরনের উদ্যোগ গ্রহণ দরকারী? কেন অথবা কেন নয়?

  2. কীভাবে এটি আর এ করা যায়? (নামগুলি দেখেন (এমডি 1) এবং মডেলটি থেকে আমি কী টানতে পারি তা খুঁজে পেয়েছি তবে এর আগেও এগিয়ে যায়নি)

ধন্যবাদ!


1
পুনরায় # 2: stat.ethz.ch/R-manual/R-patched/library/stats/html/… । পুনরায় # 1: কি জন্য দরকারী? শেষ পর্যন্ত আপনি কী অর্জন করতে চান?
হোবার

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

যদি আপনি টেবিলটি স্ক্যান করতে চান তবে প্রকৃত প্রতিক্রিয়াটি কোভেরিয়েটের সাথে কীভাবে পরিবর্তিত হয় তা আমি মনে করি এটি কার্যকর হতে পারে। যদিও আমি আপনার পরিভাষা বুঝতে পারি না। লাগানো মান এবং পূর্বাভাসিত মান একই হওয়া উচিত। কি পার্থক্য করা উচিত হ'ল পর্যবেক্ষণ মান এবং লাগানো মান।
মাইকেল আর চেরনিক

2
এর মতো কিছু চেষ্টা করতে পারে: x = সিবাইন্ড (ডিএফ, এমডি 1 $ ফিটেড.ভ্যালু) কলনাম (এক্স) = সি (কলনেম (ডিএফ), "পূর্বাভাস")
রিওরাইডার

2
পর্যবেক্ষণ করা এবং লাগানো মানগুলির মধ্যে পার্থক্য ইন residualsকমান্ডের মাধ্যমে পাওয়া যায় Rcbindতাদের সাথে মূল ডেটাফ্রেমে যোগ দিতে ব্যবহার করুন ।
হোবার

উত্তর:


20

আরে মডেল অবজেক্টগুলির সাথে আপনাকে কিছুটা সতর্ক থাকতে হবে For উদাহরণস্বরূপ, glm()মডেলের ক্ষেত্রে উপযুক্ত মান এবং প্রশিক্ষণের ডেটার পূর্বাভাস একই হওয়া উচিত , আপনি যখন সঠিক এক্সটেক্টর ফাংশন ব্যবহার করেন তখন সেগুলি একই হয় না:

R> fitted(md2)
        1         2         3         4         5         6 
0.4208590 0.4208590 0.4193888 0.7274819 0.4308001 0.5806112 
R> predict(md2)
         1          2          3          4          5          6 
-0.3192480 -0.3192480 -0.3252830  0.9818840 -0.2785876  0.3252830

এর কারণ ডিফল্ট predict.glm()হ'ল লিনিয়ার পূর্বাভাসকের স্কেলে ভবিষ্যদ্বাণীগুলি ফিরিয়ে দেওয়া। লাগানো মানগুলি পেতে আমরা সেই মানগুলিতে লিঙ্ক ফাংশনের বিপরীতটি প্রয়োগ করতে চাই। fitted()আমাদের জন্য এটি করে এবং আমরা predict()পাশাপাশি ব্যবহার করে সঠিক মান পেতে পারি :

R> predict(md2, type = "response")
        1         2         3         4         5         6 
0.4208590 0.4208590 0.4193888 0.7274819 0.4308001 0.5806112

একইভাবে residuals()(বা resid()) সাথে; মান সঞ্চিত md2$residualsহয় কাজ অবশিষ্টাংশ আছে আপনি যা চান তা হতে সম্ভাবনা কম। resid()পদ্ধতি অবশিষ্ট আপনি চান ধরণ নির্দিষ্ট করার অনুমতি দেয় এবং একটি দরকারী ডিফল্ট হয়েছে।

জন্য glm()মডেল, ভালো কিছু চলা হবে:

R> data.frame(Age = df$age, Won = df$won, Fitted = fitted(md2))
  Age Won    Fitted
1  18   0 0.4208590
2  18   0 0.4208590
3  23   1 0.4193888
4  50   1 0.7274819
5  19   1 0.4308001
6  39   0 0.5806112

lm()মডেলের জন্য অনুরূপ কিছু করা যেতে পারে :

R> data.frame(Age = df$age, Income = df$income, Fitted = fitted(md1))
  Age Income    Fitted
1  18      5  7.893273
2  18      3  7.893273
3  23     47 28.320749
4  50      8 -1.389725
5  19      6  7.603179
6  39      5 23.679251
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.