, onde \(\mathbf{A}\) é uma matriz \(n \times k\) de coeficientes \([a_{ij}]\), \(\mathbf{x}\) é um vetor coluna das variáveis \(x_1, \dots, x_K\), e \(\mathbf{b}\) é o vetor coluna de constantes \(b_1, \dots, b_n\).
# Calculando o vetor xx <-solve(A) %*% b# Nomeando as linhas de xrownames(x) <-c("x1", "x2", "x3")# Exibindo o resultadoprint(x)
[,1]
x1 1
x2 2
x3 2
A solução é \(x_1=1\), \(x_2=2\) e \(x_3=2\).
Aplicado sistemas de equações
Na análise de regressão será bastante comum fazer uso da representação de um sistema de \(n\) equações simultâneas e \(k\) variáveis, como é o exemplo a seguir:
# Definindo o vetor xx <-c(4, 5, 6, 3, 7)# Criando um vetor de 1's com o mesmo comprimento de xones <-rep(1, length(x))# Calculando a soma dos elementos de x usando o produto internosoma_x <-t(ones) %*% xsoma_x <-as.numeric(soma_x) # Convertendo para um número escalarsoma_x
[1] 25
Podemos calcular a média de
# Calculando a média dos elementos de xa <-1/length(x)media_x <- a * (t(ones) %*% x) media_x
[,1]
[1,] 5
Desvios em relação à média
Uma matriz fundamental na estatística é a , usada para transformar dados em desvios em relação à sua média.
Para calcular os desvios em relação à média, primeiro precisamso definir um vetor com a média. Se \(\bar{x} = \frac{1}{n} \textbf{i}'\textbf{x}\), que é uma constante, então:
# Número de elementos em xn <-length(x)# Criando a matriz identidade I de dimensão nI <-diag(n)# Criando o vetor de 1'sones <-matrix(1, n, 1)# Construindo a matriz M0M0 <- I - (1/ n) * (ones %*%t(ones))# Calculando os desvios em relação à médiadesvios <- M0 %*% x# Imprimir resultadoscat("x =\n")
Por exemplo, no \(\mathbb{R}^2\) temos \(Q(x_1, x_2) = a_{11}x_1^2 + a_{12}x_1x_2 + a_{22}x_2^2\).
Em termos matriciais, podemos pernsar na forma quadrática como uma forma bilinear em que \(\mathbf{x}=\mathbf{y}\).
Em geral, se \(\mathbf{A}\) é uma matriz simétrica \(n \times n\) e \(\mathbf{x}\) é um vetor-coluna \(n \times 1\) de variáveis, então dizemos que a função
# Calculando a soma dos quadrados dos desviossoma_quadrados <-t(x) %*% M0 %*% xsoma_quadrados <-as.numeric(soma_quadrados)soma_quadrados
[1] 10
Formas quadráticas e otimização
Uma forma quadrática sempre assume o valor zero no ponto \(\mathbf{x} = 0\).
Este, no entanto, não é um resultado interessante!
Por exemplo, se \(\mathbf{x} \in \mathbb{R}\), isto é, \(\mathbf{x} = x_1\), então a forma quadrática geral é \(ax_1^2\), que é igual a zero quando \(x_1 = 0\).
A característica distintiva de uma forma quadrática é o conjunto de valores que assume quando \(\mathbf{x} \neq 0\). Queremos saber se \(\mathbf{x} = 0\) é um máximo, mínimo ou nenhum dos dois.
Sob a ótica de um problema de otimização, isso sim é interessante!
Por exemplo, quando \(\mathbf{x} \in \mathbb{R}\), isto é, a forma quadrática é \(ax_1^2\):
Se \(a > 0\) significa que \(ax^2 \geq 0\) e é igual a 0 apenas quando \(x = 0\). Tal forma é chamada definida positiva; \(x = 0\) é um mínimo global.
Se \(a < 0\) significa que \(ax^2 \leq 0\) e é igual a 0 apenas quando \(x = 0\). Tal forma é chamada definida negativa; \(x = 0\) é um máximo global.
Uma matriz simétrica, \(\mathbf{A}\), é chamada de definida positiva, semidefinida positiva, definida negativa, etc., de acordo com a forma quadrática correspondente \(Q(\mathbf{x}) = \mathbf{x}' \mathbf{A} \mathbf{x}\).
Seja \(\mathbf{A}\) uma matriz simétrica \(n \times n\), então \(\mathbf{A}\) é:
definida positiva se \(\mathbf{x}' \mathbf{A} \mathbf{x} > 0\) para todo \(\mathbf{x} \neq 0\) em \(\mathbb{R}^n\);
semidefinida positiva se \(\mathbf{x}' \mathbf{A} \mathbf{x} \geq 0\) para todo \(\mathbf{x} \neq 0\) em \(\mathbb{R}^n\);
definida negativa se \(\mathbf{x}' \mathbf{A} \mathbf{x} < 0\) para todo \(\mathbf{x} \neq 0\) em \(\mathbb{R}^n\);
semidefinida negativa se \(\mathbf{x}' \mathbf{A} \mathbf{x} \leq 0\) para todo \(\mathbf{x} \neq 0\) em \(\mathbb{R}^n\);
indefinida se \(\mathbf{x}' \mathbf{A} \mathbf{x} > 0\) para algum \(\mathbf{x} \neq 0\) em \(\mathbb{R}^n\) e \(< 0\) para outro \(\mathbf{x}\) em \(\mathbb{R}^n\).
3. Autovalores e autovetores
Os autovalores e autovetores são conceitos fundamentais em álgebra linear e têm ampla aplicação em econometria.
Dada uma matriz quadrada \(\mathbf{A}\) de ordem \(n \times n\), um número \(\lambda\) é chamado de autovalor de \(\mathbf{A}\) se existir um vetor não nulo \(\mathbf{x}\) tal que:
\[
\mathbf{A} \mathbf{x} = \lambda \mathbf{x}
\]
Neste caso, o vetor \(\mathbf{x}\) é chamado de autovetor associado ao autovalor \(\lambda\).
Os autovalores (\(\lambda\)) indicam a magnitude do efeito de \(\mathbf{A}\) sobre os vetores \(\mathbf{x}\).
Por sua vez, os autovetores (\(\mathbf{x}\)) indicam as direções em que a aplicação da matriz \(\mathbf{A}\) resulta em um escalonamento sem alteração da direção.
Número de autovalores: Uma matriz \(n \times n\) terá até \(n\) autovalores.
Determinante e traço: O produto dos autovalores de \(\mathbf{A}\) é igual ao seu determinante, e a soma dos autovalores é igual ao traço de \(\mathbf{A}\) (a soma dos elementos da diagonal).
Diagonalização: Se todos os autovalores de uma matriz são distintos e a matriz é simétrica, é possível diagonalizá-la, ou seja, encontrar uma matriz \(\mathbf{P}\) de autovetores e uma matriz diagonal \(\mathbf{\Lambda}\) de autovalores, tal que \(\mathbf{A} = \mathbf{P} \mathbf{\Lambda} \mathbf{P}^{-1}\).
EXEMPLO
Vamos calcular os autovalores e autovetores de uma matriz \(3 \times 3\) usando R:
Vamos considerar o 1º autovalor \(\lambda_1\) e o 1º autovetor
# Verificando a propriedade: A * x = lambda * x para o primeiro autovalor e autovetorlambda1 = autovalores[1]x1 = autovetores[, 1]cat("A.x =\n")
A.x =
print(A %*% x1)
[,1]
[1,] -3.077684
[2,] -1.902113
cat("lambda.x =\n")
lambda.x =
print(lambda1 * x1)
[1] -3.077684 -1.902113
Autovalores, a definição da forma quadrática e otimização
Seja \(\mathbf{A}_{n \times n}\) uma matriz com autovalores \(\lambda_1, \cdots, \lambda_n\).
Se \(\mathbf{A}\) é definida positiva, então \(\lambda_i > 0\) para \(i = 1, \dots, n\).
Se \(\mathbf{A}\) é semidefinida positiva, então \(\lambda_i \geq 0\) para \(i = 1, \dots, n\). O número de autovalores para os quais \(\lambda_i > 0\) é igual ao posto de \(\mathbf{A}\).
Se \(\mathbf{A}\) é definida negativa, então \(\lambda_i < 0\) para \(i = 1, \dots, n\).
Se \(\mathbf{A}\) é semidefinida negativa, então \(\lambda_i \leq 0\) para \(i = 1, \dots, n\). O número de autovalores para os quais \(\lambda_i < 0\) é igual ao posto de \(\mathbf{A}\).
Se \(\mathbf{A}\) é indefinida, então \(\mathbf{A}\) possui autovalores de sinais opostos, ou seja, existem \(\lambda_i > 0\) para alguns \(i\) e \(\lambda_j < 0\) para outros \(j\).