library(readxl)
# importen sus datos, de manera normal, luego, copien eso abajo de esta linea, como esta el ejemplo
# CAMBIE ESTO POR SUS DATOS.
espinoza_1_ <- read_excel("C:/Users/Rodrigo/Desktop/Clases/Estadistica/Datos/espinoza (1).xlsx")
de<-espinoza_1_
Evaluar la probabilidad en encontrar niveles de CO superiores o iguales a 1200ppm
#Calidad de datos
de<- na.omit(de)
de
## # A tibble: 7,010 × 10
## year month day PM10 CO O3 PRES RAIN WSPM station
## <dbl> <dbl> <dbl> <chr> <chr> <chr> <dbl> <dbl> <dbl> <chr>
## 1 2013 3 1 6 400 62 1024. 0 3.1 Guanyuan
## 2 2013 3 1 3 400 61 1027. 0 3.8 Guanyuan
## 3 2013 3 1 17 500 52 1028. 0 2.8 Guanyuan
## 4 2013 3 2 6 400 62 1031. 0 1.7 Guanyuan
## 5 2013 3 2 18 800 30 1027. 0 2.7 Guanyuan
## 6 2013 3 2 25 600 47 1026. 0 1.5 Guanyuan
## 7 2013 3 2 83 1200 16 1023. 0 1.2 Guanyuan
## 8 2013 3 2 102 1899 2 1022. 0 1.4 Guanyuan
## 9 2013 3 3 126 2600 2 1017. 0 1.2 Guanyuan
## 10 2013 3 3 104 2200 2 1017. 0 0.9 Guanyuan
## # ℹ 7,000 more rows
de<-espinoza_1_ %>%
filter(CO!="NA")
de$CO<- as.numeric(de$CO)
descripYG(de,de$CO,NULL)
## n promedio mediana desv.estd.m curtosis asimetria min max
## 1 6676 1279.651 900.000 1176.472 9.765 2.605 100.000 10000.000
## p25 p75 iqr bmin bmax
## 1 500.000 1600.000 1100.000 -1150.000 3250.000
Podemos apreciar en el histograma la presencia de un comportamiento asimetrico positivo, Esto lo podemos confirmar viendo la relacion promedio-mediana el cual nos diceq ue el promedio>mediana = asimetria positiva, tambien podemos ver una curtosis alta lo cual nos indica una distribucion leptocurtica lo cual confirmamos con el histograma.
Se clasifican los niveles de CO en mayores o iguales a 1200 y se tomaran muestras de tamaño 20 para evaluar la posibilidad de tener esos valores que perjudican la salud humana segun la NIOSH
n=20 Exito= Encontrar valores 1200 o mas x=Numero de dias con cantidades de CO con al menos 1200 ppm en una muestra aleatoria de 20 dias
x es binomial (20,p)
# usar script para "simulacion de variable discreta" y obtener el P
library(caret)
##
## Attaching package: 'caret'
## The following object is masked from 'package:mosaic':
##
## dotPlot
## The following object is masked from 'package:purrr':
##
## lift
## The following object is masked from 'package:survival':
##
## cluster
library(tidyverse)
library(fitdistrplus)
library(mosaic)
library(rsample)
options(scipen=999) # 1 para notacion cientifica
pe<- data.frame(0) # definimos un vector de numerocp
#creando variable nueva de Exito y fracaso
de<-mutate(de, corte=ifelse(CO>=1200,1,0))
#Estimacion de p para funcion Binomial
for (i in 1:20){
datosindex=createDataPartition(de$day,p=0.30)$Resample1 #0.3, porcentaje de elementos para el bootstrap
d11<-as.data.frame(de[datosindex,] )
t11 <- d11 %>%
group_by(corte) %>%
summarise(tot=n()) %>%
mutate(prop=tot/sum(tot))
pe[i,1]<-t11[1,3]
}
p<- mean(pe$X0) # estimacion de p binomial
p
## [1] 0.6054115
#SIMULACION
# definir un contexto de experimentacion
n<- 100 # escogemos 100 personas
x<-c(0:100)
tablaPb1 <- data.frame(x, PrBx=dbinom(x,n,p),PrABx=pbinom(x,n,p))
mosaic::plotDist(dist="binom",size=100, prob=p,xlab=paste("x ", min(tablaPb1$x),";",max(tablaPb1$x)),kind="histogram")
De acuerdo al problema se establece encontrar 10 dias en un tamaño de muestra 20 con cantidad de emisiones de CO mayores a 1200 ppm
P(x=10 )
# por ejemplo
#Caso Discreto
# como x = la cantidad de veces de encontrar 10 dias con CO 1200 ppm
# P( x =10) -> P(x<=10)- P(x<9)
pbinom(10,20,0.60)- pbinom(9,20,0.60)
## [1] 0.1171416
De cada 100 veces que ese eligen muestras de 20 dias, en 11 muestras se encontraran 10 dias con cantidad de CO mayores o iguales a 1200 ppm
####Caso discreto Poisson
Evaluar la probabilidad en encontrar niveles de CO superiores o iguales a 1200ppm #Calidad de datos
de<- na.omit(de)
de
## # A tibble: 6,672 × 11
## year month day PM10 CO O3 PRES RAIN WSPM station corte
## <dbl> <dbl> <dbl> <chr> <dbl> <chr> <dbl> <dbl> <dbl> <chr> <dbl>
## 1 2013 3 1 6 400 62 1024. 0 3.1 Guanyuan 0
## 2 2013 3 1 3 400 61 1027. 0 3.8 Guanyuan 0
## 3 2013 3 1 17 500 52 1028. 0 2.8 Guanyuan 0
## 4 2013 3 2 6 400 62 1031. 0 1.7 Guanyuan 0
## 5 2013 3 2 18 800 30 1027. 0 2.7 Guanyuan 0
## 6 2013 3 2 25 600 47 1026. 0 1.5 Guanyuan 0
## 7 2013 3 2 83 1200 16 1023. 0 1.2 Guanyuan 1
## 8 2013 3 2 102 1899 2 1022. 0 1.4 Guanyuan 1
## 9 2013 3 3 126 2600 2 1017. 0 1.2 Guanyuan 1
## 10 2013 3 3 104 2200 2 1017. 0 0.9 Guanyuan 1
## # ℹ 6,662 more rows
de<-espinoza_1_ %>%
filter(CO!="NA")
de$CO<- as.numeric(de$CO)
descripYG(de,de$CO,NULL)
## n promedio mediana desv.estd.m curtosis asimetria min max
## 1 6676 1279.651 900.000 1176.472 9.765 2.605 100.000 10000.000
## p25 p75 iqr bmin bmax
## 1 500.000 1600.000 1100.000 -1150.000 3250.000
Podemos apreciar en el histograma la presencia de un comportamiento asimetrico positivo, Esto lo podemos confirmar viendo la relacion promedio-mediana el cual nos diceq ue el promedio>mediana = asimetria positiva, tambien podemos ver una curtosis alta lo cual nos indica una distribucion leptocurtica lo cual confirmamos con el histograma.
Se clasifican los niveles de CO en mayores o iguales a 1200 para evaluar la posibilidad de tener esos valores que perjudican la salud humana Segun la NIOSH
Exito= Encontrar valores 1200 o mas x=Numero de dias con cantidades de CO con al menos 1200, Lambda=0.60
x es Poisson (q,0.60)
# usar script para "simulacion de variable discreta" y obtener el P
library(caret)
library(tidyverse)
library(fitdistrplus)
library(mosaic)
library(rsample)
options(scipen=999) # 1 para notacion cientifica
pe<- data.frame(0) # definimos un vector de numerocp
#creando variable nueva de Exito y fracaso
de<-mutate(de, corte=ifelse(CO>=1200,1,0))
#Estimacion de p para funcion Binomial
for (i in 1:20){
datosindex=createDataPartition(de$day,p=0.30)$Resample1 #0.3, porcentaje de elementos para el bootstrap
d11<-as.data.frame(de[datosindex,] )
t11 <- d11 %>%
group_by(corte) %>%
summarise(tot=n()) %>%
mutate(prop=tot/sum(tot))
pe[i,1]<-t11[1,3]
}
p<- mean(pe$X0) # estimacion de p binomial
p
## [1] 0.6096509
#SIMULACION
# definir un contexto de experimentacion
n<- 100 # escogemos 100 personas
x<-c(0:100)
tablaPb1 <- data.frame(x, PrBx=dbinom(x,n,p),PrABx=pbinom(x,n,p))
mosaic::plotDist(dist="binom",size=100, prob=p,xlab=paste("x ", min(tablaPb1$x),";",max(tablaPb1$x)),kind="histogram")
### Definición Calculo Probabilidad (P(X =, >=, etc)
De acuerdo al problema se establece encontrar a lo mas 2 dias con cantidad de emisiones de CO mayores a 1200 ppm con un Lambda 0.61
P(x<= 2) -> P(x<=2)
# como x = la cantidad de veces de encontrar 2 dias con CO 1200 ppm
ppois(2,0.61)
## [1] 0.9758853
##Conclusion De cada 100 veces la probabilidad de encontrar 2 dias a lo mas con ppm 1200 es de 97
# Caso COntinuo
# x= altura del arbol,, xxxx
# suponiendo que el analisis encontro que era GAMMA (1,2) entonces
pgamma(8,1,rate=2)-pgamma(3,1,rate=2)
## [1] 0.00247864