Variable cualitativa ordinal

Mes

1 Carga de datos

Ese código importa en R el archivo “Mes.csv” como un data frame, indicando que los datos están separados por comas, el punto es el separador decimal y la primera fila contiene los nombres de las columnas.

Mes <- read.csv("C:/Users/HP/Desktop/Mes.csv", header = TRUE,
                sep = ",", dec =".")

2 Tabla de distribución de frecuencia

Extraemos la columna Cantidad del data frame Mes, la guardamos en ni, calculamos su suma total, luego obtienemos el porcentaje (hi) que representa cada valor de ni respecto al total. Después creamos un nuevo data frame llamado TDFMes que incluye las columnas originales más ni y hi.

ni<-Mes$Cantidad
sum(ni)
## [1] 17805
hi<-ni/sum(ni)*100
sum(hi)
## [1] 100
TDFMes<-data.frame(Mes, ni, hi)
TDFMes

3 Diagramas

3.1 Diagrama de barras local (ni)

barplot(TDFMes$ni, main="Gráfica N°79: Distribución de meses de los sismos 
        ocurridos en Subcontinente Indio", 
        xlab="Mes", ylab="Cantidad", names.arg = TDFMes$Mes, las=2, 
        col = colorRampPalette(c("lightblue", "blue"))(13))

4 Modelo de probabilidad

4.1 Agrupación

Filtramos los datos del data frame Mes para seleccionar solo los meses del 1 al 6, creamos un nuevo data frame con esa selección y calculamos las frecuencias relativas de la columna Cantidad en ese subconjunto.

Mes1 <- subset(Mes, Mes >= 1 & Mes <= 6)
tdfmes1<- data.frame(Mes1)
hi1<- tdfmes1$Cantidad/sum(tdfmes1$Cantidad)
hi1
## [1] 0.1542828 0.1702786 0.1933953 0.2122807 0.1497420 0.1200206

4.2 Distribución de Probabilidad de Mes

barplot(hi1, main = "Gráfica N°80: Distribución de Probabilidad de Mes(1-6)", 
        xlab = "Mes",
        ylab = "Cantidad-",
        names.arg = tdfmes1$Mes, col="skyblue")

lambda1 <-(sum(Mes1$Mes*Mes1$Cantidad)/sum(Mes1$Cantidad))

4.3 Comparación de frecuencias observadas y distribución de Poisson para meses 1 a 6

Calculamos las probabilidades teóricas usando la distribución de Poisson con parámetro lambda1 para los meses filtrados, mostramos esos valores, y creamos un diagrama de barras comparando las frecuencias relativas reales (hi1) con las probabilidades del modelo (P1), incluyendo una leyenda para distinguir ambas.

P1<-dpois(tdfmes1$Mes, lambda1)
P1
## [1] 0.11403235 0.19345487 0.21879633 0.18559303 0.12594278 0.07122027
barplot(rbind(hi1,P1), main = "Gráfica N°81: Distribución de Probabilidad de Mes(1-6)", 
                      xlab = "Mes",
                      ylab = "Cantidad-Probabilidad",
                      names.arg = Mes1$Mes, beside = TRUE, col=c("red", "blue") )
legend("topright",legend = c("Real", "Modelo"),
       fill=c("red", "blue"))

5 Test

5.1 Coeficiente de Pearson

Fo1<-hi1
Fo1
## [1] 0.1542828 0.1702786 0.1933953 0.2122807 0.1497420 0.1200206
Fe1<-P1
Fe1
## [1] 0.11403235 0.19345487 0.21879633 0.18559303 0.12594278 0.07122027
cor(Fo1,Fe1)*100 #Correlacion 
## [1] 87.58027
plot(Fo1,Fe1, main="Gráfica N°82: Correlación entre frecuencias observadas y 
    esperadas de Magnitud de los sismos",
     xlab="Observado (hi)", ylab="Esperado (P)")

abline(lm(Fe1 ~ Fo1), col="red",lwd=2)

5.2 Chi-cuadrado

x2<-sum(((Fo1-Fe1)^2)/Fe1)
x2
## [1] 0.0617059

