{"id":149,"date":"2016-11-08T07:43:29","date_gmt":"2016-11-08T12:43:29","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/estg1003\/?p=149"},"modified":"2026-04-04T10:48:07","modified_gmt":"2026-04-04T15:48:07","slug":"proceso-aleatorio-discreto-python","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/stp-u01eva\/proceso-aleatorio-discreto-python\/","title":{"rendered":"Proceso Aleatorio Discreto - Ejemplos con Python"},"content":{"rendered":"\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group alignwide has-medium-font-size is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-23441af8 wp-block-group-is-layout-flex\">\n<p><a href=\"#procesodiscreto\" data-type=\"internal\" data-id=\"#procesodiscreto\">Proceso Discreto<\/a><\/p>\n\n\n\n<p><a href=\"#bitsruido\" data-type=\"internal\" data-id=\"#bitsruido\">Bits con ruido<\/a><\/p>\n\n\n\n<p><a href=\"#portadorafase\" data-type=\"internal\" data-id=\"#portadorafase\">Portadora fase aleatoria<\/a><\/p>\n\n\n\n<p><a href=\"#secuenciabits\" data-type=\"internal\" data-id=\"#secuenciabits\">Secuencia bits<\/a><\/p>\n\n\n\n<p><a href=\"#caminataaleatoria\" data-type=\"internal\" data-id=\"#caminataaleatoria\">caminata aleatoria<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"procesodiscreto\">1. Procesos discretos en el tiempo<\/h2>\n\n\n\n<p>Un proceso aleatorio discreto en el tiempo es una familia de variables aleatorias {X<sub>n<\/sub>}, donde a partir de <strong>n<\/strong> se define en un subgrupo de enteros.<\/p>\n\n\n\n<p>Por ejemplo:<\/p>\n\n\n\n<p>{X<sub>n<\/sub>, n=1, 2, ...}<\/p>\n\n\n\n<p>{X<sub>n<\/sub>, n=0, 1, 2, ...}<\/p>\n\n\n\n<p>{X<sub>n<\/sub>, n=0, \u00b1 1 , \u00b1 2 ...}<\/p>\n\n\n\n<p>Recordando que las variables aleatorias son funciones definidas en un espacio muestral <strong>S<\/strong>, se puede pensar en X<sub>n<\/sub>(\u03c9) en dos formas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para <strong>n<\/strong> fijos, X<sub>n<\/sub>(\u03c9) es funci\u00f3n de \u03c9 y por lo tanto una variable aleatoria.<\/li>\n\n\n\n<li>Para \u03c9 fija, se obtiene una secuencia de n\u00fameros X<sub>1<\/sub>(\u03c9), X<sub>2<\/sub>(\u03c9), X<sub>3<\/sub>(\u03c9), ... . Secuencia que se denomina una <strong> realizaci\u00f3n, camino muestral, o funci\u00f3n muestral<\/strong> del proceso aleatorio.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"bitsruido\">1.1 Ejemplo: Env\u00edo de bits sobre un canal con ruido<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Gubner 10.1 pdf\/p.383<\/p>\n\n\n\n<p>Enviar una secuencia de bits sobre un canal con ruido , los bits se invierten de forma independiente con probabilidad p.<\/p>\n\n\n\n<p>Sea:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>X<sub>n<\/sub>(\u03c9)=0 de otra forma.<\/li>\n\n\n\n<li>X<sub>n<\/sub>(\u03c9)=1 si se invierte el n-\u00e9simo bit y<\/li>\n<\/ul>\n\n\n\n<p>entonces {X<sub>n<\/sub>(\u03c9), n= 1, 2, ...} es una secuencia Bernoulli(p) i.i.d .<\/p>\n\n\n\n<p>Tres realizaciones del ruido se representan en la gr\u00e1fica del ejercicio anterior. Sin embargo, el resultado de la se\u00f1al X<sub>n<\/sub> afectada por el Ruido<sub>n<\/sub> como se ver\u00eda en el receptor se muestra a continuaci\u00f3n.<br><a href=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/ProcesoAleatorio02.png\"><img loading=\"lazy\" decoding=\"async\" width=\"670\" height=\"466\" class=\"alignnone size-full wp-image-151\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/ProcesoAleatorio02.png\" alt=\"\"><\/a><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Ejercicio: Env\u00edo de bits sobre un canal con ruido\n# Gubner 10.1 \n# propuesta: edelros@espol.edu.ec\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport scipy.stats as stats\n\n# INGRESO\nn = 25 \npcanal = 0.5\np = 0.2 # error o inversi\u00f3n de bit\n\n# PROCEDIMIENTO\n# muestras k\nk  = np.arange(1, n+1)\n\n# transmisor\nx     = stats.bernoulli.rvs(pcanal, size=n)\n# ruido del canal\nruido = stats.bernoulli.rvs(p, size=n)\n\n# En el receptor\nreceptor = np.zeros(len(x), dtype = int)\nfor i in range(0,len(x)):\n    if (ruido&#x5B;i] == 0):\n        receptor&#x5B;i] = x&#x5B;i]\n    if (ruido&#x5B;i] == 1):\n        # invierte el bit\n        if (x&#x5B;i] == 1):\n            receptor&#x5B;i] = 0\n        if (x&#x5B;i] == 0):\n            receptor&#x5B;i] = 1\n\n# SALIDA\nplt.suptitle('Bernoulli rango hasta n='+str(n))\n\n# trama de bits en transmisor\nplt.subplot(311)\nplt.stem(k,x)\nplt.ylabel('x')\nplt.margins(0.05)\n\n# ruido del canal\nplt.subplot(312)\nplt.stem(k,ruido,markerfmt='or')\nplt.ylabel('ruido')\nplt.margins(0.05)\n\n# Se\u00f1al recibida en receptor\nplt.subplot(313)\nplt.stem(k,receptor)\nplt.ylabel('receptor')\nplt.margins(0.05)\n\nplt.xlabel('k')\nplt.show()\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"procesocontinuo\">2. Procesos cont\u00ednuos en el tiempo<\/h2>\n\n\n\n<p>Un proceso aleatorio cont\u00ednuo en el tiempo es una familia de variables aleatorias {X<sub>t<\/sub>} donde <strong>t<\/strong> esta definido en un intervalo de tiempo.<\/p>\n\n\n\n<p>{X<sub>t<\/sub>, t \u2265 0}<br>{X<sub>t<\/sub>, 0 \u2264 t \u2264 T}<br>{X<sub>t<\/sub>, -\u221e \u2264 t \u2264 \u221e}<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"portadorafase\">2.1 Ejemplo: Portadora con fase aleatoria<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Gubner 10.5 pdf\/p.386<\/p>\n\n\n\n<p>En radio comunicaci\u00f3n, una se\u00f1al portadora se modela como una sinusoide con fase aleatoria. La raz\u00f3n para usar una fase aleatoria es que en receptor no se conoce cuando se encendi\u00f3 el transmisor o la distancia entre el transmisor y receptor, que son factores que afectan a la fase.<\/p>\n\n\n\n<p>El modelo matem\u00e1tico para \u00e9ste caso es el proceso aleatorio cont\u00ednuo en el tiempo, definido por:<\/p>\n\n\n\n<p class=\"has-text-align-center\">x<sub>t<\/sub> = cos(2\u03c0ft + \u03b8)<\/p>\n\n\n\n<p>donde f es la frecuencia de la portadora y \u03b8 es una variable aleatoria uniforme [-\u03c0, \u03c0].<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"672\" height=\"523\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/ProcesoAleatorio03.png\" alt=\"Proceso Aleatorio  gr\u00e1fica 03\" class=\"wp-image-152\" \/><\/figure>\n\n\n\n<p>Tres realizaciones del proceso que dan tres valores diferentes de \u03b8 y su efecto en la portadora se obtienen como:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Gubner 10.5 Portadora con fase aleatoria\n# propuesta: edelros@espol.edu.ec\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport scipy.stats as stats\n\n# ingreso\nn = 5\nf = 1\n\n# PROCEDIMIENTO\n# muestras ti\nt = np.arange(0,n,0.1)\n\n# genera muestras aleatorias con f: uniforme\ntheta = stats.uniform.rvs(loc=-np.pi, scale=2*np.pi ,size=3)\n\n# selales desfasadas\nxt0 = np.cos(2*np.pi*f*t + theta&#x5B;0])\nxt1 = np.cos(2*np.pi*f*t + theta&#x5B;1])\nxt2 = np.cos(2*np.pi*f*t + theta&#x5B;2])\n\n# SALIDA\nprint('theta: ',theta)\n\n# grafica\nplt.suptitle('Portadora')\n# grafica x0\nplt.subplot(311)\nplt.plot(t,xt0)\nplt.ylabel('x0')\nplt.margins(0.05)\n\n# grafica x1\nplt.subplot(312)\nplt.plot(t,xt1)\nplt.ylabel('x1')\nplt.margins(0.05)\n\n# grafica x2\nplt.subplot(313)\nplt.plot(t,xt2)\nplt.ylabel('x2')\nplt.margins(0.05)\n\nplt.xlabel('k')\nplt.show()\n<\/pre><\/div>\n\n\n<p><strong><em>Referencia<\/em><\/strong>: Gubner 10 pdf\/p.383, Le\u00f3n-Garc\u00eda 9.1 pdf\/p.488<\/p>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group alignwide has-medium-font-size is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-23441af8 wp-block-group-is-layout-flex\">\n<p><a href=\"#procesodiscreto\" data-type=\"internal\" data-id=\"#procesodiscreto\">Proceso Discreto<\/a><\/p>\n\n\n\n<p><a href=\"#bitsruido\" data-type=\"internal\" data-id=\"#bitsruido\">Bits con ruido<\/a><\/p>\n\n\n\n<p><a href=\"#portadorafase\" data-type=\"internal\" data-id=\"#portadorafase\">Portadora fase aleatoria<\/a><\/p>\n\n\n\n<p><a href=\"#secuenciabits\" data-type=\"internal\" data-id=\"#secuenciabits\">Secuencia bits<\/a><\/p>\n\n\n\n<p><a href=\"#caminataaleatoria\" data-type=\"internal\" data-id=\"#caminataaleatoria\">caminata aleatoria<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"secuenciabits\">3. Proceso aleatorio - Secuencia de bits Tx<\/h2>\n\n\n\n<p>Un proceso aleatorio o proceso estoc\u00e1stico es una familia de variables aleatorias.<\/p>\n\n\n\n<p>Por ejemplo, al enviar una secuencia de bits sobre un canal inal\u00e1mbrico, no existe un grupo predeterminado de bits a transmitir, que para modelar se usa una secuencia infinita de variables aleatorias.<\/p>\n\n\n\n<p>Tres realizaciones de X<sub>1<\/sub>, X<sub>2<\/sub>, ... se obtienen como:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"672\" height=\"523\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/05\/ProcesoAleatorio03.png\" alt=\"Proceso Aleatorio gr\u00e1fica 03\" class=\"wp-image-152\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Algoritmo en Python<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# secuencia de bits (trama)\n# propuesta: edelros@espol.edu.ec\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport scipy.stats as stats\n\n# ingreso\nn = 25 \np = 0.5\n\n# PROCEDIMIENTO\n# indice k\nk  = np.arange(1, n+1)\n\n# genera muestras de variable aleatoria con bernoulli\nx1 = stats.bernoulli.rvs(p, size=n)\nx2 = stats.bernoulli.rvs(p, size=n)\nx3 = stats.bernoulli.rvs(p, size=n)\n\n# SALIDA\nplt.suptitle('bernoulli rango hasta n='+str(n))\n\n# grafica X1\nplt.subplot(311)\nplt.stem(k,x1)\nplt.ylabel('x1')\nplt.margins(0.05)\n\n# grafica X2\nplt.subplot(312)\nplt.stem(k,x2)\nplt.ylabel('x2')\nplt.margins(0.05)\n\n# grafica X3\nplt.subplot(313)\nplt.stem(k,x3)\nplt.ylabel('x3')\nplt.margins(0.05)\n\nplt.xlabel('k')\nplt.show()\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group alignwide has-medium-font-size is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-23441af8 wp-block-group-is-layout-flex\">\n<p><a href=\"#procesodiscreto\" data-type=\"internal\" data-id=\"#procesodiscreto\">Proceso Discreto<\/a><\/p>\n\n\n\n<p><a href=\"#bitsruido\" data-type=\"internal\" data-id=\"#bitsruido\">Bits con ruido<\/a><\/p>\n\n\n\n<p><a href=\"#portadorafase\" data-type=\"internal\" data-id=\"#portadorafase\">Portadora fase aleatoria<\/a><\/p>\n\n\n\n<p><a href=\"#secuenciabits\" data-type=\"internal\" data-id=\"#secuenciabits\">Secuencia bits<\/a><\/p>\n\n\n\n<p><a href=\"#caminataaleatoria\" data-type=\"internal\" data-id=\"#caminataaleatoria\">caminata aleatoria<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator alignwide has-alpha-channel-opacity\" \/>\n\n\n\n<p>La forma mas simple de un proceso aleatorio - independiente, con secuencias id\u00e9nticamente distribuidas (iid).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Procesos aleatorios iid<\/h2>\n\n\n\n<p>La secuencia X<sub>n<\/sub> de un proceso aleatorio iid consiste en una secuencia de variables independientes, id\u00e9nticamente distribuidas con cdf F<sub>x<\/sub>(x), media m y varianza \u03c3<sup>2<\/sup> .<\/p>\n\n\n\n<p>m<sub>X<\/sub>(n) = E[X<sub>n<\/sub>] = m     para todo n<\/p>\n\n\n\n<p>lo que indica que su media es constante.<\/p>\n\n\n\n<p>La funci\u00f3n de autocovarianza , si n<sub>1<\/sub> \u2260 n<sub>2<\/sub> :<\/p>\n\n\n\n<p>C<sub>x<\/sub>(n<sub>1<\/sub>, n<sub>2<\/sub>) = E[(X<sub>n<sub>1<\/sub><\/sub> - m)(X<sub>n<sub>2<\/sub><\/sub> - m)] =<br>= E[(X<sub>n<sub>1<\/sub><\/sub> - m)] E[(X<sub>n<sub>2<\/sub><\/sub> - m)] = 0<\/p>\n\n\n\n<p>dado que X<sub>n<sub>1<\/sub><\/sub> y X<sub>n<sub>2<\/sub><\/sub> son variables independientes y si n<sub>1<\/sub> = n<sub>2<\/sub> = n:<\/p>\n\n\n\n<p>C<sub>x<\/sub>(n<sub>1<\/sub>, n<sub>2<\/sub>) = E[(X<sub>n<\/sub> - m)<sup>2<\/sup>] = \u03c3<sup>2<\/sup> <\/p>\n\n\n\n<p>lo que permite expresarla como:<\/p>\n\n\n\n<p>C<sub>x<\/sub>(n<sub>1<\/sub>, n<sub>2<\/sub>) = \u03c3<sup>2<\/sup> \u03b4<sub>n<sub>1<\/sub>n<sub>2<\/sub><\/sub><br><br>donde \u03b4<sub>n<sub>1<\/sub>n<sub>2<\/sub><\/sub> = 1 si n<sub>1<\/sub> = n<sub>2<\/sub> y 0 para cualquier otro caso, que tambi\u00e9n expresa que su autocovarianza es cero en cualquier lugar exceptuando n<sub>1<\/sub> = n<sub>2<\/sub>.<\/p>\n\n\n\n<p>La funci\u00f3n de autocorrelaci\u00f3n de un proceso iid es:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>R<sub>x<\/sub>(n<sub>1<\/sub>, n<sub>2<\/sub>) = C<sub>x<\/sub>(n<sub>1<\/sub>, n<sub>2<\/sub>) + m<sup>2<\/sup><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">5. Ejemplo: Proceso aleatorio Bernoulli<\/h2>\n\n\n\n<p><strong>Referencia<\/strong>: Le\u00f3n-Garc\u00eda E9.13 pdf\/p.499<\/p>\n\n\n\n<p>La secuencia I<sub>n<\/sub> es una secuencia de variable aleatoria independiente tipo Bernoulli. Una ejecuci\u00f3n se muestra en a figura. Se puede interpretar como el evento que un foco falle y se reemplace en un d\u00eda n.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/blog.espol.edu.ec\/estg1003\/files\/2017\/04\/bernoulli_proceso01.png\" alt=\"Proceso aleatorio bernoulli\" \/><\/figure>\n\n\n\n<p>tiene media y varianza:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>m<sub>1<\/sub> = p     VAR&#091;I<sub>n<\/sub>] = p(1-p)<\/code><\/pre>\n\n\n\n<p>permite realizar c\u00e1lculos de forma muy sencilla, por ejemplo, la probabilidad que los primeros cuatro bits tengan la secuencia 1001<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>p&#091;I<sub>1<\/sub>=1,I<sub>2<\/sub>=0,I<sub>3<\/sub>=0,I<sub>4<\/sub>=1] = \n= p&#091;I<sub>1<\/sub>=1]p&#091;I<sub>2<\/sub>=0]P&#091;I<sub>3<\/sub>=0]P&#091;I<sub>4<\/sub>=1]=\n= p<sup>2<\/sup>(1-p)<sup>2<\/sup><\/code><\/pre>\n\n\n\n<p>o que la probabilidad de que el segundo bit sea 0 y el s\u00e9ptimo sea 1<\/p>\n\n\n\n<p>P[I<sub>2<\/sub>=0, I<sub>7<\/sub>=1] = P[I<sub>2<\/sub>=0]P[I<sub>7<\/sub>=1] = p(1-p)<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Algoritmo en Python<\/h3>\n\n\n\n<p>El c\u00f3digo Python para generar el proceso Bernoulli usado es:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Generar numeros aleatorios con distribuci\u00f3n bernoulli\n# Leon-Garcia E9.13 Proceso aleatorioBernoulli \n# propuesta: edelros@espol.edu.ec\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport scipy.stats as stats\n\n# INGRESO\n# n=int(input('cuantos aleatorios: '))\n# p=float(input('probabilidad p: '))\nn=20\np=0.5\n\n# Procedimiento\npasos=np.zeros(n, dtype=int)\ncamina=np.zeros(n, dtype=int)\n\n# procesa los datos\ns=0\nfor i in range(0,n):\n    pasos&#x5B;i]=stats.binom.rvs(1,p)\n    s=s+pasos&#x5B;i]\n    camina&#x5B;i]=s\n\n# SALIDA\nplt.subplot(211)\nplt.stem(pasos)\nplt.ylabel('bernoulli In')\nplt.margins(0.05)\n\nplt.subplot(212)\nplt.stem(camina)\nplt.ylabel('Sn')\nplt.margins(0.05)\nplt.show()\n<\/pre><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"caminata-aleatoria\">6. Proceso aleatorios - pasos, caminata aleatoria<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Ejemplo: Caminata de pasos aleatorios o Random Step Process<\/h3>\n\n\n\n<p><strong>Referencia<\/strong>: Le\u00f3n-Garc\u00eda. E9.14 p.500<\/p>\n\n\n\n<p>Un contador \"up-down\" o \"sube-baja\" genera pulsos +1 \u00f3 -1. La entrada del contador est\u00e1 dada por D<sub>n<\/sub> = 2 I<sub>n<\/sub>-1, donde I<sub>n<\/sub> es un proceso aleatorio tipo Bernoulli.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> D_n = \\begin{cases} +1 &amp; \\quad \\text{, } I_n = 1\\\\ -1 &amp; \\quad \\text{, } I_n = 0 \\end{cases}<\/span>\n\n\n\n<p>Por ejemplo D<sub>n<\/sub> representar\u00eda el cambio en la posici\u00f3n de una part\u00edcula que se mueve a lo largo de una linea recta, y cambia entre \u00b11 cada unidad de tiempo. Ej: n=20, p=0.5<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/blog.espol.edu.ec\/estg1003\/files\/2017\/04\/Caminata_proceso01.png\" alt=\"Caminata aleatoria\" \/><\/figure>\n\n\n\n<p>La media de D<sub>n<\/sub> es:<\/p>\n\n\n\n<p>m<sub>D<\/sub>(n) = E[D<sub>n<\/sub>] <br>    = E[ 2I<sub>n<\/sub> -1] = 2E[I<sub>n<\/sub>]-1<br>    = 2p - 1<br>La varianza de D<sub>n<\/sub> se encuentra como:<\/p>\n\n\n\n<p>VAR[D<sub>n<\/sub>] = VAR[2I<sub>n<\/sub> - 1]<br>    = 2<sup>2<\/sup> VAR[I<sub>n<\/sub>]<br>    = 4p(1 - p)<\/p>\n\n\n\n<p>Las probabilidades de los eventos de D<sub>n<\/sub> se calculan como en el ejemplo del tema de la Binomial.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">Algoritmo en Python para caminata aleatoria<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Proceso caminata de pasos aleatorios\n# Leon-Garcia E 9.14 p.500\n# propuesta: edelros@espol.edu.ec\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport scipy.stats as stats\n\n# INGRESO\n# n=int(input('cuantos aleatorios: '))\n# p=float(input('probabilidad p: '))\nn = 20\np = 0.5\n\n# PROCEDIMIENTO\n\n# inicializa vectores\npasos  = np.zeros(n, dtype=int)\ncamina = np.zeros(n, dtype=int)\nejex   = np.zeros(n, dtype=int)\n\ns = 0 \nfor i in range(0,n):\n    # genera aleatorio con binomial\n    pasos&#x5B;i] = 2*(stats.binom.rvs(1,p))-1\n    s = s+pasos&#x5B;i]\n    camina&#x5B;i] = s\n    ejex&#x5B;i]   = i\n\n# SALIDA\n# grafica pasos \nplt.subplot(211)\nplt.stem(ejex,pasos)\nplt.ylabel('Pasos Dn')\nplt.margins(0.05)\n\n# grafica caminata aleatoria\nplt.subplot(212)\nplt.stem(ejex,camina)\nplt.ylabel('Caminata Sn')\nplt.margins(0.05)\nplt.xlabel('n')\n\nplt.show()\n<\/pre><\/div>\n\n\n<p><strong><em>Referencia<\/em><\/strong>: Le\u00f3n-Garc\u00eda 9.14 p.500-501<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"572\" height=\"377\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/04\/bernoulli_proceso01.png\" alt=\"\" class=\"wp-image-143\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Proceso Discreto Bits con ruido Portadora fase aleatoria Secuencia bits caminata aleatoria 1. Procesos discretos en el tiempo Un proceso aleatorio discreto en el tiempo es una familia de variables aleatorias {Xn}, donde a partir de n se define en un subgrupo de enteros. Por ejemplo: {Xn, n=1, 2, ...} {Xn, n=0, 1, 2, ...} [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-stp-unidades","format":"standard","meta":{"footnotes":""},"categories":[213],"tags":[],"class_list":["post-149","post","type-post","status-publish","format-standard","hentry","category-stp-u01eva"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=149"}],"version-history":[{"count":5,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/149\/revisions"}],"predecessor-version":[{"id":23280,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/149\/revisions\/23280"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}