transformada inversa

El método de la transformada inversa es una técnica utilizada para recuperar una función en su dominio original (como el tiempo o el espacio) a partir de su representación en un dominio transformado (como el de Laplace, Fourier o Z). Es ampliamente aplicado en la resolución de ecuaciones diferenciales, análisis de señales y sistemas dinámicos.

*ejemplo de generar variables aleatorias de una exponencial con parametro \(\beta = 3\)

a <- 317 
c <- 15  
m <- 571
X_n <- 41 # semilla
random.number<-numeric(100) # vector numérico de longitud 50
 for (i in 1:100)
   {X_n<-(a*X_n+c)%%m
   random.number[i]<-X_n/m # números en el intervalo [0,1]
   }
 random.number
##   [1] 0.78809107 0.85113835 0.83712785 0.39579685 0.49387040 0.58318739
##   [7] 0.89667250 0.27145359 0.07705779 0.45359019 0.81436077 0.17863398
##  [13] 0.65323993 0.10332750 0.78108581 0.63047285 0.88616462 0.94045534
##  [19] 0.15061296 0.77057793 0.29947461 0.95971979 0.25744308 0.63572680
##  [25] 0.55166375 0.90367776 0.49211909 0.02802102 0.90893170 0.15761821
##  [31] 0.99124343 0.25043783 0.41506130 0.60070053 0.44833625 0.14886165
##  [37] 0.21541156 0.31173380 0.84588441 0.17162872 0.43257443 0.15236427
##  [43] 0.32574431 0.28721541 0.07355517 0.34325744 0.83887916 0.95096322
##  [49] 0.48161121 0.69702277 0.98248687 0.47460595 0.47635727 0.03152364
##  [55] 0.01926445 0.13309982 0.21891419 0.42206655 0.82136602 0.39929947
##  [61] 0.60420315 0.55866900 0.12434326 0.44308231 0.48336252 0.25218914
##  [67] 0.97022767 0.58844133 0.56217163 0.23467601 0.41856392 0.71103327
##  [73] 0.42381786 0.37653240 0.38704028 0.71803853 0.64448336 0.32749562
##  [79] 0.84238179 0.06129597 0.45709282 0.92469352 0.15411559 0.88091068
##  [85] 0.27495622 0.18739054 0.42907180 0.04203152 0.35026270 0.05954466
##  [91] 0.90192644 0.93695271 0.04028021 0.79509632 0.07180385 0.78809107
##  [97] 0.85113835 0.83712785 0.39579685 0.49387040
# generando una variable exponencial con beta = 3
x <- -3*log(1-random.number)
round(x,1) # redondeando a una cifra decimal
##   [1]  4.7  5.7  5.4  1.5  2.0  2.6  6.8  1.0  0.2  1.8  5.1  0.6  3.2  0.3  4.6
##  [16]  3.0  6.5  8.5  0.5  4.4  1.1  9.6  0.9  3.0  2.4  7.0  2.0  0.1  7.2  0.5
##  [31] 14.2  0.9  1.6  2.8  1.8  0.5  0.7  1.1  5.6  0.6  1.7  0.5  1.2  1.0  0.2
##  [46]  1.3  5.5  9.0  2.0  3.6 12.1  1.9  1.9  0.1  0.1  0.4  0.7  1.6  5.2  1.5
##  [61]  2.8  2.5  0.4  1.8  2.0  0.9 10.5  2.7  2.5  0.8  1.6  3.7  1.7  1.4  1.5
##  [76]  3.8  3.1  1.2  5.5  0.2  1.8  7.8  0.5  6.4  1.0  0.6  1.7  0.1  1.3  0.2
##  [91]  7.0  8.3  0.1  4.8  0.2  4.7  5.7  5.4  1.5  2.0
data.frame(1:length(random.number),random.number,round(x,1))
##     X1.length.random.number. random.number round.x..1.
## 1                          1    0.78809107         4.7
## 2                          2    0.85113835         5.7
## 3                          3    0.83712785         5.4
## 4                          4    0.39579685         1.5
## 5                          5    0.49387040         2.0
## 6                          6    0.58318739         2.6
## 7                          7    0.89667250         6.8
## 8                          8    0.27145359         1.0
## 9                          9    0.07705779         0.2
## 10                        10    0.45359019         1.8
## 11                        11    0.81436077         5.1
## 12                        12    0.17863398         0.6
## 13                        13    0.65323993         3.2
## 14                        14    0.10332750         0.3
## 15                        15    0.78108581         4.6
## 16                        16    0.63047285         3.0
## 17                        17    0.88616462         6.5
## 18                        18    0.94045534         8.5
## 19                        19    0.15061296         0.5
## 20                        20    0.77057793         4.4
## 21                        21    0.29947461         1.1
## 22                        22    0.95971979         9.6
## 23                        23    0.25744308         0.9
## 24                        24    0.63572680         3.0
## 25                        25    0.55166375         2.4
## 26                        26    0.90367776         7.0
## 27                        27    0.49211909         2.0
## 28                        28    0.02802102         0.1
## 29                        29    0.90893170         7.2
## 30                        30    0.15761821         0.5
## 31                        31    0.99124343        14.2
## 32                        32    0.25043783         0.9
## 33                        33    0.41506130         1.6
## 34                        34    0.60070053         2.8
## 35                        35    0.44833625         1.8
## 36                        36    0.14886165         0.5
## 37                        37    0.21541156         0.7
## 38                        38    0.31173380         1.1
## 39                        39    0.84588441         5.6
## 40                        40    0.17162872         0.6
## 41                        41    0.43257443         1.7
## 42                        42    0.15236427         0.5
## 43                        43    0.32574431         1.2
## 44                        44    0.28721541         1.0
## 45                        45    0.07355517         0.2
## 46                        46    0.34325744         1.3
## 47                        47    0.83887916         5.5
## 48                        48    0.95096322         9.0
## 49                        49    0.48161121         2.0
## 50                        50    0.69702277         3.6
## 51                        51    0.98248687        12.1
## 52                        52    0.47460595         1.9
## 53                        53    0.47635727         1.9
## 54                        54    0.03152364         0.1
## 55                        55    0.01926445         0.1
## 56                        56    0.13309982         0.4
## 57                        57    0.21891419         0.7
## 58                        58    0.42206655         1.6
## 59                        59    0.82136602         5.2
## 60                        60    0.39929947         1.5
## 61                        61    0.60420315         2.8
## 62                        62    0.55866900         2.5
## 63                        63    0.12434326         0.4
## 64                        64    0.44308231         1.8
## 65                        65    0.48336252         2.0
## 66                        66    0.25218914         0.9
## 67                        67    0.97022767        10.5
## 68                        68    0.58844133         2.7
## 69                        69    0.56217163         2.5
## 70                        70    0.23467601         0.8
## 71                        71    0.41856392         1.6
## 72                        72    0.71103327         3.7
## 73                        73    0.42381786         1.7
## 74                        74    0.37653240         1.4
## 75                        75    0.38704028         1.5
## 76                        76    0.71803853         3.8
## 77                        77    0.64448336         3.1
## 78                        78    0.32749562         1.2
## 79                        79    0.84238179         5.5
## 80                        80    0.06129597         0.2
## 81                        81    0.45709282         1.8
## 82                        82    0.92469352         7.8
## 83                        83    0.15411559         0.5
## 84                        84    0.88091068         6.4
## 85                        85    0.27495622         1.0
## 86                        86    0.18739054         0.6
## 87                        87    0.42907180         1.7
## 88                        88    0.04203152         0.1
## 89                        89    0.35026270         1.3
## 90                        90    0.05954466         0.2
## 91                        91    0.90192644         7.0
## 92                        92    0.93695271         8.3
## 93                        93    0.04028021         0.1
## 94                        94    0.79509632         4.8
## 95                        95    0.07180385         0.2
## 96                        96    0.78809107         4.7
## 97                        97    0.85113835         5.7
## 98                        98    0.83712785         5.4
## 99                        99    0.39579685         1.5
## 100                      100    0.49387040         2.0
hist(x, breaks = 20, probability = TRUE, col = "lightblue", ylim=c(0,0.35),  main = "Distribución Exponencial (beta = 3)",     xlab = "Valor de X")

