Importar

Datos

library("readr")

triangulos <- read_csv("Triangulosdatos.csv")
## Parsed with column specification:
## cols(
##   base = col_double(),
##   altura = col_double(),
##   area = col_double()
## )

Analisis de correlacion

*Matriz de diagramas de dispersion

pairs(triangulos)

A continuacion se hara una cuantidicacion del grado de relacion lineal, por medio de la matriz de coeficientes de correlacion

cor(triangulos)
##             base    altura      area
## base   1.0000000 1.0000000 0.9702989
## altura 1.0000000 1.0000000 0.9702989
## area   0.9702989 0.9702989 1.0000000

Recta de minimos cuadrados

regresion <- lm(altura ~ base, data=triangulos)
summary(triangulos)
##       base           altura          area       
##  Min.   : 1.00   Min.   : 2.0   Min.   :  1.00  
##  1st Qu.: 8.25   1st Qu.:16.5   1st Qu.: 68.25  
##  Median :15.50   Median :31.0   Median :240.50  
##  Mean   :15.50   Mean   :31.0   Mean   :315.17  
##  3rd Qu.:22.75   3rd Qu.:45.5   3rd Qu.:517.75  
##  Max.   :30.00   Max.   :60.0   Max.   :900.00
  • Con base a lo estimado el analisis de regresion lineal, obtenemos la ecuasion de la recta de minimos cuadrados*

\[y = 102.5751 + 5.3207x \]

Grafica de la recta de minimos cuadrados

plot(triangulos$base, triangulos$altura, xlab = "Base", ylab ="Altura")
abline(regresion)

Modelacion (Calculo) de predicciones

nuevas.bases <- data.frame(base = seq(30,50))
predict(regresion, nuevas.bases)
##   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20 
##  60  62  64  66  68  70  72  74  76  78  80  82  84  86  88  90  92  94  96  98 
##  21 
## 100

Intervalo de confianza

  • Suponemos ahora que los datos proceden de un modelo de regresion simple, de la forma:

\[y_i = \beta_0 + \beta_1 x_i + \epsilon_i, \ \ \ \ i=1,\ldots,n, \] Donde: * Los errores aleatorios \(\epsilon_i\) son independientes con distribucion normal 0 y varianza \(\sigma^2\)

  • Los errores típocos de los estimadores de los parametros $ _0  y  _1$ se encuentran en la columna std error serian de manera correspondiente

Calculo del nivel de confianza

  • Intervalo de confianza para el 95% de los datos
confint(regresion)
## Warning in summary.lm(object, ...): essentially perfect fit: summary may be
## unreliable
##                     2.5 %        97.5 %
## (Intercept) -7.290265e-15 -3.087876e-15
## base         2.000000e+00  2.000000e+00
  • Intervalo de confianza para el 95% de los datos
confint(regresion, level=0.90)
## Warning in summary.lm(object, ...): essentially perfect fit: summary may be
## unreliable
##                      5 %          95 %
## (Intercept) -6.93404e-15 -3.444101e-15
## base         2.00000e+00  2.000000e+00

Representacion grafica de los intervalos de confianza

nuevas.edades <- data.frame(edad = seq(30,60))
# Grafico de dispersion y recta
plot(triangulos$base, triangulos$altura, xlab = "Base", ylab ="Altura")
abline(regresion)

# Intervalos de confianza  de la respuesta media
# ic es una matriz de 3 columnas:
# La primera es la prediccion, y las otras son los extremos del intervalo
ic <- predict(regresion, nuevas.bases, interval = "confidence")
lines(nuevas.bases$base, ic[,2], lty = 2)
lines(nuevas.bases$base, ic[,3], lty = 2)

# Intervalo de predicción
ic <- predict(regresion, nuevas.bases, interval = "prediction")
lines(nuevas.bases$base, ic[,2], lty = 2, col = "red")
lines(nuevas.bases$base, ic[,3], lty = 2, col = "red")

Conclusion

  • En este Script podemos observar la tendencia de los datos de el area con relacion a la base y altura de los triangulos, este tipo de analisis nos da como ejemplo el funcionamiento de r y su capacidad de predecir resultados y analisarlos para anteponerse a situaciones futuras.