load("C:/Users/Jacqueline Vanessa/Desktop/UES/Ciclo I - 2022/EMA118/DOCUMENTOS/Parcial 1/Resolucion parcial 1/datos_parcial_1.RData")

PARTE A

a) Estime un modelo para explicar los salarios (“wage”), usando todas las variables disponibles en el dataframe.

library(stargazer)
## 
## Please cite as:
##  Hlavac, Marek (2022). stargazer: Well-Formatted Regression and Summary Statistics Tables.
##  R package version 5.2.3. https://CRAN.R-project.org/package=stargazer
excluir<-c("we")
uswages[,!(names(uswages) %in% excluir)]->uswages
wage_model<-lm(wage~.,data=uswages)
stargazer(wage_model,title = "Modelo Clave A",type="text")
## 
## Modelo Clave A
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                                wage            
## -----------------------------------------------
## educ                         48.803***         
##                               (3.249)          
##                                                
## exper                        9.135***          
##                               (0.726)          
##                                                
## race                        -119.158***        
##                              (35.192)          
##                                                
## smsa                        115.678***         
##                              (21.739)          
##                                                
## ne                           -53.927*          
##                              (27.974)          
##                                                
## mw                           -60.199**         
##                              (27.349)          
##                                                
## so                           -50.433*          
##                              (26.370)          
##                                                
## pt                          -336.216***        
##                              (31.938)          
##                                                
## Constant                    -203.918***        
##                              (53.613)          
##                                                
## -----------------------------------------------
## Observations                   2,000           
## R2                             0.200           
## Adjusted R2                    0.197           
## Residual Std. Error     412.094 (df = 1991)    
## F Statistic          62.246*** (df = 8; 1991)  
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

b) Calcule un intervalo de confianza del 96.3% para las variables “educ” y “exper”. ¿hay evidencia de que estas variables tienen una relación con los salarios? justifique su respuesta.

confint(wage_model,parm = c("educ","exper"),level = 0.963)
##          1.85 %  98.15 %
## educ  42.022416 55.58430
## exper  7.619596 10.65107

Si, ya que los intervalos de confianza no incluyen al cero, por lo tanto hay evidencia de una relación lineal parcial entre el salario (“wage”) y la educación (“educ”) y entre salario y los años de experiencia (“exper”).

c) ¿El modelo resulta ser estadísticamente significativo?

options(scipen = 999999)
modelo_A<-summary(wage_model)
print(modelo_A)
## 
## Call:
## lm(formula = wage ~ ., data = uswages)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -875.7 -213.8  -53.3  128.5 7505.5 
## 
## Coefficients:
##              Estimate Std. Error t value             Pr(>|t|)    
## (Intercept) -203.9184    53.6126  -3.804             0.000147 ***
## educ          48.8034     3.2489  15.022 < 0.0000000000000002 ***
## exper          9.1353     0.7262  12.579 < 0.0000000000000002 ***
## race        -119.1585    35.1922  -3.386             0.000723 ***
## smsa         115.6783    21.7386   5.321          0.000000115 ***
## ne           -53.9265    27.9738  -1.928             0.054028 .  
## mw           -60.1990    27.3487  -2.201             0.027839 *  
## so           -50.4333    26.3703  -1.913             0.055955 .  
## pt          -336.2156    31.9381 -10.527 < 0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 412.1 on 1991 degrees of freedom
## Multiple R-squared:  0.2001, Adjusted R-squared:  0.1969 
## F-statistic: 62.25 on 8 and 1991 DF,  p-value: < 0.00000000000000022

d) Calcule las matrices A, P y M (para imprimir los objetos, sólo muestre sub matrices de 5 por 5, por ejemplo mat_A_A[1:5,1:5])

X_A<-model.matrix(wage_model)
XX_A<-t(X_A)%*%X_A