# Añadimos la función de densidad teórica de la distribución exponencial
curve(dexp(x,rate=1/3), col = "red", lwd = 2, add = TRUE)

simulando variables aleatorias con funciones propias en R

1.Generando variable aleatoria uniforme

# Generar 100 variables aleatorias uniformes entre 0 y 1
uniform_random_01 <- runif(100, min = 0, max = 1)
uniform_random_01
##   [1] 0.69307839 0.44178771 0.96505387 0.01272711 0.72204983 0.09460366
##   [7] 0.89365205 0.36786057 0.22282338 0.80938056 0.48727819 0.76917817
##  [13] 0.23122946 0.92710933 0.03731363 0.31651590 0.58472115 0.88367333
##  [19] 0.15511364 0.03831342 0.78947403 0.42866174 0.77916643 0.68285716
##  [25] 0.76455107 0.29004537 0.52119715 0.74871531 0.08616541 0.76424895
##  [31] 0.57844629 0.98338911 0.12691402 0.78852292 0.23829188 0.18850274
##  [37] 0.91270549 0.64353601 0.90390493 0.59595506 0.35212939 0.63234473
##  [43] 0.55266797 0.51884906 0.37139298 0.14744593 0.17074327 0.57865692
##  [49] 0.43197393 0.94511559 0.04568378 0.11654225 0.10610302 0.11053247
##  [55] 0.06946390 0.54563128 0.07141110 0.72108312 0.09757573 0.55208576
##  [61] 0.73601296 0.70335015 0.86832608 0.05572673 0.04494824 0.24212732
##  [67] 0.95796105 0.33061716 0.99042850 0.50466249 0.28308966 0.59900315
##  [73] 0.24930927 0.93542202 0.43604724 0.22802693 0.17187396 0.55980249
##  [79] 0.67378081 0.95828966 0.03035574 0.24538272 0.80772150 0.31947545
##  [85] 0.53855566 0.61942527 0.58953725 0.23631447 0.01854073 0.91422453
##  [91] 0.34318677 0.37277225 0.40240763 0.89146425 0.63593076 0.66364856
##  [97] 0.48545579 0.95126488 0.75698218 0.52454314
  1. generando una variable aleatoria de una distribucion normal.
