U1R1

Jhoselyn

5/10/2020

  • importar
library(readr)
datosob <- read_csv("datosob.csv")
## Parsed with column specification:
## cols(
##   mes = col_character(),
##   temp = col_double(),
##   prec = col_double()
## )
View(datosob)
library(pacman)
p_load("readr","DT","prettydoc","fdth","modeest")
datosob <- read_csv("datosob.csv")
## Parsed with column specification:
## cols(
##   mes = col_character(),
##   temp = col_double(),
##   prec = col_double()
## )
datatable(datosob)

Primer repaso de la unidad 1 de la materia de estadistica aplicada

Definicion de estadistica

es la rama de las matemáticas que estudia la variabilidad, así como el proceso aleatorio que la genera siguiendo las leyes de la probabilidad.2. Como parte de la matemática, la estadística es una ciencia formal deductiva, con un conocimiento propio, dinámico y en continuo desarrollo obtenido a través del método científico formal. En ocasiones, las ciencias fácticas necesitan utilizar técnicas estadísticas durante su proceso de investigación factual, con el fin de obtener nuevos conocimientos basados en la experimentación y en la observación. En estos casos, la aplicación de la estadística permite el análisis de datos provenientes de una muestra representativa, que busca explicar las correlaciones y dependencias de un fenómeno físico o natural, de ocurrencia en forma aleatoria o condicional.

La estadística se divide en dos grandes áreas:

Estadística descriptiva: Se dedica a la descripción, visualización y resumen de datos originados a partir de los fenómenos de estudio. Los datos pueden ser resumidos numérica o gráficamente. Su objetivo es organizar y describir las características sobre un conjunto de datos con el propósito de facilitar su aplicación, generalmente con el apoyo de gráficas, tablas o medidas numéricas. Ejemplos básicos de parámetros estadísticos son: la media y la desviación estándar. Ejemplos gráficos son: histograma, pirámide poblacional, gráfico circular, entre otros.

Estadística inferencial: Se dedica a la generación de los modelos, inferencias y predicciones asociadas a los fenómenos en cuestión teniendo en cuenta la aleatoriedad de las observaciones. Se usa para modelar patrones en los datos y extraer inferencias acerca de la población bajo estudio. Estas inferencias pueden tomar la forma de respuestas a preguntas sí/no (prueba de hipótesis), estimaciones de unas características numéricas (estimación), pronósticos de futuras observaciones, descripciones de asociación (correlación) o modelamiento de relaciones entre variables (análisis de regresión). Otras técnicas de modelamiento incluyen análisis de varianza, series de tiempo y minería de datos. Su objetivo es obtener conclusiones útiles para lograr hacer deducciones acerca de la totalidad de todas las observaciones hechas, basándose en la información numérica.

Distribuciones de frecuencia

Tabla de distribucion de frecuencia

dist <- fdt(datosob, breaks="Sturges")
dist
## temp 
##     Class limits f   rf rf(%) cf  cf(%)
##  [17.226,20.225) 3 0.25 25.00  3  25.00
##  [20.225,23.223) 2 0.17 16.67  5  41.67
##  [23.223,26.222) 1 0.08  8.33  6  50.00
##   [26.222,29.22) 2 0.17 16.67  8  66.67
##   [29.22,32.219) 4 0.33 33.33 12 100.00
## 
## prec 
##     Class limits f   rf rf(%) cf cf(%)
##   [0.396,19.365) 6 0.50    50  6    50
##  [19.365,38.335) 3 0.25    25  9    75
##  [38.335,57.304) 0 0.00     0  9    75
##  [57.304,76.274) 0 0.00     0  9    75
##  [76.274,95.243) 3 0.25    25 12   100
dist
## temp 
##     Class limits f   rf rf(%) cf  cf(%)
##  [17.226,20.225) 3 0.25 25.00  3  25.00
##  [20.225,23.223) 2 0.17 16.67  5  41.67
##  [23.223,26.222) 1 0.08  8.33  6  50.00
##   [26.222,29.22) 2 0.17 16.67  8  66.67
##   [29.22,32.219) 4 0.33 33.33 12 100.00
## 
## prec 
##     Class limits f   rf rf(%) cf cf(%)
##   [0.396,19.365) 6 0.50    50  6    50
##  [19.365,38.335) 3 0.25    25  9    75
##  [38.335,57.304) 0 0.00     0  9    75
##  [57.304,76.274) 0 0.00     0  9    75
##  [76.274,95.243) 3 0.25    25 12   100
#Nos brinda una tabla con los calculos de la distribución de frecuencias.
#Donde
#f= frecuencia absoluta
#rf= frecuencia relativa
#rf(%) frecuencia relativa porcentual
#cf= frecuencia acumulada
#cf(%)=frecuencia acumulada porcentual

