library(pacman)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc", "readr", "knitr", "DT", "scales", "tidyverse", "gridExtra", "modeest", "fdth")
library(readr)
tuberculosis <- read_csv("C:/Users/urias/Downloads/Tasa_incidencia_tuberculosis_Serie_Historica.csv")
## Parsed with column specification:
## cols(
## Periodo = col_double(),
## Confirmados = col_double(),
## `Población total` = col_double(),
## Incidencia = col_double()
## )
names(tuberculosis)
## [1] "Periodo" "Confirmados" "Población total" "Incidencia"
head(tuberculosis)
## # A tibble: 6 x 4
## Periodo Confirmados `Población total` Incidencia
## <dbl> <dbl> <dbl> <dbl>
## 1 2014 20126 119713203 16.8
## 2 2014 56 1270174 4.41
## 3 2014 1897 3432944 55.3
## 4 2014 170 741037 22.9
## 5 2014 125 894136 14.0
## 6 2014 528 2925594 18.0
pairs(tuberculosis) #relaciona contra todas las variables
A continuación se hará una cuantificación del grado de relación linea, por medio de la matriz de coeficientes de correlación.
cor(tuberculosis)
## Periodo Confirmados Población total Incidencia
## Periodo 1.00000000 0.01384052 0.03333385 -0.09740436
## Confirmados 0.01384052 1.00000000 0.98073184 0.06640346
## Población total 0.03333385 0.98073184 1.00000000 -0.05538975
## Incidencia -0.09740436 0.06640346 -0.05538975 1.00000000
Con esto observamos que a medida que aumenta la edad de una persona, aumenta el contenido de grasas en su cuerpo con un indice de relacion del 83% Esto explicado con un coeficiente de correlación de: 0.8373534
regresion <- lm(Incidencia ~ Periodo, data=tuberculosis)
summary(regresion)
##
## Call:
## lm(formula = Incidencia ~ Periodo, data = tuberculosis)
##
## Residuals:
## Min 1Q Median 3Q Max
## -16.450 -8.856 -2.059 6.881 40.683
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 319.58576 106.93798 2.989 0.00289 **
## Periodo -0.14997 0.05342 -2.808 0.00511 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 11.06 on 823 degrees of freedom
## Multiple R-squared: 0.009488, Adjusted R-squared: 0.008284
## F-statistic: 7.883 on 1 and 823 DF, p-value: 0.005108
Con base a lo estimado en el analisis de regresión lineal, obtenemos la ecuación de la recta de minimos cuadrados
\[y = 319.58576 - 0.14997x\]
plot(tuberculosis$Incidencia, tuberculosis$Periodo, xlab="Incidencia", ylab="Periodo")
abline(regresion)
nuevas.incidencias <- data.frame(Periodo=seq(20,50))
predict(regresion,nuevas.incidencias)
## 1 2 3 4 5 6 7 8
## 316.5863 316.4363 316.2864 316.1364 315.9864 315.8364 315.6865 315.5365
## 9 10 11 12 13 14 15 16
## 315.3865 315.2365 315.0866 314.9366 314.7866 314.6366 314.4867 314.3367
## 17 18 19 20 21 22 23 24
## 314.1867 314.0368 313.8868 313.7368 313.5868 313.4369 313.2869 313.1369
## 25 26 27 28 29 30 31
## 312.9869 312.8370 312.6870 312.5370 312.3870 312.2371 312.0871
\[ 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\)
confint(regresion, level=0,90)
## 50 % 50 %
## <NA> NA NA
nuevas.incidencias <- data.frame(Periodo=seq(20,60))
#Grafico de disprecion y recta
plot(tuberculosis$Incidencia, tuberculosis$Periodo, xlab="Incidencia", ylab="Periodo")
abline(regresion)
#Intervalos de confianza de la respuesta media
# ic es una matriz que tendrá 3 columnas:
# La 1ra que es la predicción, y las otras son los extremos del intervalo
ic <- predict(regresion, nuevas.incidencias, interval = "confidence")
lines(nuevas.incidencias$Periodo, ic[, 2], lty=2)
lines(nuevas.incidencias$Periodo, ic[, 3], lty=3)
#Intervalos de predicción
ic <- predict(regresion, nuevas.incidencias, interval = "prediction")
lines(nuevas.incidencias$Periodo, ic[, 2], lty=2, col = "blue")
lines(nuevas.incidencias$Periodo, ic[, 3], lty=3, col = "blue")
En este script vemos la varianza entre la Incidencia por 1000 de poblacion en los periodos del 1990, 2000 y 2010, acerca de la enfermedad de tuberculosis en México.