# Generar 100 variables normales con media 30 y desviación estándar 3.5
set.seed(123)
normal_random <- rnorm(150, mean = 30, sd = 3.5)
normal_random
##   [1] 28.03834 29.19438 35.45548 30.24678 30.45251 36.00273 31.61321 25.57229
##   [9] 27.59602 28.44018 34.28429 31.25935 31.40270 30.38739 28.05456 36.25420
##  [17] 31.74248 23.11684 32.45475 28.34523 26.26262 29.23709 26.40898 27.44888
##  [25] 27.81236 24.09657 32.93225 30.53681 26.01652 34.38835 31.49262 28.96725
##  [33] 33.13294 33.07347 32.87553 32.41024 31.93871 29.78331 28.92913 28.66835
##  [41] 27.56853 29.27229 25.57111 37.59135 34.22787 26.06912 28.58990 28.36671
##  [49] 32.72988 29.70821 30.88661 29.90009 29.84995 34.79011 29.20980 35.30765
##  [57] 24.57937 32.04615 30.43349 30.75580 31.32874 28.24187 28.83377 26.43499
##  [65] 26.24873 31.06235 31.56873 30.18551 33.22794 37.17530 28.28139 21.91791
##  [73] 33.52008 27.51780 27.59197 33.58950 29.00329 25.72749 30.63456 29.51388
##  [81] 30.02017 31.34848 28.70269 32.25532 29.22830 31.16124 33.83894 31.52314
##  [89] 28.85924 34.02083 33.47726 31.91939 30.83556 27.80233 34.76228 27.89909
##  [97] 37.65567 35.36414 29.17505 26.40753 27.51358 30.89909 29.13658 28.78360
## [105] 26.66934 29.84240 27.25283 24.16220 28.66921 33.21649 27.98629 32.12788
## [113] 24.33741 29.80553 31.81793 31.05404 30.36987 27.75753 27.02603 26.41555
## [121] 30.41176 26.68384 28.28305 29.10368 36.45352 27.71818 30.82385 30.27286
## [129] 26.63350 29.75042 35.05593 31.58026 30.14432 28.52126 22.81363 33.95968
## [137] 24.88776 32.58982 36.68186 24.94637 32.45625 29.08231 24.49750 24.69866
## [145] 24.39462 28.14183 24.88386 32.40771 37.35038 25.49539
hist(normal_random,col=5,main="grafico de la normal", xlim=c(10,45))

