Conocer algo de forma meramente cualitativa es conocerlo de manera vaga. Si tenemos conocimiento cuantitativo – captando alguna medida numérica que lo distinga de un número infinito de otras posibilidades – estamos comenzando a conocerlo en profundidad, comprendemos algo de su belleza y accedemos a su poder y al conocimiento que proporciona. El miedo a la cuantificación supone limitarse, renunciar a una de las perspectivas más firmes para entender y cambiar el mundo.

Carl Sagan. “Miles de Millones”

En el año de 1910 Pawel Ciompa utilizó por primera vez en Alemania el termino “econometría”. El significado literal de econometría es el de “medición económica”.

Regresión lineal Simple

En el modelo de regresión lineal simple se quieren conocer las interrelaciones entre dos variables, de las cuales por lo menos una es una variable aleatoria

Supuestos de la regresión lineal simple

La relación entre Y y X es lineal.
Las Xi son variables no estocásticas (no aleatorias) cuyos valores son fijos (o controlados por el experimentador).
La media del término error es cero.
La varianza del término error es igual en todos los niveles de X. Es el principio de homocedasticidad.
No existe autocorrelación entre el término error de diferentes niveles de X.
La covarianza entre el término error y la variable explicativa X es cero.
El número de observaciones (el tamaño de la muestra) debe ser superior al número de parámetros a estimar.
Los valores de X en una muestra dada no pueden ser todos iguales, teóricamente la var(X) debe ser un número finito positivo.
El modelo está correctamente especificado.
No existe multicolinealidad perfecta.

url1<-"https://raw.githubusercontent.com/armandovl/datasets_uno/main/GPA_Y_CRECIMIENTO.csv"
Datos<-read.csv(url(url1))

head(Datos,4)
str(Datos)
## 'data.frame':    64 obs. of  3 variables:
##  $ Pais            : chr  "ARGENTINA" "ARGENTINA" "ARGENTINA" "ARGENTINA" ...
##  $ Gasto_Publico   : num  3.57 3.8 3.57 3.69 5.36 5.8 5.36 5.4 13 13 ...
##  $ Tasa_Crecimiento: num  2.06 2.1 2.06 2.16 1.81 1.8 1.81 1.8 3.6 3.56 ...
#sacar la correlación
cor(Datos[,2:3])
##                  Gasto_Publico Tasa_Crecimiento
## Gasto_Publico         1.000000         0.813722
## Tasa_Crecimiento      0.813722         1.000000

sacar alfa y beta manualmente

#desviación estandar en x
sd(Datos$Gasto_Publico)
## [1] 4.04219
#desviación estandar en y
sd(Datos$Tasa_Crecimiento)
## [1] 1.551846
#valor de la pendiente
correlacionXY<-cor(Datos[,2:3])[2]
desvX<-sd(Datos$Gasto_Publico)
desvY<-sd(Datos$Tasa_Crecimiento)

pendiente<-correlacionXY*(desvY/desvX)
print(pendiente)
## [1] 0.3123979
#calcular el valor de la pendiente 2
covarianzaXY<-cov(Datos$Gasto_Publico,Datos$Tasa_Crecimiento)
varianzaX<-var(Datos$Gasto_Publico)

pendiente2<-covarianzaXY/varianzaX
print(pendiente2)
## [1] 0.3123979
#cálculo del intercepto
mediaY<-mean(Datos$Tasa_Crecimiento)
mediaX<-mean(Datos$Gasto_Publico)

intercepto<-mediaY-(pendiente2*mediaX)
print(intercepto)
## [1] 0.7365085

sacarlos con el modelo

#El modelo
regresion<-lm(Tasa_Crecimiento~Gasto_Publico, Datos)
regresion #los coeficientes
## 
## Call:
## lm(formula = Tasa_Crecimiento ~ Gasto_Publico, data = Datos)
## 
## Coefficients:
##   (Intercept)  Gasto_Publico  
##        0.7365         0.3124

Tratamiento de los residuos

residuos=residuals(regresion)

la media de los residuos debe ser cero Tienen una media igual a cero

mean(residuos)
## [1] -2.072351e-17

la varianza debe ser constante Tienen varianza constante

#solo los residuos
plot(residuos)

Debe haber homogeneidad de varianzas, si no lo hay, se ve un embudo en el plot También podemos hacer la prueba Breusch-Pagan Test

library(lmtest)
#se busca que este valor sea mayor a o.o5 h0=homogeneidad de varianzas
bptest(regresion)
## 
##  studentized Breusch-Pagan test
## 
## data:  regresion
## BP = 0.030721, df = 1, p-value = 0.8609

Los errores son independientes. los errores se distribuyen en forma normal

hist(residuos, breaks=18 , col="lightblue")

hist(residuos, breaks=50 , col="lightblue", freq = FALSE)
lines(density(residuos), lwd = 2, col = 'blue')

hist(residuos, breaks=50 , col="lightblue", freq = FALSE)
lines(density(residuos), lwd = 2, col = 'blue')

#tendencia de curva normal
x <- seq(min(residuos), max(residuos), length = 40)
f <- dnorm(x, mean = mean(residuos), sd = sd(residuos))
lines(x, f, col = "red", lwd = 2)

#grafico unido
par(mfcol = c(1, 2))

plot(residuos)

hist(residuos, prob = TRUE, main = "Histograma de residuos")
lines(density(residuos), lwd = 2, col = 'blue')

par(mfcol = c(1, 1)) #resetea el parámetro
boxplot(residuos)

#datos resumen del modelo
summary(regresion)
## 
## Call:
## lm(formula = Tasa_Crecimiento ~ Gasto_Publico, data = Datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.2914 -0.6642 -0.0423  0.2239  2.0047 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    0.73651    0.21572   3.414  0.00113 ** 
## Gasto_Publico  0.31240    0.02834  11.023 3.03e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9093 on 62 degrees of freedom
## Multiple R-squared:  0.6621, Adjusted R-squared:  0.6567 
## F-statistic: 121.5 on 1 and 62 DF,  p-value: 3.026e-16

Nos interesa saber si X es un buen predictor de Y, para ello hay que probar la hipótesis nula de que el parámetro 1 = 0 (o sea que la pendiente es cero) versus la alternativa de que es diferente de cero

La técnica de análisis de varianza parte del hecho de que la suma de cuadrados totales (SCT) se puede particionar en porciones a las cuales se les puede asignar un significado preciso: una parte debida a la media (SCM), otra debida al modelo de regresión (SCR) y una última no explicada y que es la suma de cuadrados de los residuos (SCE).

anova(regresion)

pr<0.05 Se rechaza la hipótesis nula y se concluye que el parámetro beta1 es diferente de cero, indicando con ello que X sí tiene capacidad predictiva sobre Y.

Otros

Mínimos cuadrados generalizados
Máxima verosimilitud
Regresion bayesiana
Regresion bde kernel
Regresión del proceso de gauss

vcov(regresion)
##                (Intercept) Gasto_Publico
## (Intercept)    0.046536059 -0.0051962259
## Gasto_Publico -0.005196226  0.0008031649