# Matriz A:
solve(XX_A)%*%t(X_A)->mat_A_A
mat_A_A[1:5,1:5]
##                       6085          23701          16208            2720
## (Intercept) -0.00407486592  0.00019988392 -0.00192379497  0.000468617616
## educ         0.00027991912  0.00011521431  0.00013717746 -0.000067864283
## exper        0.00001463871  0.00001395553 -0.00001902022  0.000008127829
## race        -0.00009332380 -0.00016405824 -0.00097568823 -0.000448531469
## smsa         0.00025048500  0.00063180632  0.00071679602  0.000446417421
##                        9723
## (Intercept) -0.000326149553
## educ         0.000007848014
## exper       -0.000016710840
## race        -0.000391462487
## smsa         0.000789669014
# Matriz P:
X_A%*%solve(XX_A)%*%t(X_A)->mat_P_A
mat_P_A[1:5,1:5]
##               6085         23701          16208           2720         9723
## 6085  0.0035672847 0.00066718006  0.00087010800  0.00197560224 0.0002498420
## 23701 0.0006671801 0.00283901540  0.00047025855  0.00005962738 0.0002470229
## 16208 0.0008701080 0.00047025855  0.00261999709 -0.00006707813 0.0005282693
## 2720  0.0019756022 0.00005962738 -0.00006707813  0.00243155491 0.0001024889
## 9723  0.0002498420 0.00024702286  0.00052826932  0.00010248885 0.0024368101
# Matriz C:
n_A<-nrow(X_A)
diag(n_A)-mat_P_A->mat_M_A
mat_M_A[1:5,1:5]
##                6085          23701          16208           2720          9723
## 6085   0.9964327153 -0.00066718006 -0.00087010800 -0.00197560224 -0.0002498420
## 23701 -0.0006671801  0.99716098460 -0.00047025855 -0.00005962738 -0.0002470229
## 16208 -0.0008701080 -0.00047025855  0.99738000291  0.00006707813 -0.0005282693
## 2720  -0.0019756022 -0.00005962738  0.00006707813  0.99756844509 -0.0001024889
## 9723  -0.0002498420 -0.00024702286 -0.00052826932 -0.00010248885  0.9975631899

PARTE B

a) Estime un modelo para explicar los ingresos (“income), usando todas las variables disponibles en el dataframe

library(stargazer)
income_model<-lm(income~.,data = teengamb)
stargazer(income_model,title = "Modelo Clave B",type="text")
## 
## Modelo Clave B
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                               income           
## -----------------------------------------------
## sex                            0.090           
##                               (1.072)          
##                                                
## status                        -0.063*          
##                               (0.032)          
##                                                
## verbal                         0.247           
##                               (0.265)          
##                                                
## gamble                       0.072***          
##                               (0.015)          
##                                                
## Constant                      4.411**          
##                               (2.003)          
##                                                
## -----------------------------------------------
## Observations                    47             
## R2                             0.458           
## Adjusted R2                    0.407           
## Residual Std. Error       2.736 (df = 42)      
## F Statistic            8.877*** (df = 4; 42)   
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

b) Calcule un intervalo de confianza del 92.5% para las variables “verbal” y “gamble”. ¿hay evidencia de que estas variables tienen una relación con los ingresos? justifique su respuesta.

confint(income_model,parm = c("verbal","gamble"),level = 0.925)
##             3.75 %    96.25 %
## verbal -0.23707674 0.73028397
## gamble  0.04492279 0.09936007

Las variables no tienen relación en cuanto sus ingresos. En el caso de la variable “verbal”, su IC, incluye al cero, lo que evidencia que no hay relación lineal parcial entre dicha variable y el ingreso. Por otro lado, la variable “gamble” no incluye al cero en su IC, lo que indica que hay evidencia de una relación lineal parcial entre el ingreso y el gasto en las apuestas (“gamble”)

c) ¿El modelo resulta ser estadísticamente significativo?

modelo_B<-summary(income_model)
print(modelo_B)
## 
## Call:
## lm(formula = income ~ ., data = teengamb)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.9561 -1.9072 -0.6399  1.1958  7.1716 
## 
## Coefficients:
##             Estimate Std. Error t value  Pr(>|t|)    
## (Intercept)  4.41097    2.00311   2.202    0.0332 *  
## sex          0.09035    1.07210   0.084    0.9332    
## status      -0.06279    0.03250  -1.932    0.0601 .  
## verbal       0.24660    0.26492   0.931    0.3572    
## gamble       0.07214    0.01491   4.839 0.0000179 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.736 on 42 degrees of freedom
## Multiple R-squared:  0.4581, Adjusted R-squared:  0.4065 
## F-statistic: 8.877 on 4 and 42 DF,  p-value: 0.00002743

El p-value del estadístico F es aproximadamente 0.0000274, es decir inferior al 5%, lo que indica que se rechaza la hipótesis nula de que los parámetros estimados del modelo no son simultáneamente iguales a cero, por lo que se aporta evidencia para justificar que la combinación lineal de parámetros es estadísticamente significativa.

d) Calcule las matrices A, P y M (para imprimir los objetos, sólo muestre sub matrices de 5 por 5, por ejemplo mat_A_B[1:5,1:5])

model.matrix(income_model)->X_B
XX_B<-t(X_B)%*%X_B

