A partir de una función de densidad, representar la curva de densidad y calcular el valor esperado, la varianza y la desviación estándar de la distribución de los datos.
Se cargan las librerías necesarias
Se cargan los datos de estaturas mujeres
Se carga la función de densidad para estatura mujeres
Se carga funciones de variables aleatorias continuas previamente codificadas
Se presenta la gráfica de densidad
Se calcula el valor esperado de los datos
Se calcula la varianza de los datos
Se calcula la desviación estándar de los datos
Se interpreta todo el caso
Sea X una variable aleatoria continua. Entonces, una distribución de probabilidad o función de densidad de probabilidad (pdf) de X es una función \(f(x)\) de modo tal que para dos números cualesquiera a y b con \(a \le b\)[@devore2016].
\[ P(a \le X \le b) = \int_{a}^{b} f(x) dx\ \]
La probabilidad de que X asuma un valor en el intervalo \([a, b]\) es el área sobre este intervalo y bajo la curva de la función de densidad, como se ilustra en la figura siguiente en relación a los datos de las estaturas de mujeres del Durango vista con anterioridad en el caso anterior.
De acuerdo a Devore, para que \(f(x)\) sea una función de densidad de probabilidad legítima debe satisfacer las dos siguientes condiciones:
\[ f(x) \ge 0 \text{ para todas las x's} \]
\[ \int_{-\infty}^{\infty}f(x)dx=\text{ área bajo toda la curva de f(x)} \]
La función integrate() en R, utiliza un algoritmo numérico para aproximar la integral, y la aproximación puede tener un cierto grado de error.
El grado de error depende del algoritmo numérico utilizado, así como de los límites de integración y la función en sí. Por lo tanto, es posible que el valor obtenido mediante integrate() sea ligeramente diferente al valor calculado de forma analítica.
En general, se espera que el valor obtenido mediante integrate() sea una buena aproximación del valor real de la integral.
Para estimar el valor esperado y la varianza se va a utilizar la función integrate() de R.
El valor esperado o valor medio de una variable aleatoria continua X con función de densidad de probabilidad f(x) es el valor que se espera que se de en promedio:
\[ \mu_{x} = VE(x) = \int_{-\infty}^{\infty}x\cdot f(x)dx \therefore \\ \mu_{x} = VE(x) = \int_{0}^{2}x\cdot 1 - \frac{x}{2}dx \][@devore2016]
[@devore2016]
Es una medida de dispersión, se representa con \(\sigma^2\) o \(V(X)\). La varianza de una variable aleatoria continua X con función de densidad de probabilidad \(f(x)\) y valor medio \(\mu\) está dada por:
\[ varianza = \sigma^2=V(x)=\int_{-\infty}^{\infty}(x - \mu)^2\cdot f(x) dx \]
ó
\[ varianza = \sigma^2=V(x)=\int_{-\infty}^{\infty}x^2\cdot f(x)dx - \mu^2 \]
Es medida de dispersión representada por \(\sigma\) y es la raíz cuadrada de la varianza.
\[ Desv.Std = \sigma = \sqrt{\sigma^2} \]
En el desarrollo de estos ejercicios algunos de ellos cargan datos de los cuales se asume una función de densidad, otros ejercicios extraídos de la literatura de probabilidad sólo presentan la función de densidad.
library(readr)
library(ggplot2)
source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/funciones/fuciones_variables_continuas.R")
Se crea una función de densidad por decir función de gauss. \[ f(x) =1 - \frac{x}{2} \]
X debe estar entre un intervalo de $0 $ y \(2\)
Para generar una probabilidad; para todo valor diferente de este intervalo la probabilidad es cero.
\[ f(x) = 1 - \frac{x}{2} \]
\[ f(x) = \begin{cases} {1 - \frac{x}{2}} & \text{:if } (0 \leq x \leq 2)\\ 0 & \text{:en cualquier otro caso} \end{cases} \]
minimo <- 0
maximo <- 2
f_dens <- function(x) {
ifelse(0 <= x & x <= 2, 1 - x/2, 0) }
Se construyen datos con valores x e y con la función de densidad respectiva haciendo uso de la función.
Se inicializan los valores mínimo y máximo de la función. Se inicializan a y b que son el intervalo de la probabilidad.
Se generan valores de una secuencia de valores numéricos que significan altura en centímetros y simulando el resultado de una encuesta a \(n\) mujeres en donde se les pregunta su estatura en centímetros.
Los datos solo se utilizan para construir los gráficos de densidad.
x <- c(-4, -3, -2, -1, 0, 0.5, 0.75, 1, 2, 2.1, 3)
a <- 0.5
b <- 1.0
Se presentan solo los primeros y últimos 20 registros de la simulación de la encuesta.
La estructura de los datos son las coordenadas x e y; en la columna f se etiqueta como f(x) aquellos valores de x que están dentro del intervalo de los valores mínimos y máximos permisibles de la función; en la columna p aquellos valores que están dentro del intervalo de probabilidad [a, b] a calcular.
datos_graf <- f_crear_datos_graf(x = x, f_densidad = f_dens, minmax = c(minimo, maximo), intervalo = c(a, b) )
head(datos_graf, 20)
## x y f p
## 1 -4.00 0.000 0 0
## 2 -3.00 0.000 0 0
## 3 -2.00 0.000 0 0
## 4 -1.00 0.000 0 0
## 5 0.00 1.000 f(x) f(x)
## 6 0.50 0.750 f(x) P(x)
## 7 0.75 0.625 f(x) P(x)
## 8 1.00 0.500 f(x) P(x)
## 9 2.00 0.000 f(x) f(x)
## 10 2.10 0.000 0 0
## 11 3.00 0.000 0 0
tail(datos_graf, 20)
## x y f p
## 1 -4.00 0.000 0 0
## 2 -3.00 0.000 0 0
## 3 -2.00 0.000 0 0
## 4 -1.00 0.000 0 0
## 5 0.00 1.000 f(x) f(x)
## 6 0.50 0.750 f(x) P(x)
## 7 0.75 0.625 f(x) P(x)
## 8 1.00 0.500 f(x) P(x)
## 9 2.00 0.000 f(x) f(x)
## 10 2.10 0.000 0 0
## 11 3.00 0.000 0 0
g <- f_graf_dens_ggplot(f_dens = f_dens, datos = datos_graf)
g
¿Cuánto vale el área en color azul si toda el área en color rosa vale 1.0?
¿Cuál es la probabilidad de que el valor de x esté entre a y b, es decir entre 0.5 y 1.0?
\[ P(a \leq x \leq b) = \int_{a}^{b} f(x) dx = \int_{a}^{b} (1 - x/2) dx \]
\[ \int_{0.5}^{1.0} (1 - x/2) dx \]
Se inicializan a y b que son el intervalo de la probabilidad. Ya se tiene a y b.
print(a)
## [1] 0.5
print(b)
## [1] 1
# Se calcula la integral de f(x) en el intervalo proporcionado con a y b
resultado <- integrate(f = f_dens, a, b)
# Se obtiene la probabilidad P(x) en el intervalo [a, b]
probabilidad <- round(resultado$value * 100, 4)
paste("La probabilidad de que x esté entre ", a , " y ", b, " es de ", probabilidad, "%, aproximadamente")
## [1] "La probabilidad de que x esté entre 0.5 y 1 es de 31.25 %, aproximadamente"
paste("El error absoluto es de ", round(resultado$abs.error, 4))
## [1] "El error absoluto es de 0"
VE <- f_valor_esperado(f_densidad = f_dens, minimo = minimo, maximo = maximo)
paste("El valor esperado de x en esta función es aproximadamente de : ", round(VE$value, 4))
## [1] "El valor esperado de x en esta función es aproximadamente de : 0.6667"
paste("Con un error absoluto aproximado de : ", round(VE$abs.error, 4))
## [1] "Con un error absoluto aproximado de : 0"
varianza <- f_varianza(f_densidad = f_dens, VE = VE$value, minimo = minimo, maximo = maximo)
paste("La varianza de x de la función de densidad es aproximadamente de ", round(varianza$value, 4))
## [1] "La varianza de x de la función de densidad es aproximadamente de 0.2222"
paste("Con un error absoluto aproximado de : ", round(varianza$abs.error, 4))
## [1] "Con un error absoluto aproximado de : 0"
desv.std <- round(sqrt(varianza$value), 4)
paste("La desviación estándar de x de la función de densidad es aproximadamente de ", desv.std)
## [1] "La desviación estándar de x de la función de densidad es aproximadamente de 0.4714"
f_dens <- function(x) {
ifelse(x > 0 & x <= 4, (x / 4) * (1 + log(4 / x)), 0)
}
F_acumulada_scalar <- function(x) {
if (x == 0) return(0)
integrate(f_dens, lower = 0, upper = x)$value
}
F_acumulada <- Vectorize(F_acumulada_scalar)
x_values <- seq(0, 4, length.out = 100)
F_values <- F_acumulada(x_values)
plot(x_values, F_values, type = "l", col = "blue", lwd = 2,
xlab = "x", ylab = "F(x)", main = "Función Acumulada F(x)")
grid()
Se cargan los datos de estatura de mujeres del estado de Durango.
datos <- read.csv("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/datos/datos_estaturas_edad_mujeres_durango.csv")
str(datos)
## 'data.frame': 296 obs. of 4 variables:
## $ estatura: num 151 154 162 152 153 ...
## $ genero : int 2 2 2 2 2 2 2 2 2 2 ...
## $ entidad : int 10 10 10 10 10 10 10 10 10 10 ...
## $ edad : int 54 48 43 33 36 59 54 25 29 43 ...
La media de los datos de la variable de interés es de 157.4 cms. de altura de las mujeres con una desviación estándar de 6.22.
En el conjunto de los datos existe 28 valores sin NA’s que significa que son valores no capturados correctamente desde origen de los datos.
media <- round(mean(datos$estatura, na.rm = TRUE), 4)
desv.std <- round(sd(datos$estatura, na.rm = TRUE), 4)
summary(datos$estatura)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 140.2 152.5 156.9 157.1 161.5 173.5
paste("La media aritmética de estatura es: ", media, "; con desviación estándar de: ", desv.std)
## [1] "La media aritmética de estatura es: 157.0905 ; con desviación estándar de: 6.2227"
Se crea una función de densidad por decir función de gauss. \[ f(x) =\frac{1}{\sigma \cdot \sqrt{2 \cdot \pi}}\cdot e ^{\frac{-1}{2}\cdot ( \frac {x - \mu}{\sigma}) ^2} \]
en donde: \(\pi = 3.14159\) y \(e = 2.71828\) y se conoce la media de los datos \(154.7\) y la desviación estándar de \(6.22\).
X debe estar entre un intervalo de \(-\infty\) y \(\infty\) o para estar en contexto dejarlo en \(100\) y \(220\) cms.
Para generar una probabilidad; para todo valor diferente de este intervalo la probabilidad es cero.
\[ f(x) = f(x) =\frac{1}{\sigma \cdot \sqrt{2 \cdot \pi}}\cdot e ^{\frac{-1}{2}\cdot ( \frac {x - \mu}{\sigma}) ^2} \therefore \]
\[ f(x) = \begin{cases} {f(x) =\frac{1}{\sigma \cdot \sqrt{2 \cdot \pi}}\cdot e ^{\frac{-1}{2}\cdot ( \frac {x - \mu}{\sigma}) ^2} } & \text{:if } (100 \leq x \leq 220)\\ 0 & \text{:en cualquier otro caso} \end{cases} \]
minimo <- 100
maximo <- 220
f_dens <- function(x) {
ifelse(minimo <= x & x <= maximo, (exp(1)^(-(x - media)^2 / (2 * desv.std^2))) / (desv.std * sqrt(2 * pi)), 0) }
Se construyen datos con valores x e y con la función de densidad respectiva haciendo uso de la función.
Se inicializan los valores mínimo y máximo de la función. Se inicializan a y b que son el intervalo de la probabilidad.
Por ejemplo, en el ejercicio de la estatura de mujeres los valores mínimos y máximos serían 100 y 220 respectivamente; con respecto al intervalo de probabilidad [a, b] este será de 155 y 165 respectivamente.
Se generan valores de una secuencia de valores numéricos que significan altura en centímetros y simulando el resultado de una encuesta a \(n\) mujeres en donde se les pregunta su estatura en centímetros.
Los datos solo se utilizan para construir los gráficos de densidad; se incluye en las estaturas los valores mínimos y máximos.
x <- seq(minimo-1, maximo + 1, 0.05)
head(x); tail(x)
## [1] 99.00 99.05 99.10 99.15 99.20 99.25
## [1] 220.75 220.80 220.85 220.90 220.95 221.00
a <- 155
b <- 165
Se presentan solo los primeros y últimos 20 registros de la simulación de la encuesta.
La estructura de los datos son las coordenadas x e y; en la columna f se etiqueta como f(x) aquellos valores de x que están dentro del intervalo de los valores mínimos y máximos permisibles de la función; en la columna p aquellos valores que están dentro del intervalo de probabilidad [a, b] a calcular.
datos_graf <- f_crear_datos_graf(x = x, f_densidad = f_dens, minmax = c(minimo, maximo), intervalo = c(a, b) )
head(datos_graf, 20)
## x y f p
## 1 99.00 0 0 0
## 2 99.05 0 0 0
## 3 99.10 0 0 0
## 4 99.15 0 0 0
## 5 99.20 0 0 0
## 6 99.25 0 0 0
## 7 99.30 0 0 0
## 8 99.35 0 0 0
## 9 99.40 0 0 0
## 10 99.45 0 0 0
## 11 99.50 0 0 0
## 12 99.55 0 0 0
## 13 99.60 0 0 0
## 14 99.65 0 0 0
## 15 99.70 0 0 0
## 16 99.75 0 0 0
## 17 99.80 0 0 0
## 18 99.85 0 0 0
## 19 99.90 0 0 0
## 20 99.95 0 0 0
tail(datos_graf, 20)
## x y f p
## 2422 220.05 0 0 0
## 2423 220.10 0 0 0
## 2424 220.15 0 0 0
## 2425 220.20 0 0 0
## 2426 220.25 0 0 0
## 2427 220.30 0 0 0
## 2428 220.35 0 0 0
## 2429 220.40 0 0 0
## 2430 220.45 0 0 0
## 2431 220.50 0 0 0
## 2432 220.55 0 0 0
## 2433 220.60 0 0 0
## 2434 220.65 0 0 0
## 2435 220.70 0 0 0
## 2436 220.75 0 0 0
## 2437 220.80 0 0 0
## 2438 220.85 0 0 0
## 2439 220.90 0 0 0
## 2440 220.95 0 0 0
## 2441 221.00 0 0 0
g <- f_graf_dens_ggplot(f_dens = f_dens, datos = datos_graf)
g
¿Cuánto vale el área en color azul si toda el área en color rosa vale 1.0?
¿Cuál es la probabilidad de que el valor de x esté entre a y b, es decir entre 155 y 165?
\[ P(a \leq x \leq b) = \int_{a}^{b} f(x) dx = \int_{a}^{b} \frac{1}{\sigma \cdot \sqrt{2 \cdot \pi}}\cdot e ^{\frac{-1}{2}\cdot ( \frac {x - \mu}{\sigma}) ^2} dx \]
\[ \int_{155}^{165} \frac{1}{\sigma \cdot \sqrt{2 \cdot \pi}}\cdot e ^{\frac{-1}{2}\cdot ( \frac {x - \mu}{\sigma}) ^2} dx \]
Se inicializan a y b que son el intervalo de la probabilidad. Ya se tiene a y b.
print(a)
## [1] 155
print(b)
## [1] 165
# Se calcula la integral de f(x) en el intervalo proporcionado con a y b
resultado <- integrate(f = f_dens, a, b)
# Se obtiene la probabilidad P(x) en el intervalo [a, b]
probabilidad <- round(resultado$value * 100, 4)
paste("La probabilidad de que x esté entre ", a , " y ", b, " es de ", probabilidad, "%, aproximadamente")
## [1] "La probabilidad de que x esté entre 155 y 165 es de 52.9693 %, aproximadamente"
paste("El error absoluto es de ", round(resultado$abs.error, 4))
## [1] "El error absoluto es de 0"
VE <- f_valor_esperado(f_densidad = f_dens, minimo = minimo, maximo = maximo)
paste("El valor esperado de x en esta función es aproximadamente de : ", round(VE$value, 4))
## [1] "El valor esperado de x en esta función es aproximadamente de : 157.0905"
paste("Con un error absoluto aproximado de : ", round(VE$abs.error, 4))
## [1] "Con un error absoluto aproximado de : 0.0163"
varianza <- f_varianza(f_densidad = f_dens, VE = VE$value, minimo = minimo, maximo = maximo)
paste("La varianza de x de la función de densidad es aproximadamente de ", round(varianza$value, 4))
## [1] "La varianza de x de la función de densidad es aproximadamente de 38.722"
paste("Con un error absoluto aproximado de : ", round(varianza$abs.error, 4))
## [1] "Con un error absoluto aproximado de : 0"
desv.std <- round(sqrt(varianza$value), 4)
paste("La desviación estándar de x de la función de densidad es aproximadamente de ", desv.std)
## [1] "La desviación estándar de x de la función de densidad es aproximadamente de 6.2227"
La distribución de la cantidad de grava (en toneladas) que vende a una empresa constructora en una semana se comporta una función continua:
[@unam]
\[ f(x) =\frac{3}{2}\cdot(1-x^{2}) \]
X debe estar entre un intervalo de \(0\) y \(1\)
Para generar una probabilidad; para todo valor diferente de este intervalo la probabilidad es cero.
\[ f(x) = f(x) =\frac{3}{2}\cdot(1-x^{2}) \therefore \]
\[ f(x) = \begin{cases} {f(x) =\frac{3}{2}\cdot(1-x^{2}) } & \text{:if } (0 \leq x \leq 1)\\ 0 & \text{:en cualquier otro caso} \end{cases} \]
f_dens <- function(x) {
ifelse(0 <= x & x <= 1, (3/2) * (1 -x ^2), 0) }
Se construyen datos con valores x e y con la función de densidad respectiva haciendo uso de la función.
Se inicializan los valores mínimo y máximo de la función. Se inicializan a y b que son el intervalo de la probabilidad.
Por ejemplo, en el ejercicio de la constructora los valores mínimos y máximos serían 0 y 1 respectivamente; con respecto al intervalo de probabilidad [a, b] este será de 0.40 y 0.60 respectivamente.
Los datos solo se utilizan para construir los gráficos de densidad; se incluye en las estaturas los valores y máximos.
minimo <- 0
maximo <- 1
x <- seq(minimo-1, maximo + 1, 0.1)
x
## [1] -1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4
## [16] 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
## [31] 2.0
a <- 0.40
b <- 0.60
La estructura de los datos son las coordenadas x e y; en la columna f se etiqueta como f(x) aquellos valores de x que están dentro del intervalo de los valores mínimos y máximos permisibles de la función; en la columna p aquellos valores que están dentro del intervalo de probabilidad [a, b] a calcular.
datos_graf <- f_crear_datos_graf(x = x, f_densidad = f_dens, minmax = c(minimo, maximo), intervalo = c(a, b) )
head(datos_graf, 20)
## x y f p
## 1 -1.0 0.000 0 0
## 2 -0.9 0.000 0 0
## 3 -0.8 0.000 0 0
## 4 -0.7 0.000 0 0
## 5 -0.6 0.000 0 0
## 6 -0.5 0.000 0 0
## 7 -0.4 0.000 0 0
## 8 -0.3 0.000 0 0
## 9 -0.2 0.000 0 0
## 10 -0.1 0.000 0 0
## 11 0.0 1.500 f(x) f(x)
## 12 0.1 1.485 f(x) f(x)
## 13 0.2 1.440 f(x) f(x)
## 14 0.3 1.365 f(x) f(x)
## 15 0.4 1.260 f(x) P(x)
## 16 0.5 1.125 f(x) P(x)
## 17 0.6 0.960 f(x) f(x)
## 18 0.7 0.765 f(x) f(x)
## 19 0.8 0.540 f(x) f(x)
## 20 0.9 0.285 f(x) f(x)
tail(datos_graf, 20)
## x y f p
## 12 0.1 1.485 f(x) f(x)
## 13 0.2 1.440 f(x) f(x)
## 14 0.3 1.365 f(x) f(x)
## 15 0.4 1.260 f(x) P(x)
## 16 0.5 1.125 f(x) P(x)
## 17 0.6 0.960 f(x) f(x)
## 18 0.7 0.765 f(x) f(x)
## 19 0.8 0.540 f(x) f(x)
## 20 0.9 0.285 f(x) f(x)
## 21 1.0 0.000 f(x) f(x)
## 22 1.1 0.000 0 0
## 23 1.2 0.000 0 0
## 24 1.3 0.000 0 0
## 25 1.4 0.000 0 0
## 26 1.5 0.000 0 0
## 27 1.6 0.000 0 0
## 28 1.7 0.000 0 0
## 29 1.8 0.000 0 0
## 30 1.9 0.000 0 0
## 31 2.0 0.000 0 0
g <- f_graf_dens_ggplot(f_dens = f_dens, datos = datos_graf)
g
¿Como se comporta la curva de densidad?
¿Cuál es la probabilidad de vender cuando \(x\) está entre \(0.40\) a \(0.60\)?
¿Cuál es el valor medio que espera vender la constructora?. Valor esperado
¿Cuánto puede variar?, Desviación estándar
Se inicializan a y b que son el intervalo de la probabilidad. Ya se tiene a y b.
print(a)
## [1] 0.4
print(b)
## [1] 0.6
# Se calcula la integral de f(x) en el intervalo proporcionado con a y b
resultado <- integrate(f = f_dens, a, b)
# Se obtiene la probabilidad P(x) en el intervalo [a, b]
probabilidad <- round(resultado$value * 100, 4)
paste("La probabilidad de que x esté entre ", a , " y ", b, " es de ", probabilidad, "%, aproximadamente")
## [1] "La probabilidad de que x esté entre 0.4 y 0.6 es de 22.4 %, aproximadamente"
paste("El error absoluto es de ", round(resultado$abs.error, 4))
## [1] "El error absoluto es de 0"
VE <- f_valor_esperado(f_densidad = f_dens, minimo = minimo, maximo = maximo)
paste("El valor esperado de x en esta función es aproximadamente de : ", round(VE$value, 4))
## [1] "El valor esperado de x en esta función es aproximadamente de : 0.375"
paste("Con un error absoluto aproximado de : ", round(VE$abs.error, 4))
## [1] "Con un error absoluto aproximado de : 0"
0.375 significa lo que se espera vender de grava en la semana.
varianza <- f_varianza(f_densidad = f_dens, VE = VE$value, minimo = minimo, maximo = maximo)
paste("La varianza de x de la función de densidad es aproximadamente de ", round(varianza$value, 4))
## [1] "La varianza de x de la función de densidad es aproximadamente de 0.0594"
paste("Con un error absoluto aproximado de : ", round(varianza$abs.error, 4))
## [1] "Con un error absoluto aproximado de : 0"
desv.std <- round(sqrt(varianza$value), 4)
paste("La desviación estándar de x de la función de densidad es aproximadamente de ", desv.std)
## [1] "La desviación estándar de x de la función de densidad es aproximadamente de 0.2437"
[@pizarro_variable_nodate]
[@pizarro_variables_nodate-1]
[@pizarro_variables_nodate]
Desarrollar ejercicio de la siguiente función de densidad:
\[ f(x) = \frac{x}{4}\cdot(1+ln(\frac{4}{x})) \]
La función log() calcula el logaritmo natural o neperiano.
Se solicita:
\[ f(x) = \begin{cases} {\frac{x}{4}\cdot(1+ln(\frac{4}{x}))} & \text{:if } (0 \leq x \leq 4)\\ 0 & \text{:en cualquier otro caso} \end{cases} \]
f_dens <- function(x) {
ifelse (0 <= x & x <= 4, (x/4) * (1 + log(4/x)), 0)
}
x <- seq(-1, 4.5, 0.1)
x
## [1] -1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4
## [16] 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9
## [31] 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4
## [46] 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5
minimo <- 0
maximo <- 4
# Probabilidad x <= 1
a <- 0
b <- 1
datos_graf <- f_crear_datos_graf(x = x, f_densidad = f_dens, minmax = c(minimo, maximo), intervalo = c(a, b) )
## Warning in log(4/x): NaNs produced
head(datos_graf, 20)
## x y f p
## 1 -1.0 0.0000000 0 0
## 2 -0.9 0.0000000 0 0
## 3 -0.8 0.0000000 0 0
## 4 -0.7 0.0000000 0 0
## 5 -0.6 0.0000000 0 0
## 6 -0.5 0.0000000 0 0
## 7 -0.4 0.0000000 0 0
## 8 -0.3 0.0000000 0 0
## 9 -0.2 0.0000000 0 0
## 10 -0.1 0.0000000 0 0
## 11 0.0 NaN f(x) P(x)
## 12 0.1 0.1172220 f(x) P(x)
## 13 0.2 0.1997866 f(x) P(x)
## 14 0.3 0.2692700 f(x) P(x)
## 15 0.4 0.3302585 f(x) P(x)
## 16 0.5 0.3849302 f(x) P(x)
## 17 0.6 0.4345680 f(x) P(x)
## 18 0.7 0.4800196 f(x) P(x)
## 19 0.8 0.5218876 f(x) P(x)
## 20 0.9 0.5606223 f(x) P(x)
tail(datos_graf, 20)
## x y f p
## 37 2.6 0.9300089 f(x) f(x)
## 38 2.7 0.9403037 f(x) f(x)
## 39 2.8 0.9496725 f(x) f(x)
## 40 2.9 0.9581481 f(x) f(x)
## 41 3.0 0.9657616 f(x) f(x)
## 42 3.1 0.9725415 f(x) f(x)
## 43 3.2 0.9785148 f(x) f(x)
## 44 3.3 0.9837068 f(x) f(x)
## 45 3.4 0.9881411 f(x) f(x)
## 46 3.5 0.9918400 f(x) f(x)
## 47 3.6 0.9948245 f(x) f(x)
## 48 3.7 0.9971144 f(x) f(x)
## 49 3.8 0.9987286 f(x) f(x)
## 50 3.9 0.9996849 f(x) f(x)
## 51 4.0 1.0000000 f(x) f(x)
## 52 4.1 0.0000000 0 0
## 53 4.2 0.0000000 0 0
## 54 4.3 0.0000000 0 0
## 55 4.4 0.0000000 0 0
## 56 4.5 0.0000000 0 0
g <- f_graf_dens_ggplot(f_dens = f_dens, datos = datos_graf)
g
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_align()`).
# Se calcula la integral de f(x) en el intervalo proporcionado con a y b
resultado <- integrate(f = f_dens, a, b)
# Se obtiene la probabilidad P(x) en el intervalo [a, b]
probabilidad <- round(resultado$value * 100, 4)
paste("La probabilidad de que x esté entre ", a , " y ", b, " es de ", probabilidad, "%, aproximadamente")
## [1] "La probabilidad de que x esté entre 0 y 1 es de 36.0787 %, aproximadamente"
paste("El error absoluto es de ", round(resultado$abs.error, 4))
## [1] "El error absoluto es de 1e-04"
minimo <- 0
maximo <- 4
# Probabilidad 1 <= x <= 3
a <- 1
b <- 3
datos_graf <- f_crear_datos_graf(x = x, f_densidad = f_dens, minmax = c(minimo, maximo), intervalo = c(a, b) )
## Warning in log(4/x): NaNs produced
head(datos_graf, 20)
## x y f p
## 1 -1.0 0.0000000 0 0
## 2 -0.9 0.0000000 0 0
## 3 -0.8 0.0000000 0 0
## 4 -0.7 0.0000000 0 0
## 5 -0.6 0.0000000 0 0
## 6 -0.5 0.0000000 0 0
## 7 -0.4 0.0000000 0 0
## 8 -0.3 0.0000000 0 0
## 9 -0.2 0.0000000 0 0
## 10 -0.1 0.0000000 0 0
## 11 0.0 NaN f(x) f(x)
## 12 0.1 0.1172220 f(x) f(x)
## 13 0.2 0.1997866 f(x) f(x)
## 14 0.3 0.2692700 f(x) f(x)
## 15 0.4 0.3302585 f(x) f(x)
## 16 0.5 0.3849302 f(x) f(x)
## 17 0.6 0.4345680 f(x) f(x)
## 18 0.7 0.4800196 f(x) f(x)
## 19 0.8 0.5218876 f(x) f(x)
## 20 0.9 0.5606223 f(x) f(x)
tail(datos_graf, 20)
## x y f p
## 37 2.6 0.9300089 f(x) P(x)
## 38 2.7 0.9403037 f(x) P(x)
## 39 2.8 0.9496725 f(x) P(x)
## 40 2.9 0.9581481 f(x) P(x)
## 41 3.0 0.9657616 f(x) P(x)
## 42 3.1 0.9725415 f(x) f(x)
## 43 3.2 0.9785148 f(x) f(x)
## 44 3.3 0.9837068 f(x) f(x)
## 45 3.4 0.9881411 f(x) f(x)
## 46 3.5 0.9918400 f(x) f(x)
## 47 3.6 0.9948245 f(x) f(x)
## 48 3.7 0.9971144 f(x) f(x)
## 49 3.8 0.9987286 f(x) f(x)
## 50 3.9 0.9996849 f(x) f(x)
## 51 4.0 1.0000000 f(x) f(x)
## 52 4.1 0.0000000 0 0
## 53 4.2 0.0000000 0 0
## 54 4.3 0.0000000 0 0
## 55 4.4 0.0000000 0 0
## 56 4.5 0.0000000 0 0
g <- f_graf_dens_ggplot(f_dens = f_dens, datos = datos_graf)
g
## Warning: Removed 1 row containing non-finite outside the scale range
## (`stat_align()`).
# Se calcula la integral de f(x) en el intervalo proporcionado con a y b
resultado <- integrate(f = f_dens, a, b)
# Se obtiene la probabilidad P(x) en el intervalo [a, b]
probabilidad <- round(resultado$value * 100, 4)
paste("La probabilidad de que x esté entre ", a , " y ", b, " es de ", probabilidad, "%, aproximadamente")
## [1] "La probabilidad de que x esté entre 1 y 3 es de 165.0356 %, aproximadamente"
paste("El error absoluto es de ", round(resultado$abs.error, 4))
## [1] "El error absoluto es de 0"
VE <- f_valor_esperado(f_densidad = f_dens, minimo = minimo, maximo = maximo)
paste("El valor esperado de x en esta función es aproximadamente de : ", round(VE$value, 4))
## [1] "El valor esperado de x en esta función es aproximadamente de : 7.1111"
paste("Con un error absoluto aproximado de : ", round(VE$abs.error, 4))
## [1] "Con un error absoluto aproximado de : 0"
7.1111111 significa el valor que se espera en promedio de acuerdo a la función.
varianza <- f_varianza(f_densidad = f_dens, VE = VE$value, minimo = minimo, maximo = maximo)
paste("La varianza de x de la función de densidad es aproximadamente de ", round(varianza$value, 4))
## [1] "La varianza de x de la función de densidad es aproximadamente de 70.5679"
paste("Con un error absoluto aproximado de : ", round(varianza$abs.error, 4))
## [1] "Con un error absoluto aproximado de : 0.0053"
desv.std <- round(sqrt(varianza$value), 4)
paste("La desviación estándar de x de la función de densidad es aproximadamente de ", desv.std)
## [1] "La desviación estándar de x de la función de densidad es aproximadamente de 8.4005"
Elaborar ideas acerca del caso por lo menos 100 palabras …
El último ejercicio genera valores infinitos por ejemplo cuando x es 0 \(f(x = 0)\) el valor de la función de densidad es infinito. De tal forma que es posible que no sea como tal una función de densidad.
De igual forma al ser posible que no sea una función de densidad se presume que sea la razón del porqué genera una probabilidad mayor que 1 en el intervalo de 1 a 3.