As operações com matrizes serão fundamentais para realizar regressoes multiplas no R. primeiro criaremos um vetor, como na aula anterior, reprensentando a renda. depois, criaremos uma matriz, representando o consumo, inserindo manualmente os valores dos veotres nas matrizes. por fim, para mostrar a matriz criada na tela como o comando print.
Xi <- c(100,130,170,200)
Y <- matrix(nrow = 4, ncol = 1)
Y[1,1] <- 80
Y[2,1] <- 100
Y[3,1] <- 120
Y[4,1] <- 140
print(Y)
## [,1]
## [1,] 80
## [2,] 100
## [3,] 120
## [4,] 140
CRIANDO MATRIZ A PARTIT DE VEOTRES, COM UMA ESTRUTURA 4X2 pimeiro criamos um vetor para o intercepto, sendo todos os valores = 1 depois, em uma matriz inserimos o vetor criado com o vetor de renda criado anteriormente (xi)
intercept <- c(1,1,1,1)
X <- matrix(c(intercept, Xi), nrow = 4, ncol = 2)
print(X)
## [,1] [,2]
## [1,] 1 100
## [2,] 1 130
## [3,] 1 170
## [4,] 1 200
vamos calcular agora a matriz transposta de x = x’:
Xt <- t(X)
print(Xt)
## [,1] [,2] [,3] [,4]
## [1,] 1 1 1 1
## [2,] 100 130 170 200
Agora faremos a Multiplicação de matrizes: para multiplicar as matrizes deve ser usado o seguinte operador - %*%
XtX <- t(X)%*%X
print(XtX)
## [,1] [,2]
## [1,] 4 600
## [2,] 600 95800
XtY <- t(X)%*%Y
print(XtY)
## [,1]
## [1,] 440
## [2,] 69400
pode se escrever a matriz inversa também, de forma que a matriz inversa é aquela elevada a -1:
XtX_inv <- solve(XtX)
print(XtX_inv)
## [,1] [,2]
## [1,] 4.12931034 -0.0258620690
## [2,] -0.02586207 0.0001724138
Agora obretemos os betas de uma regressão, com a vantagem de que, nesse cado, com matrizes, é possível ter regresões multimaviadas>
B <- (XtX_inv)%*%XtY
print(B)
## [,1]
## [1,] 22.0689655
## [2,] 0.5862069
o que nos mostra a FRA já obtida anteriormente no exercicio 1, em que: YiEst = 22,06 + 0,5862 * Xi