# Cálculo de la matriz A
mat_A_B<-solve(XX_B)%*%t(X_B)
print(mat_A_B[1:5,1:5])
##                         1              2             3             4
## (Intercept) -0.1074542196 -0.02196090939  0.0166636550  0.1071925261
## sex          0.0809403937  0.02485495618  0.0546438428  0.0478553863
## status       0.0012534153 -0.00199128049  0.0004440685  0.0004276380
## verbal       0.0053215827  0.01872696513 -0.0052703695 -0.0181905266
## gamble       0.0002006996 -0.00007513551 -0.0001277504 -0.0001794904
##                         5
## (Intercept) -0.1997769992
## sex          0.1347212618
## status       0.0034635069
## verbal      -0.0012648221
## gamble       0.0009505469
# Cálculo de la matriz P
mat_P_B<-X_B%*%mat_A_B
print(mat_P_B[1:5,1:5])
##            1          2          3          4          5
## 1 0.07998301 0.05115446 0.05179203 0.03133324 0.10146454
## 2 0.05115446 0.09695391 0.04157846 0.02149756 0.02180388
## 3 0.05179203 0.04157846 0.05611581 0.06172736 0.05550509
## 4 0.03133324 0.02149756 0.06172736 0.09294939 0.03380216
## 5 0.10146454 0.02180388 0.05550509 0.03380216 0.16858435
# Cálculo de la matriz M
n_B<-nrow(X_B)
mat_M_B<-diag(n_B)-mat_P_B
print(mat_M_B[1:5,1:5])
##             1           2           3           4           5
## 1  0.92001699 -0.05115446 -0.05179203 -0.03133324 -0.10146454
## 2 -0.05115446  0.90304609 -0.04157846 -0.02149756 -0.02180388
## 3 -0.05179203 -0.04157846  0.94388419 -0.06172736 -0.05550509
## 4 -0.03133324 -0.02149756 -0.06172736  0.90705061 -0.03380216
## 5 -0.10146454 -0.02180388 -0.05550509 -0.03380216  0.83141565

PARTE C

a) Estime un modelo, con la variable “total” como variable endógena y las variables “expend”, “ratio”, “salary” y “takers” como regresores.

library(stargazer)
total_model<-lm(total~expend+ratio+salary+takers,data=sat)
stargazer(total_model,title = "Modelo Clave C",type="text")
## 
## Modelo Clave C
## ===============================================
##                         Dependent variable:    
##                     ---------------------------
##                                total           
## -----------------------------------------------
## expend                         4.463           
##                              (10.547)          
##                                                
## ratio                         -3.624           
##                               (3.215)          
##                                                
## salary                         1.638           
##                               (2.387)          
##                                                
## takers                       -2.904***         
##                               (0.231)          
##                                                
## Constant                   1,045.972***        
##                              (52.870)          
##                                                
## -----------------------------------------------
## Observations                    50             
## R2                             0.825           
## Adjusted R2                    0.809           
## Residual Std. Error      32.702 (df = 45)      
## F Statistic           52.875*** (df = 4; 45)   
## ===============================================
## Note:               *p<0.1; **p<0.05; ***p<0.01

b) Calcule un intervalo de confianza del 94.78% para las variables “expend” y “salary”. ¿hay evidencia de que estas variables tienen una relación con los resultados de la prueba? justifique su respuesta.

confint(total_model,parm = c("expend","salary"),level = 0.9478)
##            2.61 %   97.39 %
## expend -16.570259 25.495447
## salary  -3.122951  6.398786

No, ya que los intervalos de confianza incluyen al cero, por lo tanto no hay evidencia de una relación lineal parcial entre el puntaje total de la prueba SAT (“total”) y la variable (“expend”) y entre el puntaje y el salario de los maestros (“salary”)

c) ¿El modelo resulta ser estadísticamente significativo?

options(scipen = 999999)
modelo_C<-summary(total_model)
print(modelo_C)
## 
## 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

El p-value del estadístico F es aproximadamente 0, es decir, inferior al 5%, lo que indica que rechaza la hipótesis nula de que los parámetros estimados del modelo no son simultáneamente iguales a cero, por lo que se aporta evidencia para justificar que la combinación lineal de parámetros es estadísticamente significativa.

d) Calcule las matrices A, P y M (para imprimir los objetos, sólo muestre sub matrices de 5 por 5, por ejemplo mat_A_C[1:5,1:5])

X_C<-model.matrix(total_model)
XX_C<-t(X_C)%*%X_C

# Matriz A:
solve(XX_C)%*%t(X_C)->mat_A_C
mat_A_C[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:
X_C%*%solve(XX_C)%*%t(X_C)->mat_P_C
mat_P_C[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
# Matriz C:
n_C<-nrow(X_C)
diag(n_C)-mat_P_C->mat_M_C
mat_M_C[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