Histograma de distribucion de frecuencia

plot(dist, type="fh") # histograma de frecuencia absoluta

plot(dist, type="cfh") # Histograma de frecuencia acumulada

plot(dist, type="rfh") # histograma de frecuencia relativa

Poligono de distribucion de frecuencia

plot(dist, type="fp") # Polígono de frecuencia absoluta

plot(dist, type="cfp") # Polígono de frecuencia acumulada

plot(dist, type="rfp") # Polígono de frecuencia relativa

Medidas de tendencias central

Media

mean(datosob$temp)
## [1] 24.94167
mean(datosob$prec)
## [1] 31.40833

Mediana

median(datosob$temp)
## [1] 25.2
median(datosob$prec)
## [1] 17.5

Moda

mfv(datosob$prec)
##  [1]  0.4  2.2  4.6  6.4 11.4 14.2 20.8 25.0 28.7 83.6 85.3 94.3
mfv(datosob$temp)
##  [1] 17.4 17.9 18.6 20.3 22.1 23.5 26.9 27.5 30.6 31.0 31.6 31.9

Cuantiles

summary(datosob$temp)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   17.40   19.88   25.20   24.94   30.70   31.90
summary(datosob$prec)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.40    5.95   17.50   31.41   42.42   94.30

Valores maximos y minimos

TempMax <- max(datosob$temp)
TempMin <- min(datosob$temp)

Grafico (diagrama) de caja y bigote

boxplot(datosob$temp)

boxplot(datosob$prec)

Amplitud (rango, alcance)

amp <- (TempMax - TempMin)

Varianza

var(datosob$temp)
## [1] 31.83902
var(datosob$prec)
## [1] 1236.344

Desviacion estandar

sd(datosob$temp)
## [1] 5.642607
sd(datosob$prec)
## [1] 35.16169

Analisis de correlacion

Correlacion de pearson

temp <- datosob$temp
prec <- datosob$prec
clima <- data.frame(temp,prec)
cor(clima)
##          temp     prec
## temp 1.000000 0.626233
## prec 0.626233 1.000000

Diagramas de dispersion

pairs(clima)

Regresion lineal simple

regresion <- lm (prec ~ temp, data=clima )
summary(regresion)
## 
## Call:
## lm(formula = prec ~ temp, data = clima)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -47.09 -15.41  -0.69  22.06  36.91 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  -65.923     39.207  -1.681   0.1236  
## temp           3.902      1.536   2.540   0.0294 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 28.75 on 10 degrees of freedom
## Multiple R-squared:  0.3922, Adjusted R-squared:  0.3314 
## F-statistic: 6.452 on 1 and 10 DF,  p-value: 0.02936

Recta de minimos cuadrados

Ajuste de la recta

plot(clima$temp, clima$prec, xlab = "Temperatura", ylab = "Precipitacion")
abline(regresion)

Prediccion

