#Estime un modelo con la varueble “total” como variable endogena y las variables “extende”, “ratio”, “salary” y “takers”

load("C:/Users/enriq/Downloads/datos_parcial (1).RData")
options(scipen=999)
modelo_sat <- lm(formula = total ~ expend + ratio + salary + takers, data = sat)
summary(modelo_sat)
## 
## Call:
## lm(formula = total ~ expend + ratio + salary + takers, data = sat)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -90.531 -20.855  -1.746  15.979  66.571 
## 
## Coefficients:
##              Estimate Std. Error t value             Pr(>|t|)    
## (Intercept) 1045.9715    52.8698  19.784 < 0.0000000000000002 ***
## expend         4.4626    10.5465   0.423                0.674    
## ratio         -3.6242     3.2154  -1.127                0.266    
## salary         1.6379     2.3872   0.686                0.496    
## takers        -2.9045     0.2313 -12.559 0.000000000000000261 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 32.7 on 45 degrees of freedom
## Multiple R-squared:  0.8246, Adjusted R-squared:  0.809 
## F-statistic: 52.88 on 4 and 45 DF,  p-value: < 0.00000000000000022

#Calcule un intervalo de confianza del 94.78% para las variables “expend” y “salary”. Verificar si hay relación con los resultados de la prueba.

intervalo_ex_sal <- confint(modelo_sat, parm = c("expend", "salary"), level = 0.9478)

#¿El modelo resulta ser estadísticamente significativo? El modelo es estadisticamente significativo debido a que el valor p, de la prueba F es de 2.2e-16

#calculo de las matrices A, P y M

matriz_x <- model.matrix(modelo_sat)
matriz_xx <- t(matriz_x) %*% matriz_x
matriz_a <- solve(matriz_xx) %*% t(matriz_x)
print(matriz_a[1:5,1:5])
##                   Alabama       Alaska       Arizona      Arkansas   California
## (Intercept)  0.2565261764 -0.471973891 -0.0728991868  0.1780225369 -0.422174416
## expend      -0.0750342914  0.058318347 -0.0045991810 -0.0250904587 -0.057183953
## ratio       -0.0177255005  0.013399464  0.0093052725 -0.0062815391  0.016661935
## salary       0.0154718688 -0.001220096 -0.0013112799  0.0034232104  0.013923827
## takers      -0.0009500899 -0.001016023  0.0002514394 -0.0006580417  0.000397894
matriz_p <- matriz_x %*% matriz_a
print(matriz_p[1:5,1:5])
##                Alabama      Alaska     Arizona    Arkansas California
## Alabama     0.09537668 -0.03073763  0.02806512  0.06080472 0.04934236
## Alaska     -0.03073763  0.18030612 -0.00140838 -0.02419993 0.04489829
## Arizona     0.02806512 -0.00140838  0.04931612  0.02928129 0.08491826
## Arkansas    0.06080472 -0.02419993  0.02928129  0.05382878 0.01302079
## California  0.04934236  0.04489829  0.08491826  0.01302079 0.28211791
n <- nrow(matriz_x)
matriz_m <- diag(n) - matriz_p
print(matriz_m[1:5,1:5])
##                Alabama      Alaska     Arizona    Arkansas  California
## Alabama     0.90462332  0.03073763 -0.02806512 -0.06080472 -0.04934236
## Alaska      0.03073763  0.81969388  0.00140838  0.02419993 -0.04489829
## Arizona    -0.02806512  0.00140838  0.95068388 -0.02928129 -0.08491826
## Arkansas   -0.06080472  0.02419993 -0.02928129  0.94617122 -0.01302079
## California -0.04934236 -0.04489829 -0.08491826 -0.01302079  0.71788209