#Si se requieren Vectores aleatorios los definimos aquí
#Si se requiere replicar definimos seed
set.seed(1)
va_n = 100
va_n_mu <- c(1,0,2)
va_n_sigma <- matrix(c(0.8,0.4,-0.2,0.4,1.0,-0.8,-0.2,-0.8,2.0),nrow=3,ncol=3)
va <- mvrnorm(va_n,va_n_mu,va_n_sigma)
#Definimos las variables con las que trabajaremos.
Y= va[,1]
x1= va[,2]
x2= va[,3]
x3=0
x4=0
n=length(Y)
#Defiminos k (número de variables explicativas, recordar que es el número de Xs + constante)
k=3
#Agregamos las X que se requieran, las demás podemos dejarlas en 0
x=matrix(c(rep(1,n),x1,x2),nrow = n)
## [,1]
## [1,] 0.84342642
## [2,] 0.39672998
## [3,] 0.05411734
#Obtenemos Y estimada para obtener los errores
Yhat=c(rep(0,n))
for (j in 1:n) {
for (i in 1:k) {
Yhat[j]=Yhat[j]+bmco[i]*x[j,i]
}
}
#Obtenemos los errores
U=Y-Yhat
#Obtenemos la varianza de errores sigma^2_u
sig2u=((1/(n-k))*t(U)%*%U)[1,1]
sig2u
## [1] 0.6717681
## [,1] [,2] [,3]
## [1,] 0.04605567 -0.011384947 -0.017353381
## [2,] -0.01138495 0.016155150 0.005992634
## [3,] -0.01735338 0.005992634 0.008373043
\[ Prob \left[\bigl\vert \frac{\hat b_{iMCO}-b_i}{\hat \sigma_{uMCO} \sqrt{(X'X)^{-1}_{i,i}}}\bigl\vert > t_{\frac{\alpha}{2},(n-k)} \right] = \alpha \]
#Prueba t dos colas (igual o distinto a un valor) para un estimador b_iMCO
#denominador t
bi=3 #definir cuál bi quieres i=1,2,...,k
Denomt=sqrt(sig2u)*sqrt(xtxinv[bi,bi])
#numerador t
b0=1.2 #defnir valor de la hipótesis a probar b*
Numt=bmco[bi]-b0
#Estadístico t
Est_t=Numt/Denomt
Est_t
## [1] -15.27878
#Prueba Ho de t:
alphat=.05 #definir nivel de significancia alpha
c_t=abs(qt(alphat/2,n-k))
#Comprobamos si el estadístico cae dentro del intervalo (T Aceptamos H0) (F Rechazamos H0)
Ho_t=abs(Est_t)<c_t
Ho_t
## [1] FALSE
\[ Prob \left[\bigl\vert \frac{c^t \hat b_{MCO}-c^tb}{\hat \sigma_{uMCO} \sqrt{c^t(X'X)^{-1}c}} > t_{\frac{\alpha}{2},(n-k)} \right] = \alpha \]
#Prueba t dos colas (igual o distinto a un valor) para una sola restricción lineal c'b
#denominador C
C=c(1,0,1) #definir vector de restricción (debe ser compatible con b para el producto)
DenomC=(sqrt(sig2u)*sqrt(C%*%xtxinv%*%C))[1,1]
#Numerador C
boC=1 #definir valor de la hipótesis a probar
NumC= (C%*%bmco-boC)[1,1]
#estadístico C
Est_C=NumC/DenomC
Est_C
## [1] -0.8901308
#prueba Ho de C:
alphaC=.05 #definir nivel de significancia alpha
c_C=abs(qt(alphaC/2,n-k))
#Comprobamos si el estadístico cae dentro del intervalo (T Aceptamos H0) (F Rechazamos H0)
Ho_C=abs(Est_C)<c_C
Ho_C
## [1] TRUE
\[ Prob \left[\frac{(R \hat b_{MCO}-Rb)^t[R(X^tX)^{-1}R^t]^{-1}(R \hat b_{MCO}-Rb)}{q \cdot \hat \sigma_{uMCO}^2 } > F_{\frac{\alpha}{2},[q,(n-k)]} \right] = \alpha \]
#Prueba R una cola para múltiplres restrucciones Rb=r
#denominador R
q=3 #definir q (número de restricciones o número de filas de R)
DenomR=q*sig2u
#numerador R
#definir R por filas (Número de columnas deben coincidir con dim b )
R=matrix(c(1,0,0,0,1,0,0,0,1),nrow=q,byrow = TRUE)
#definir r (valor de la hipótesis a probar)
r=c(0,0.5,1)
NumR=(t(R%*%bmco-r)%*%solve(R%*%xtxinv%*%t(R))%*%(R%*%bmco-r))[1,1]
#Estadístico R
Est_R=NumR/DenomR
Est_R
## [1] 134.3599
#prueba Ho de R:
alphaR=0.05 #definir nivel de significancia alpha
#Comprobamos si el estadístico cae dentro del intervalo (T Aceptamos H0) (F Rechazamos H0)
c_R=qf(1-alphaR,q,n-k)
Ho_R=Est_R<c_R
Ho_R
## [1] FALSE
El Colegio de México, diego.lopez@colmex.mx↩
El Colegio de México, rcanales@colmex.mx↩