{"id":1240,"date":"2017-10-04T17:13:37","date_gmt":"2017-10-04T22:13:37","guid":{"rendered":"http:\/\/naps.com.mx\/blog\/?p=1240"},"modified":"2017-11-16T12:09:43","modified_gmt":"2017-11-16T18:09:43","slug":"prueba-de-varianza-pseudoaleatorios","status":"publish","type":"post","link":"https:\/\/naps.com.mx\/blog\/prueba-de-varianza-pseudoaleatorios\/","title":{"rendered":"Prueba de varianza en n\u00fameros pseudoaleatorios"},"content":{"rendered":"<p>Una vez que se cuenta con un conjunto de n\u00fameros pseudoaleatorios se tienen que realizar pruebas para determinar la independencia y uniformidad de los n\u00fameros. A continuaci\u00f3n se presentan la prueba de medias y prueba de varianza en n\u00fameros pseudoaleatorios.<\/p>\n<p><!--more--><\/p>\n<p>Para las pruebas a desarrollar se utilizar\u00e1 el siguiente conjunto de n\u00fameros pseudoaleatorios:<\/p>\n<p>0.0449, 0.6015, 0.63, 0.5514, 0.0207,<br \/>\n0.1733,0.6694,0.2531, 0.3116, 0.1067,<br \/>\n0.5746, 0.3972, 0.8297, 0.3587, 0.3587,<br \/>\n0.049, 0.7025, 0.6483, 0.7041,0.1746,<br \/>\n0.8406, 0.1055, 0.6972, 0.5915, 0.3362,<br \/>\n0.8349, 0.1247, 0.9582, 0.2523, 0.1589,<br \/>\n0.92, 0.1977, 0.9085, 0.2545, 0.3727,<br \/>\n0.2564, 0.0125, 0.8524, 0.3044,0.4145<\/p>\n<p>El nivel de aceptaci\u00f3n para las pruebas ser\u00e1 del 95% de confianza.<br \/>\nPrueba de medias<\/p>\n<p>La primera prueba a realizar ser\u00e1 la prueba de medias. Seguiremos los siguientes pasos:<\/p>\n<p><strong>Paso 1<\/strong>. Obtener la media. Donde: <span class=\"wp-katex-eq\" data-display=\"false\">\\bar{r}=\\frac{1}{n}\\sum_{i=1}^{n}r{i}<\/span><br \/>\n<strong>Paso 2<\/strong>. Obtener los l\u00edmites inferior y superior.<\/p>\n<p>Donde:<\/p>\n<ul>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">LI_{\\bar{r}}=\\frac{1}{2}-z_{\\alpha\/2}(\\frac{1}{\\sqrt{12n}})<\/span><\/li>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">LS_{\\bar{r}}=\\frac{1}{2}+z_{\\alpha\/2}(\\frac{1}{\\sqrt{12n}})<\/span><\/li>\n<\/ul>\n<p><strong>Paso 3<\/strong>. Comprobar si la media se encuentra entre los l\u00edmites inferior y superior.<\/p>\n<p>Si la media se encuentra entre los l\u00edmites, el conjunto de n\u00fameros pasa la prueba.<br \/>\nEn el ejemplo, n = 40 (Hay 40 n\u00fameros en el conjunto).\u00a0 <span class=\"wp-katex-eq\" data-display=\"false\">\\alpha <\/span> = 0.05 (nivel de aceptaci\u00f3n de 95% o 0.95).<br \/>\nComo la f\u00f3rmula pide <span class=\"wp-katex-eq\" data-display=\"false\">\\alpha <\/span>\/2 (es decir, 0.025), el valor z a buscar es el equivalente a 0.975 (resultado de 1-0.025)<br \/>\nDe acuerdo a las tablas de distribuci\u00f3n normal est\u00e1ndar, el valor de 0.975 es 1.96, por lo que las operaciones ser\u00edan:<\/p>\n<ul>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">\\bar{r}=\\frac{1}{40}\\sum_{i=1}^{40}r{i} = 0.43250<\/span><\/li>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">LI_{\\bar{r}}=\\frac{1}{2}-(1.96)(\\frac{1}{\\sqrt{12(40)}}) = 0.4105<\/span><\/li>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">LI_{\\bar{r}}=\\frac{1}{2}+(1.96)(\\frac{1}{\\sqrt{12(40)}})=0.5894<\/span><\/li>\n<\/ul>\n<p>Por lo que se concluye que el conjunto de n\u00fameros pseudoaleatorios pasa la prueba de medias.<\/p>\n<h2>Prueba de varianza en n\u00fameros pseudoaleatorios<\/h2>\n<p>Para realizar la prueba de varianza en n\u00fameros pseudoaleatorio se realizan los siguientes pasos:<\/p>\n<p><strong>Paso 1.<\/strong> Obtener la varianza<br \/>\n<strong>Paso 2<\/strong>. Obtener los l\u00edmites inferior y superior.<\/p>\n<p>Si la varianza se encuentra entre los l\u00edmites, el conjunto de n\u00fameros pasa la prueba.<\/p>\n<p>La varianza se calcula con la siguiente f\u00f3rmula:<\/p>\n<span class=\"wp-katex-eq\" data-display=\"false\">v(r)=\\frac{\\sum_{i=1}^{n}(r_{i}-\\bar{r})^{2}}{n-1}<\/span>\n<p>Y los l\u00edmites superior e inferior, emplean las siguientes formula:<\/p>\n<ul>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">LI_{v(r)}=\\frac{\\chi^{2}_{\\alpha\/2,n-1}}{12(n-1)}<\/span><\/li>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">LS_{v(r)}=\\frac{\\chi^{2}_{1-\\alpha\/2,n-1}}{12(n-1)}<\/span><\/li>\n<\/ul>\n<p>Donde n-1 representa los grados de libertad, en este ejemplo, 39 (pues hay 40 datos en el conjunto).<\/p>\n<p>De nuevo, si el nivel de confianza es 95%, <span class=\"wp-katex-eq\" data-display=\"false\">\\alpha\/2 = 0.025<\/span>, por lo que los valores a buscar en la tabla de distribucion chi cuadrada ser\u00e1n:<br \/>\n0.025 con 39 grados de libertad<br \/>\nY 0.975 con 39 grados de libertad.<br \/>\nConsultando las tablas correspondientes se obtienen los siguientes valores.<\/p>\n<ul>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">v(r)=0.0869<\/span><\/li>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">LI_{v(r)}=\\frac{\\chi^{2}_{0.05\/2,39}}{12(39)}=\\frac{58.12}{468}=0.1241<\/span><\/li>\n<li><span class=\"wp-katex-eq\" data-display=\"false\">LS_{v(r)}=\\frac{\\chi^{2}_{1-0.05\/2,39}}{12(39)}=\\frac{23.65}{468}=0.0505<\/span><\/li>\n<\/ul>\n<h2>Prueba de medias y prueba de varianza en n\u00fameros pseudoaleatorios: implementaci\u00f3n en Java<\/h2>\n<p>Se utilizar\u00e1 la biblioteca de clases <strong>Math Common<\/strong>, (si deseas instalarla, sigue los pasos descritos en el siguiente art\u00edculo: <a href=\"http:\/\/naps.com.mx\/blog\/instalar-math-commons-biblioteca-clases-matematicas\/\">Instalar Math Commons Math: La biblioteca de clases para matem\u00e1ticas<\/a>)<\/p>\n<p>Si ya has importado la <em>library<\/em>, ahora debemos solicitar las siguientes clases (en los import):<\/p>\n<pre class=\"theme:orange-code nums-toggle:false wrap-toggle:false lang:java decode:true \">import org.apache.commons.math3.distribution.NormalDistribution;\r\nimport org.apache.commons.math3.distribution.ChiSquaredDistribution;\r\nimport org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;\r\n<\/pre>\n<p>Y el c\u00f3digo completo que nos realiza las dos pruebas ser\u00e1 el siguiente:<\/p>\n<pre class=\"theme:github lang:java decode:true \">\/\/Metemos los datos en un arreglo:\r\n\r\ndouble [] datos = { 0.0449, 0.6015, 0.63, 0.5514, 0.0207,\r\n0.1733, 0.6694, 0.2531, 0.3116, 0.1067,\r\n0.5746, 0.3972, 0.8297, 0.3587, 0.3587,\r\n0.049, 0.7025, 0.6483, 0.7041, 0.1746,\r\n0.8406, 0.1055, 0.6972, 0.5915, 0.3362,\r\n0.8349, 0.1247, 0.9582, 0.2523, 0.1589,\r\n0.92,  0.1977, 0.9085, 0.2545, 0.3727,\r\n0.2564, 0.0125, 0.8524, 0.3044, 0.4145};\r\n\r\n\/\/Declaramos las variables que necesitaremos. Note que se establece como nivel de aceptaci\u00f3n o confianza el de 95%.\r\n\r\nint cant_datos = datos.length;\r\nint grados_libertad = cant_datos-1;\r\ndouble confianza= .95;\r\ndouble alfa = 1-confianza;\r\n\r\n\/\/Creamos objetos con las tablas de distribuci\u00f3n normal y chi cuadrada, y un objeto que nos ayudar\u00e1 a obtener la media y la varianza.\r\n\r\nNormalDistribution nd = new NormalDistribution();\r\nChiSquaredDistribution chi = new ChiSquaredDistribution(grados_libertad);\r\nDescriptiveStatistics estadistica = new DescriptiveStatistics();\r\n\r\n\/\/Declaramos variables necesarias para la prueba de medias.\r\n\r\ndouble media, li, ls;\r\ndouble z;\r\nint i;\r\n\r\n\/\/Metemos los datos del arreglo en el objeto estadistica.\r\n\r\nfor (i=0; i&lt;cant_datos; i++){\r\nestadistica.addValue(datos[i]);\r\n}\r\n\r\n\/\/Ya teniendo los datos en el objeto es muy sencillo sacar la media.\r\n\r\nmedia = estadistica.getMean();\r\n\r\n\/\/Para obtener el valor z (sin consultar tablas) se utiliza la siguiente f\u00f3rmula.\r\nz= nd.inverseCumulativeProbability(1 - alfa\/2 );\r\n\/\/Aplicamos las f\u00f3rmulas para obtener los l\u00edmites\r\n\r\nli = 0.5 - z * (1\/Math.sqrt(12*estadistica.getN()));\r\nls = 0.5 + z * (1\/Math.sqrt(12*estadistica.getN()));\r\n\/\/Mostramos los resultados en pantalla.\r\n\r\nSystem.out.println(\"---Prueba de medias---\");\r\nSystem.out.println(\"Media: \" + media);\r\nSystem.out.println(\"Limite inferior: \"+ li);\r\nSystem.out.println(\"Limite superior: \" + ls);\r\n\r\n\/\/Declaramos las variables que necesitaremos en la prueba de varianza\r\n\r\ndouble varianza,li2, ls2;\r\nvarianza = estadistica.getVariance();\r\n\r\n\/\/Obtenemos los valores de la tabla de Chi cuadrada:\r\n\r\nli2 = chi.inverseCumulativeProbability(alfa\/2)\/(12*grados_libertad);\r\nls2 = chi.inverseCumulativeProbability(1-alfa\/2)\/(12*grados_libertad);\r\n\r\n\/\/Mostramos los resultados en pantalla:\r\n\r\nSystem.out.println(\"---Prueba de varianza---\");\r\nSystem.out.println(\"Varianza: \"+ varianza);\r\nSystem.out.println(\"Limite inferior: \" + li2);\r\nSystem.out.println(\"Limite superior: \" + ls2);\r\n<\/pre>\n<p>No olvides dejar tus comentarios, dudas y sugerencias.<\/p>\n<h3>Referencias<\/h3>\n<ol>\n<li><strong>Garc\u00eda, Garc\u00eda y C\u00e1rdenas (2006).<\/strong> <a href=\"https:\/\/books.google.com.mx\/books?id=VuEfwtFr1QMC&amp;printsec=frontcover&amp;dq=simulacion+promodel&amp;hl=es-419&amp;sa=X&amp;redir_esc=y#v=onepage&amp;q=simulacion%20promodel&amp;f=false\">Simulaci\u00f3n y an\u00e1lisis de sistemas con Promodel<\/a>. Ed. Pearson.<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Una vez que se cuenta con un conjunto de n\u00fameros pseudoaleatorios se tienen que realizar pruebas para determinar la independencia y uniformidad de los n\u00fameros. A continuaci\u00f3n se presentan la prueba de medias y prueba de varianza en n\u00fameros pseudoaleatorios.<\/p>\n","protected":false},"author":1,"featured_media":1275,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"amp_status":"","footnotes":""},"categories":[216],"tags":[97,217,213,218],"class_list":["post-1240","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-simulacion-ciencias","tag-ejercicios-java","tag-media","tag-numeros-pseudo-aleatorios","tag-varianza"],"_links":{"self":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/1240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/comments?post=1240"}],"version-history":[{"count":37,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/1240\/revisions"}],"predecessor-version":[{"id":1278,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/posts\/1240\/revisions\/1278"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media\/1275"}],"wp:attachment":[{"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/media?parent=1240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/categories?post=1240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/naps.com.mx\/blog\/wp-json\/wp\/v2\/tags?post=1240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}