আমার কাছে একটি স্বতন্ত্র ভেরিয়েবল (পুরুষ ও মহিলা) এবং একটি ধারাবাহিক পরিবর্তনশীল সহ লিনিয়ার রিগ্রেশন মডেল রয়েছে ।
আমি আর এর সাথে বিপরীতে কোডগুলি সেট আপ করেছি options(contrasts=c("contr.sum","contr.poly"))
। এবং এখন আমার কাছে , , এবং তাদের মিথস্ক্রিয়া (A: B) ব্যবহারের জন্য বর্গক্ষেত্রের ধরণের ধরণের পরিমাণ রয়েছে ।drop1(model, .~., test="F")
আমি যেটির সাথে আটকে আছি তা হ'ল কীভাবে জন্য বর্গাকার পরিমাণগুলি গণনা করা হয় । আমার মনে হয় sum((predicted y of the full model - predicted y of the reduced model)^2)
। হ্রাস করা মডেলটি দেখতে হবে y~A+A:B
। তবে আমি যখন ব্যবহার করি তখন predict(y~A+A:B)
আর পূর্বাভাসিত মানগুলি পূর্ণ মডেলের পূর্বাভাসিত মানগুলির সমান হয়। সুতরাং, স্কোমের যোগফল 0 হবে।
(বর্গের অঙ্কের জন্য , আমি একটি হ্রাস মডেল ব্যবহৃত হয়, যা হিসাবে একই ।)y~B+A:B
y~A:B
এলোমেলোভাবে উত্পন্ন ডেটার জন্য উদাহরণ কোড এখানে:
A<-as.factor(rep(c("male","female"), each=5))
set.seed(1)
B<-runif(10)
set.seed(5)
y<-runif(10)
model<-lm(y~A+B+A:B)
options(contrasts = c("contr.sum","contr.poly"))
#type3 sums of squares
drop1(model, .~., test="F")
#or same result:
library(car)
Anova(lm(y~A+B+A:B),type="III")
#full model
predFull<-predict(model)
#Calculate sum of squares
#SS(A|B,AB)
predA<-predict(lm(y~B+A:B))
sum((predFull-predA)^2)
#SS(B|A,AB) (???)
predB<-predict(lm(y~A+A:B))
sum((predFull-predB)^2)
#Sums of squares should be 0.15075 (according to anova table)
#but calculated to be 2.5e-31
#SS(AB|A,B)
predAB<-predict(lm(y~A+B))
sum((predFull-predAB)^2)
#Anova Table (Type III tests)
#Response: y
# Sum Sq Df F value Pr(>F)
#(Intercept) 0.16074 1 1.3598 0.2878
#A 0.00148 1 0.0125 0.9145
#B 0.15075 1 1.2753 0.3019
#A:B 0.01628 1 0.1377 0.7233
#Residuals 0.70926 6