############################################################################################ ######################### Monitoria 06 de Econometria I #################################### ############################# Data: 24/10/2018 ############################################# #################### Curso: Matemática Aplicada a Negócios ################################# ########################## Monitora: Laura Ogando ########################################## ######################## e-mail: lauraogando@usp.br ######################################## #################### Professor: Luiz Guilherme Scorzafave ################################## ############################################################################################ # Limpando as variáveis que estão no environment rm(list = ls()) # Trabalhando com regressões múltiplas a partir de matrizes # Vamos utilizar a base de dados do R chamada mtcars data(mtcars) # Analisando as primeiras 6 linhas da base head(mtcars) # Queremos calcular os parâmetros estimados de um modelo # Suponha que você esteja interessadx em estudar o que influencia a eficiência de consu- # mo de um carro, isto é, quantos km um carro consegue rodar por 1 litro de gasolina. # Você está desconfiadx de que a potência do carro e o peso deste influenciem a eficiên- # cia do carro. Portanto, você decide montar um modelo. # Antes de mais nada, queremos ter uma impressão do que esperar plot(mtcars$wt, mtcars$mpg) plot(mtcars$hp, mtcars$mpg) # Vamos definir o nosso y como sendo a variável mpg da base de dados mtcars y <- mtcars$mpg # A nossa regressão terá duas variáveis independentes # Lembrando que quando trabalhamos com matrizes, a primeira coluna # da matriz deve ser composta de 1 quando o nosso modelo possui intercepto # Criando a matriz x: x <- cbind(1, mtcars$wt, mtcars$hp) head(x) # Sabemos que o beta matricial é dado por (X'X)^(-1)(X'Y) # Calculando isso na mão, temos: solve(t(x)%*% x) %*% t(x) %*%y # O comando solve inverte a matriz # O comando t() transpõe a matriz # %*% é o operador de multiplicação matricial # Podemos verificar se o resultado está correto ao utilizar # o comando lm e verificando se os resultados sao iguais. coef(lm(mpg ~ wt + hp, data = mtcars)) # Note que é exatamente o mesmo resultado # Entendendo um pouco melhor o papel da constante no modelo # Note que se fizermos uma regressão sem nenhuma variável independente, teremos # a média de y # Calculando a média de y mean(y) # Fazendo a regressão sem nenhuma variável independente coef(lm(y~1)) # Os valores são iguais # Suponha agora que o interesse esteja em realizar uma regressão pela origem, isto é, # sem intercepto # Para tanto, você roda o mesmo comando da regressão, mas insere um -1 na especificação # do modelo. O R entende esse -1 como modelo sem intercepto. coef(lm(mpg ~ wt + hp - 1, data = mtcars))