পটভূমি
আমি ফিটিং মডেলগুলির একটি কোর্সে প্রথম উদাহরণটি বোঝার চেষ্টা করছি (যাতে এটি হাস্যকরভাবে সহজ মনে হতে পারে)। আমি হাতে হাতে গণনা করেছি এবং সেগুলি উদাহরণের সাথে মেলে তবে আমি যখন আরগুলিতে তাদের পুনরাবৃত্তি করি তখন মডেল সহগগুলি বন্ধ থাকে। আমি ভেবেছিলাম পার্থক্যটি পাঠ্যপুস্তকের কারণে জনসংখ্যার বৈকল্পের ( ) ব্যবহারের কারণে হতে পারে যেখানে আর স্যাম্পল ভেরিয়েন্স ( ) ব্যবহার করছেন তবে আমি দেখতে পাচ্ছি না যেগুলি গণনাগুলিতে ব্যবহৃত হয়। উদাহরণস্বরূপ, যদি
কোথাও ব্যবহার হয় তবে নোটগুলিতে সহায়তা বিভাগ :lm()
var()
var()
ডিনোমিনেটর এন - 1 ব্যবহার করা হয় যা আইড পর্যবেক্ষণের জন্য (কো) প্রকরণের একটি নিরপেক্ষ अनुमानক দেয়।
আমি উভয়টির জন্য কোডটি দেখেছি lm()
এবং উভয়ই lm.fit()
ব্যবহার করি না var()
, তবে lm.fit()
সেই কোডটি সি কোড ( z <- .Call(C_Cdqrls, x, y, tol, FALSE)
) প্রবেশ করে যা আমার অ্যাক্সেস নেই।
প্রশ্ন
কেউ কেন ব্যাখ্যা করতে পারে যে আর কেন বিভিন্ন ফলাফল দিচ্ছে? এমনকি নমুনা বনাম জনসংখ্যার বৈকল্পিক ব্যবহারে পার্থক্য থাকলেও সহগের হিসাবগুলি কেন পৃথক হয়?
উপাত্ত
স্কুলে গ্রেড থেকে জুতোর আকার পূর্বাভাস দেওয়ার জন্য একটি লাইন ফিট করুন।
# model data
mod.dat <- read.table(
text = 'grade shoe
1 1
2 5
4 9'
, header = T);
# mean
mod.mu <- mean(mod.dat$shoe);
# variability
mod.var <- sum((mod.dat$shoe - mod.mu)^2)
# model coefficients from textbook
mod.m <- 8/3;
mod.b <- -1;
# predicted values ( 1.666667 4.333333 9.666667 )
mod.man.pred <- mod.dat$grade * mod.m + mod.b;
# residuals ( -0.6666667 0.6666667 -0.6666667 )
mod.man.resid <- (mod.dat$shoe - mod.man.pred)
# residual variance ( 1.333333 )
mod.man.unexpl.var <- sum(mod.man.resid^2);
# r^2 ( 0.9583333 )
mod.man.expl.var <- 1 - mod.man.unexpl.var / mod.var;
# but lm() gives different results:
summary(lm(shoe ~ grade, data = mod.dat))
Call:
lm(formula = shoe ~ grade, data = mod.dat)
Residuals:
1 2 3
-0.5714 0.8571 -0.2857
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.0000 1.3093 -0.764 0.585
grade 2.5714 0.4949 5.196 0.121
Residual standard error: 1.069 on 1 degrees of freedom
Multiple R-squared: 0.9643, Adjusted R-squared: 0.9286
F-statistic: 27 on 1 and 1 DF, p-value: 0.121
সম্পাদন করা
হিসাবে বেন Bolker দেখিয়েছেন, এটা দেখে মনে হচ্ছে শিক্ষক কখনও কখনও ভুল করি। দেখে মনে হচ্ছে আর গণনাগুলি সঠিক। গল্পটির নৈতিকতা: কোনও কিছু বিশ্বাস করবেন না কেবল কারণ একজন শিক্ষক বলেছেন যে এটি সত্য। এটি নিজের জন্য যাচাই করুন!
lm
ফাংশনটির ক্ষেত্রে, কয়েক হাজার মানুষ আক্ষরিক অর্থেই অন্যান্য জিনিসগুলির সাথে তুলনা করে ফলাফলগুলি পরীক্ষা করে দেখেছেন এবং lm
কোডে প্রতিবার যে কোনও পরিবর্তন আসে তা জ্ঞাত উদাহরণগুলির বিরুদ্ধে পরীক্ষা করা হয়। এখানে উত্তর সহ, কমপক্ষে কয়েক জন লোক চেক করতে পারে (আপনার প্রশ্নটি 29 বার দেখা হয়েছে)।
mod.m=8/3
। কারণ আপনি যদি সেট করেনmod.m=2.5714
তবে সেগুলি অভিন্ন বলে মনে হচ্ছে।