5.2.1 Valor crítico

vc<-qchisq(0.95,5) #k-1
vc 
## [1] 11.0705
x2<vc
## [1] TRUE

6 Cálculo de probabilidades

n1<-sum(tdfmes1$Cantidad)
n1
## [1] 9690

De los 9690 sismos ocurridos entre enero y febrero, ¿cuál es la probabilidad de que un sismo ocurra en el mes 3?

dpois(3, lambda1)*9690
## [1] 2120.136

7 Modelo de probabilidad 2

7.1 Agrupación

Filtramos los meses de julio a diciembre, crea un nuevo data frame y calculamos las frecuencias relativas de Cantidad en ese rango.

Mes2 <- subset(Mes, Mes >= 7 & Mes <= 12)
tdfmes2 <- data.frame(Mes2)
hi2<- tdfmes2$Cantidad/sum(tdfmes2$Cantidad)
hi2
## [1] 0.1256932 0.1455330 0.1918669 0.2316697 0.1805299 0.1247073

Distribución de Probabilidad de Mes(7 a 12)

barplot(hi2, main = "Gráfico N°83: Distribución de Probabilidad de Mes(7 a 12)", 
        xlab = "Mes",
        ylab = "Cantidad-",
        names.arg = tdfmes2$Mes, col="skyblue")

7.2 Datos

n <- sum(tdfmes2$Cantidad)  # Total de sismos en meses 7 a 12
n
## [1] 8115
x <- tdfmes2$Cantidad       # Número de éxitos por mes (frecuencia)
x
## [1] 1020 1181 1557 1880 1465 1012
k <- ncol(tdfmes2)            # Cantidad de clases (6 meses)
k
## [1] 2

Asignamos valores de X: 0 a (k-1), esto es para que los valores tomen la forma binomial (x = 0,1,2,…)

X <- 0:(length(x)-1)
X
## [1] 0 1 2 3 4 5

Estimar p a partir de la esperanza E(X) = np

media_observada <- sum(X* tdfmes2$Cantidad) / sum(tdfmes2$Cantidad)
media_observada
## [1] 2.569932
p <- media_observada / (length(x) - 1)  # p = E(X)/n

# q
q <- 1 - p

Aplicar la fórmula: P(X = x) = C(n,x) * p^x * q^(n-x)

P2_binomial <- dbinom(X, size = length(x)-1, prob = p)  # tamaño = 5 porque X = 0...5

7.3 Gráfica de comparación

barplot(rbind(hi2, P2_binomial), beside = TRUE,
        col = c("red", "blue"),
        names.arg = tdfmes2$Mes,
        main = "Gráfica N°84: Modelo Binomial Aplicado (Meses 7-12)",
        ylab = "Probabilidad", xlab = "Mes")

legend("topright", legend = c("Observado", "Modelo Binomial"),
       fill = c("red", "blue"), cex = 0.5)

7.4 Gráfica de correlación

plot(hi2, P2_binomial, main = "Gráfica N°85:Correlación Observado vs Modelo Binomial",
     xlab = "Frecuencia Observada", ylab = "Frecuencia Esperada",
     pch = 19, col = "darkblue")
abline(lm(P2_binomial ~ hi2), col = "red", lwd = 2)

7.4.1 Correlación

Fo2<-hi2
Fe2<-P2_binomial
cor(Fo2,Fe2)
## [1] 0.9449864

8 Test

8.1 Chi-cuadrado

x2_2<-sum(((Fo2-Fe2)^2)/Fe2)
x2_2
## [1] 0.6447411

8.1.1 Valor crítico

vc<-qchisq(0.95,5) #k-1
vc #umbral
## [1] 11.0705
x2_2<vc
## [1] TRUE

9 Cálculo de probabilidades

n2<-sum(tdfmes2$Cantidad)
n2
## [1] 8115

De los 8115 sismos ocurridos entre julio y diciembre, ¿cuál es la probabilidad de que un sismo ocurra en el mes 10?

dbinom(3, size = length(x)-1, prob=p)
## [1] 0.320739