我想通過使用矩陣代數來計算迴歸係數,找出一個多元迴歸的例子。如何從R中的方差協方差矩陣得到迴歸係數?
#create vectors -- these will be our columns
y <- c(3,3,2,4,4,5,2,3,5,3)
x1 <- c(2,2,4,3,4,4,5,3,3,5)
x2 <- c(3,3,4,4,3,3,4,2,4,4)
#create matrix from vectors
M <- cbind(y,x1,x2)
k <- ncol(M) #number of variables
n <- nrow(M) #number of subjects
#create means for each column
M_mean <- matrix(data=1, nrow=n) %*% cbind(mean(y),mean(x1),mean(x2)); M_mean
#creates a difference matrix which gives deviation scores
D <- M - M_mean; D
#creates the covariance matrix, the sum of squares are in the diagonal and the sum of cross products are in the off diagonals.
C <- t(D) %*% D; C
我可以看到最終值應該是什麼(-.19,-.01)以及這個計算之前的矩陣是什麼樣的。
E<-matrix(c(10.5,3,3,4.4),nrow=2,ncol=2)
F<-matrix(c(-2,-.6),nrow=2,ncol=1)
但我不知道如何從方差協方差矩陣創建這些矩陣來使用矩陣代數來得到係數。
希望你能幫上忙。
我不知道你在做什麼有,但它不是OLS迴歸:http://stats.stackexchange.com/a/80889/11849 – Roland
矩陣求和矩陣的逆矩陣.x乘以squares.xy矩陣求和應該給出迴歸係數。 –