sort(prec)
##  [1]  0.4  2.2  4.6  6.4 11.4 14.2 20.8 25.0 28.7 83.6 85.3 94.3
nuevas.prec <- data.frame(prec=seq(0,100))
nuevas.temp <- data.frame(temp=seq(0,100))
predict(regresion,nuevas.temp)
##           1           2           3           4           5           6 
## -65.9227116 -62.0203643 -58.1180170 -54.2156697 -50.3133225 -46.4109752 
##           7           8           9          10          11          12 
## -42.5086279 -38.6062806 -34.7039334 -30.8015861 -26.8992388 -22.9968916 
##          13          14          15          16          17          18 
## -19.0945443 -15.1921970 -11.2898497  -7.3875025  -3.4851552   0.4171921 
##          19          20          21          22          23          24 
##   4.3195393   8.2218866  12.1242339  16.0265812  19.9289284  23.8312757 
##          25          26          27          28          29          30 
##  27.7336230  31.6359703  35.5383175  39.4406648  43.3430121  47.2453593 
##          31          32          33          34          35          36 
##  51.1477066  55.0500539  58.9524012  62.8547484  66.7570957  70.6594430 
##          37          38          39          40          41          42 
##  74.5617903  78.4641375  82.3664848  86.2688321  90.1711793  94.0735266 
##          43          44          45          46          47          48 
##  97.9758739 101.8782212 105.7805684 109.6829157 113.5852630 117.4876103 
##          49          50          51          52          53          54 
## 121.3899575 125.2923048 129.1946521 133.0969993 136.9993466 140.9016939 
##          55          56          57          58          59          60 
## 144.8040412 148.7063884 152.6087357 156.5110830 160.4134303 164.3157775 
##          61          62          63          64          65          66 
## 168.2181248 172.1204721 176.0228193 179.9251666 183.8275139 187.7298612 
##          67          68          69          70          71          72 
## 191.6322084 195.5345557 199.4369030 203.3392503 207.2415975 211.1439448 
##          73          74          75          76          77          78 
## 215.0462921 218.9486393 222.8509866 226.7533339 230.6556812 234.5580284 
##          79          80          81          82          83          84 
## 238.4603757 242.3627230 246.2650703 250.1674175 254.0697648 257.9721121 
##          85          86          87          88          89          90 
## 261.8744593 265.7768066 269.6791539 273.5815012 277.4838484 281.3861957 
##          91          92          93          94          95          96 
## 285.2885430 289.1908903 293.0932375 296.9955848 300.8979321 304.8002793 
##          97          98          99         100         101 
## 308.7026266 312.6049739 316.5073212 320.4096684 324.3120157

Intervalos de confianza

confint(regresion)
##                    2.5 %    97.5 %
## (Intercept) -153.2812572 21.435834
## temp           0.4792123  7.325482
nuevas.temp <- data.frame(temp=seq(17,32))
#Recta ajustada al grafico de dispersion
plot(clima$temp, clima$prec, xlab = "Temperatura", ylab = "Precipitacion")
abline(regresion)
#Intervalos de confianza para la respuesta media
#Ic es una matriz con tres columnas: laprimera es la prediccion, las otras dos son los extremos del intervalo

ic <- predict(regresion, nuevas.temp, interval = 'confidence')
lines(nuevas.temp$temp, ic[, 2], lty = 2)
lines(nuevas.temp$temp, ic[, 3], lty = 2)

# Intervalo de prediccion
ic <- predict(regresion, nuevas.temp, interval = 'prediction')
lines(nuevas.temp$temp, ic[, 2], lty = 2, col = "pink")
lines(nuevas.temp$temp, ic[, 3], lty = 2, col = "pink")

Analisis de residuales

anova(regresion)
## Analysis of Variance Table
## 
## Response: prec
##           Df Sum Sq Mean Sq F value  Pr(>F)  
## temp       1 5333.4  5333.4  6.4519 0.02936 *
## Residuals 10 8266.4   826.6                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

###Diagnostico de modelos

residuos <- rstandard(regresion)
valores.ajusados <- fitted(regresion)
plot(valores.ajusados,residuos)

Pruebas de normalidad

qqnorm(residuos)
qqline(residuos)

Shapiro-wilk

shapiro.test(residuos)
## 
##  Shapiro-Wilk normality test
## 
## data:  residuos
## W = 0.95053, p-value = 0.6448