3. Generando variable aleatoria de una exponencial Para generar variables aleatorias con distribución exponencial con parámetro β . Ejemplo:

Simular El tiempo de servicio en una caja de un banco cuyo comportamiento sigue una forma exponencial con media de 3 minutos/cliente

numexp <- rexp(100,1/3)
round(numexp,1)
##   [1]  1.7 13.1  1.7  1.4  0.8  2.1  2.9  2.2  3.3  1.8  2.0  4.9  0.3  1.2  8.2
##  [16]  8.6  0.1  1.4  2.0  2.9  3.4  0.2  4.9  0.5  4.4  0.3  0.7  2.0  4.6  5.8
##  [31]  0.6  1.7  5.8 10.8  4.0  2.8  0.9  0.4  2.8  0.8  1.6  0.2  0.4  7.8  6.2
##  [46]  0.6  8.3  4.4  8.3  4.4  0.8  2.3  3.2  1.1  2.9  2.0  4.7  5.8  0.7 11.5
##  [61]  0.6  2.9  0.6  3.7  5.0  1.2  3.0  0.2  8.0  5.0  2.5  0.5  1.4  5.1  1.5
##  [76]  4.7  3.4  1.0  0.1  3.3  4.3  1.6  4.9  6.6  0.5  2.3  4.7  1.9  7.7  1.9
##  [91]  3.5  2.1  4.6  1.9  2.8  1.1  0.2  1.1  3.8  6.6
  1. Generando variable aleatoria de una Binomial.
binom_random <- rbinom(100,12,0.25)
binom_random
##   [1] 3 4 1 7 2 1 4 4 2 2 2 1 2 2 3 3 5 2 3 1 5 3 4 2 3 4 1 4 2 2 2 1 3 4 5 0 7
##  [38] 2 5 4 3 4 1 4 2 4 3 2 4 1 4 2 4 6 1 5 4 2 2 2 3 5 3 3 4 3 3 0 1 5 4 2 4 4
##  [75] 3 4 3 5 3 5 3 3 6 4 3 0 3 3 5 4 5 2 5 1 2 4 6 3 3 1
  1. Generando variables aleatorias de una Poisson.
evento_pois <- rpois(100,5)
tablapois <- table(evento_pois)
tablapois
## evento_pois
##  1  2  3  4  5  6  7  8  9 10 11 
##  4 12 11 15 15 15 14  8  3  2  1
evento_pois
##   [1] 10  2  2  8  5  4  8  1  3  6  3  4  3  7  3  7  4  4  6  2  1 11  5  7  8
##  [26]  6 10  2  8  7  7  4  2  4  4  7  4  4  6  7  5  6  2  3  9  6  7  4  5  7
##  [51]  8  4  2  6  6  2  4  5  6  8  5  5  6  7  8  2  5  4  7  7  2  6  3  2  9
##  [76]  3  6  3  1  5  2  4  4  5  7  3  5  5  6  6  7  8  9  5  5  3  5  3  1  6