{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Dominance Analysis with statsample\n", "\n", "This example demonstrates dominance analysis with the Statsample::DominanceAnalysis class" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/javascript": [ "if(window['d3'] === undefined ||\n", " window['Nyaplot'] === undefined){\n", " var path = {\"d3\":\"https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min\",\"downloadable\":\"https://cdn.rawgit.com/domitry/d3-downloadable/master/d3-downloadable\"};\n", "\n", "\n", "\n", " var shim = {\"d3\":{\"exports\":\"d3\"},\"downloadable\":{\"exports\":\"downloadable\"}};\n", "\n", " require.config({paths: path, shim:shim});\n", "\n", "\n", "require(['d3'], function(d3){window['d3']=d3;console.log('finished loading d3');require(['downloadable'], function(downloadable){window['downloadable']=downloadable;console.log('finished loading downloadable');\n", "\n", "\tvar script = d3.select(\"head\")\n", "\t .append(\"script\")\n", "\t .attr(\"src\", \"https://cdn.rawgit.com/domitry/Nyaplotjs/master/release/nyaplot.js\")\n", "\t .attr(\"async\", true);\n", "\n", "\tscript[0][0].onload = script[0][0].onreadystatechange = function(){\n", "\n", "\n", "\t var event = document.createEvent(\"HTMLEvents\");\n", "\t event.initEvent(\"load_nyaplot\",false,false);\n", "\t window.dispatchEvent(event);\n", "\t console.log('Finished loading Nyaplotjs');\n", "\n", "\t};\n", "\n", "\n", "});});\n", "}\n" ], "text/plain": [ "\"if(window['d3'] === undefined ||\\n window['Nyaplot'] === undefined){\\n var path = {\\\"d3\\\":\\\"https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.5/d3.min\\\",\\\"downloadable\\\":\\\"https://cdn.rawgit.com/domitry/d3-downloadable/master/d3-downloadable\\\"};\\n\\n\\n\\n var shim = {\\\"d3\\\":{\\\"exports\\\":\\\"d3\\\"},\\\"downloadable\\\":{\\\"exports\\\":\\\"downloadable\\\"}};\\n\\n require.config({paths: path, shim:shim});\\n\\n\\nrequire(['d3'], function(d3){window['d3']=d3;console.log('finished loading d3');require(['downloadable'], function(downloadable){window['downloadable']=downloadable;console.log('finished loading downloadable');\\n\\n\\tvar script = d3.select(\\\"head\\\")\\n\\t .append(\\\"script\\\")\\n\\t .attr(\\\"src\\\", \\\"https://cdn.rawgit.com/domitry/Nyaplotjs/master/release/nyaplot.js\\\")\\n\\t .attr(\\\"async\\\", true);\\n\\n\\tscript[0][0].onload = script[0][0].onreadystatechange = function(){\\n\\n\\n\\t var event = document.createEvent(\\\"HTMLEvents\\\");\\n\\t event.initEvent(\\\"load_nyaplot\\\",false,false);\\n\\t window.dispatchEvent(event);\\n\\t console.log('Finished loading Nyaplotjs');\\n\\n\\t};\\n\\n\\n});});\\n}\\n\"" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Analysis 2016-03-24 15:59:53 +0000\n", "= Statsample::DominanceAnalysis\n", " Correlation Matrix\n", "+----+-------+-------+-------+-------+-------+\n", "| | a | b | cc | d | y |\n", "+----+-------+-------+-------+-------+-------+\n", "| a | 1.000 | .091 | .034 | -.035 | .790 |\n", "| b | .091 | 1.000 | .009 | .044 | .554 |\n", "| cc | .034 | .009 | 1.000 | -.003 | .335 |\n", "| d | -.035 | .044 | -.003 | 1.000 | .151 |\n", "| y | .790 | .554 | .335 | .151 | 1.000 |\n", "+----+-------+-------+-------+-------+-------+\n", "\n", " == Multiple reggresion of a,b,cc,d on y\n", " Engine: Statsample::Regression::Multiple::RubyEngine\n", " Cases(listwise)=300(300)\n", " R=0.988\n", " R^2=0.977\n", " R^2 Adj=0.977\n", " Std.Error R=1.016\n", " Equation=-0.124 + 5.076a + 3.002b + 1.942cc + 1.021d\n", " === ANOVA\n", " ANOVA Table\n", "+------------+-----------+-----+----------+----------+-------+\n", "| source | ss | df | ms | f | p |\n", "+------------+-----------+-----+----------+----------+-------+\n", "| Regression | 12860.902 | 4 | 3215.226 | 3115.863 | 0.000 |\n", "| Error | 304.407 | 295 | 1.032 | | |\n", "| Total | 13165.310 | 299 | 3216.257 | | |\n", "+------------+-----------+-----+----------+----------+-------+\n", "\n", " Beta coefficients\n", "+----------+--------+-------+-------+--------+\n", "| coeff | b | beta | se | t |\n", "+----------+--------+-------+-------+--------+\n", "| Constant | -0.124 | - | 0.059 | -2.109 |\n", "| a | 5.076 | 0.742 | 0.061 | 83.351 |\n", "| b | 3.002 | 0.477 | 0.056 | 53.594 |\n", "| cc | 1.942 | 0.306 | 0.056 | 34.591 |\n", "| d | 1.021 | 0.157 | 0.058 | 17.703 |\n", "+----------+--------+-------+-------+--------+\n", "\n", " == Dominance Analysis: a,b,cc,d over y\n", " Dominance Analysis result\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| | r2 | sign | a | b | cc | d |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| Model 0 | | | 0.624 | 0.307 | 0.112 | 0.023 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| a | 0.624 | 0.000 | -- | 0.235 | 0.095 | 0.032 |\n", "| b | 0.307 | 0.000 | 0.552 | -- | 0.109 | 0.016 |\n", "| cc | 0.112 | 0.000 | 0.607 | 0.303 | -- | 0.023 |\n", "| d | 0.023 | 0.009 | 0.633 | 0.300 | 0.113 | -- |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| k=1 Average | | | 0.597 | 0.279 | 0.106 | 0.024 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| a*b | 0.859 | 0.000 | -- | -- | 0.094 | 0.024 |\n", "| a*cc | 0.720 | 0.000 | -- | 0.233 | -- | 0.032 |\n", "| a*d | 0.656 | 0.000 | -- | 0.227 | 0.096 | -- |\n", "| b*cc | 0.416 | 0.000 | 0.536 | -- | -- | 0.016 |\n", "| b*d | 0.323 | 0.000 | 0.560 | -- | 0.109 | -- |\n", "| cc*d | 0.136 | 0.000 | 0.616 | 0.297 | -- | -- |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| k=2 Average | | | 0.571 | 0.252 | 0.100 | 0.024 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| a*b*cc | 0.952 | 0.000 | -- | -- | -- | 0.025 |\n", "| a*b*d | 0.883 | 0.000 | -- | -- | 0.094 | -- |\n", "| a*cc*d | 0.752 | 0.000 | -- | 0.225 | -- | -- |\n", "| b*cc*d | 0.432 | 0.000 | 0.545 | -- | -- | -- |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| k=3 Average | | | 0.545 | 0.225 | 0.094 | 0.025 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| a*b*cc*d | 0.977 | 0.000 | -- | -- | -- | -- |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| Overall averages | | | 0.584 | 0.266 | 0.103 | 0.024 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "\n", " Pairwise dominance\n", "+--------+-------+-------------+---------+\n", "| Pairs | Total | Conditional | General |\n", "+--------+-------+-------------+---------+\n", "| a - b | 1.0 | 1.0 | 1.0 |\n", "| a - cc | 1.0 | 1.0 | 1.0 |\n", "| a - d | 1.0 | 1.0 | 1.0 |\n", "| b - cc | 1.0 | 1.0 | 1.0 |\n", "| b - d | 1.0 | 1.0 | 1.0 |\n", "| cc - d | 1.0 | 1.0 | 1.0 |\n", "+--------+-------+-------------+---------+\n", "\n", " == Dominance Analysis using group of predictors\n", " Dominance Analysis result\n", "+------------------+-------+-------+-------+-------+--------+\n", "| | r2 | sign | a | b | (cc,d) |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| Model 0 | | | 0.624 | 0.307 | 0.136 |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| a | 0.624 | 0.000 | -- | 0.235 | 0.128 |\n", "| b | 0.307 | 0.000 | 0.552 | -- | 0.125 |\n", "| (cc,d) | 0.136 | 0.000 | 0.616 | 0.297 | -- |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| k=1 Average | | | 0.584 | 0.266 | 0.127 |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| a*b | 0.859 | 0.000 | -- | -- | 0.118 |\n", "| a*(cc,d) | 0.752 | 0.000 | -- | 0.225 | -- |\n", "| b*(cc,d) | 0.432 | 0.000 | 0.545 | -- | -- |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| k=2 Average | | | 0.545 | 0.225 | 0.118 |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| a*b*(cc,d) | 0.977 | 0.000 | -- | -- | -- |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| Overall averages | | | 0.584 | 0.266 | 0.127 |\n", "+------------------+-------+-------+-------+-------+--------+\n", "\n", " Pairwise dominance\n", "+------------+-------+-------------+---------+\n", "| Pairs | Total | Conditional | General |\n", "+------------+-------+-------------+---------+\n", "| a - b | 1.0 | 1.0 | 1.0 |\n", "| a - (cc-d) | 1.0 | 1.0 | 1.0 |\n", "| b - (cc-d) | 1.0 | 1.0 | 1.0 |\n", "+------------+-------+-------------+---------+\n", "\n", "\n" ] } ], "source": [ "require 'statsample'\n", "\n", "Statsample::Analysis.store(Statsample::DominanceAnalysis) do\n", " sample=300\n", " a = rnorm(sample)\n", " b = rnorm(sample)\n", " c = rnorm(sample)\n", " d = rnorm(sample)\n", " \n", " ds = Daru::DataFrame.new({:a => a,:b => b,:cc => c,:d => d})\n", " attach(ds)\n", " ds[:y]=a*5 + b*3 + cc*2 + d + rnorm(300) \n", " cm=cor(ds)\n", " summary(cm)\n", " lr=lr(ds,:y)\n", " summary(lr)\n", " da=dominance_analysis(ds,:y)\n", " summary(da)\n", " \n", " da = dominance_analysis(ds,:y,:name=>\"Dominance Analysis using group of predictors\", :predictors=>[:a, :b, [:cc, :d]])\n", " summary(da)\n", "end\n", "\n", "\n", "Statsample::Analysis.run_batch" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This example explains usage of the Statsample::DominanceAnalysis::Bootstrap class." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "scrolled": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0, 1]\n", "[0, 2]\n", "[0, 3]\n", "[1, 2]\n", "[1, 3]\n", "[2, 3]\n", "Bootstrap 1 of 100\n", "Bootstrap 2 of 100\n", "Bootstrap 3 of 100\n", "Bootstrap 4 of 100\n", "Bootstrap 5 of 100\n", "Bootstrap 6 of 100\n", "Bootstrap 7 of 100\n", "Bootstrap 8 of 100\n", "Bootstrap 9 of 100\n", "Bootstrap 10 of 100\n", "Bootstrap 11 of 100\n", "Bootstrap 12 of 100\n", "Bootstrap 13 of 100\n", "Bootstrap 14 of 100\n", "Bootstrap 15 of 100\n", "Bootstrap 16 of 100\n", "Bootstrap 17 of 100\n", "Bootstrap 18 of 100\n", "Bootstrap 19 of 100\n", "Bootstrap 20 of 100\n", "Bootstrap 21 of 100\n", "Bootstrap 22 of 100\n", "Bootstrap 23 of 100\n", "Bootstrap 24 of 100\n", "Bootstrap 25 of 100\n", "Bootstrap 26 of 100\n", "Bootstrap 27 of 100\n", "Bootstrap 28 of 100\n", "Bootstrap 29 of 100\n", "Bootstrap 30 of 100\n", "Bootstrap 31 of 100\n", "Bootstrap 32 of 100\n", "Bootstrap 33 of 100\n", "Bootstrap 34 of 100\n", "Bootstrap 35 of 100\n", "Bootstrap 36 of 100\n", "Bootstrap 37 of 100\n", "Bootstrap 38 of 100\n", "Bootstrap 39 of 100\n", "Bootstrap 40 of 100\n", "Bootstrap 41 of 100\n", "Bootstrap 42 of 100\n", "Bootstrap 43 of 100\n", "Bootstrap 44 of 100\n", "Bootstrap 45 of 100\n", "Bootstrap 46 of 100\n", "Bootstrap 47 of 100\n", "Bootstrap 48 of 100\n", "Bootstrap 49 of 100\n", "Bootstrap 50 of 100\n", "Bootstrap 51 of 100\n", "Bootstrap 52 of 100\n", "Bootstrap 53 of 100\n", "Bootstrap 54 of 100\n", "Bootstrap 55 of 100\n", "Bootstrap 56 of 100\n", "Bootstrap 57 of 100\n", "Bootstrap 58 of 100\n", "Bootstrap 59 of 100\n", "Bootstrap 60 of 100\n", "Bootstrap 61 of 100\n", "Bootstrap 62 of 100\n", "Bootstrap 63 of 100\n", "Bootstrap 64 of 100\n", "Bootstrap 65 of 100\n", "Bootstrap 66 of 100\n", "Bootstrap 67 of 100\n", "Bootstrap 68 of 100\n", "Bootstrap 69 of 100\n", "Bootstrap 70 of 100\n", "Bootstrap 71 of 100\n", "Bootstrap 72 of 100\n", "Bootstrap 73 of 100\n", "Bootstrap 74 of 100\n", "Bootstrap 75 of 100\n", "Bootstrap 76 of 100\n", "Bootstrap 77 of 100\n", "Bootstrap 78 of 100\n", "Bootstrap 79 of 100\n", "Bootstrap 80 of 100\n", "Bootstrap 81 of 100\n", "Bootstrap 82 of 100\n", "Bootstrap 83 of 100\n", "Bootstrap 84 of 100\n", "Bootstrap 85 of 100\n", "Bootstrap 86 of 100\n", "Bootstrap 87 of 100\n", "Bootstrap 88 of 100\n", "Bootstrap 89 of 100\n", "Bootstrap 90 of 100\n", "Bootstrap 91 of 100\n", "Bootstrap 92 of 100\n", "Bootstrap 93 of 100\n", "Bootstrap 94 of 100\n", "Bootstrap 95 of 100\n", "Bootstrap 96 of 100\n", "Bootstrap 97 of 100\n", "Bootstrap 98 of 100\n", "Bootstrap 99 of 100\n", "Bootstrap 100 of 100\n", "[0, 1]\n", "[0, 2]\n", "[0, 3]\n", "[1, 2]\n", "[1, 3]\n", "[2, 3]\n", "Bootstrap 1 of 100\n", "Bootstrap 2 of 100\n", "Bootstrap 3 of 100\n", "Bootstrap 4 of 100\n", "Bootstrap 5 of 100\n", "Bootstrap 6 of 100\n", "Bootstrap 7 of 100\n", "Bootstrap 8 of 100\n", "Bootstrap 9 of 100\n", "Bootstrap 10 of 100\n", "Bootstrap 11 of 100\n", "Bootstrap 12 of 100\n", "Bootstrap 13 of 100\n", "Bootstrap 14 of 100\n", "Bootstrap 15 of 100\n", "Bootstrap 16 of 100\n", "Bootstrap 17 of 100\n", "Bootstrap 18 of 100\n", "Bootstrap 19 of 100\n", "Bootstrap 20 of 100\n", "Bootstrap 21 of 100\n", "Bootstrap 22 of 100\n", "Bootstrap 23 of 100\n", "Bootstrap 24 of 100\n", "Bootstrap 25 of 100\n", "Bootstrap 26 of 100\n", "Bootstrap 27 of 100\n", "Bootstrap 28 of 100\n", "Bootstrap 29 of 100\n", "Bootstrap 30 of 100\n", "Bootstrap 31 of 100\n", "Bootstrap 32 of 100\n", "Bootstrap 33 of 100\n", "Bootstrap 34 of 100\n", "Bootstrap 35 of 100\n", "Bootstrap 36 of 100\n", "Bootstrap 37 of 100\n", "Bootstrap 38 of 100\n", "Bootstrap 39 of 100\n", "Bootstrap 40 of 100\n", "Bootstrap 41 of 100\n", "Bootstrap 42 of 100\n", "Bootstrap 43 of 100\n", "Bootstrap 44 of 100\n", "Bootstrap 45 of 100\n", "Bootstrap 46 of 100\n", "Bootstrap 47 of 100\n", "Bootstrap 48 of 100\n", "Bootstrap 49 of 100\n", "Bootstrap 50 of 100\n", "Bootstrap 51 of 100\n", "Bootstrap 52 of 100\n", "Bootstrap 53 of 100\n", "Bootstrap 54 of 100\n", "Bootstrap 55 of 100\n", "Bootstrap 56 of 100\n", "Bootstrap 57 of 100\n", "Bootstrap 58 of 100\n", "Bootstrap 59 of 100\n", "Bootstrap 60 of 100\n", "Bootstrap 61 of 100\n", "Bootstrap 62 of 100\n", "Bootstrap 63 of 100\n", "Bootstrap 64 of 100\n", "Bootstrap 65 of 100\n", "Bootstrap 66 of 100\n", "Bootstrap 67 of 100\n", "Bootstrap 68 of 100\n", "Bootstrap 69 of 100\n", "Bootstrap 70 of 100\n", "Bootstrap 71 of 100\n", "Bootstrap 72 of 100\n", "Bootstrap 73 of 100\n", "Bootstrap 74 of 100\n", "Bootstrap 75 of 100\n", "Bootstrap 76 of 100\n", "Bootstrap 77 of 100\n", "Bootstrap 78 of 100\n", "Bootstrap 79 of 100\n", "Bootstrap 80 of 100\n", "Bootstrap 81 of 100\n", "Bootstrap 82 of 100\n", "Bootstrap 83 of 100\n", "Bootstrap 84 of 100\n", "Bootstrap 85 of 100\n", "Bootstrap 86 of 100\n", "Bootstrap 87 of 100\n", "Bootstrap 88 of 100\n", "Bootstrap 89 of 100\n", "Bootstrap 90 of 100\n", "Bootstrap 91 of 100\n", "Bootstrap 92 of 100\n", "Bootstrap 93 of 100\n", "Bootstrap 94 of 100\n", "Bootstrap 95 of 100\n", "Bootstrap 96 of 100\n", "Bootstrap 97 of 100\n", "Bootstrap 98 of 100\n", "Bootstrap 99 of 100\n", "Bootstrap 100 of 100\n", "Analysis 2016-03-24 15:59:53 +0000\n", "= Statsample::DominanceAnalysis\n", " Correlation Matrix\n", "+----+-------+-------+-------+-------+-------+\n", "| | a | b | cc | d | y |\n", "+----+-------+-------+-------+-------+-------+\n", "| a | 1.000 | -.067 | -.008 | -.045 | .757 |\n", "| b | -.067 | 1.000 | .050 | -.035 | .464 |\n", "| cc | -.008 | .050 | 1.000 | -.008 | .351 |\n", "| d | -.045 | -.035 | -.008 | 1.000 | .109 |\n", "| y | .757 | .464 | .351 | .109 | 1.000 |\n", "+----+-------+-------+-------+-------+-------+\n", "\n", " == Multiple reggresion of a,b,cc,d on y\n", " Engine: Statsample::Regression::Multiple::RubyEngine\n", " Cases(listwise)=300(300)\n", " R=0.988\n", " R^2=0.976\n", " R^2 Adj=0.975\n", " Std.Error R=0.986\n", " Equation=0.018 + 5.052a + 3.066b + 2.040cc + 1.002d\n", " === ANOVA\n", " ANOVA Table\n", "+------------+-----------+-----+----------+----------+-------+\n", "| source | ss | df | ms | f | p |\n", "+------------+-----------+-----+----------+----------+-------+\n", "| Regression | 11512.133 | 4 | 2878.033 | 2957.730 | 0.000 |\n", "| Error | 287.051 | 295 | 0.973 | | |\n", "| Total | 11799.185 | 299 | 2879.006 | | |\n", "+------------+-----------+-----+----------+----------+-------+\n", "\n", " Beta coefficients\n", "+----------+-------+-------+-------+--------+\n", "| coeff | b | beta | se | t |\n", "+----------+-------+-------+-------+--------+\n", "| Constant | 0.018 | - | 0.057 | 0.313 |\n", "| a | 5.052 | 0.801 | 0.057 | 87.893 |\n", "| b | 3.066 | 0.506 | 0.055 | 55.509 |\n", "| cc | 2.040 | 0.333 | 0.056 | 36.643 |\n", "| d | 1.002 | 0.165 | 0.055 | 18.150 |\n", "+----------+-------+-------+-------+--------+\n", "\n", " == Dominance Analysis: a,b,cc,d over y\n", " Dominance Analysis result\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| | r2 | sign | a | b | cc | d |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| Model 0 | | | 0.573 | 0.215 | 0.123 | 0.012 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| a | 0.573 | 0.000 | -- | 0.266 | 0.128 | 0.021 |\n", "| b | 0.215 | 0.000 | 0.623 | -- | 0.107 | 0.016 |\n", "| cc | 0.123 | 0.000 | 0.577 | 0.199 | -- | 0.012 |\n", "| d | 0.012 | 0.059 | 0.581 | 0.219 | 0.124 | -- |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| k=1 Average | | | 0.594 | 0.228 | 0.119 | 0.016 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| a*b | 0.838 | 0.000 | -- | -- | 0.110 | 0.027 |\n", "| a*cc | 0.700 | 0.000 | -- | 0.248 | -- | 0.021 |\n", "| a*d | 0.593 | 0.000 | -- | 0.272 | 0.128 | -- |\n", "| b*cc | 0.322 | 0.000 | 0.626 | -- | -- | 0.016 |\n", "| b*d | 0.231 | 0.000 | 0.634 | -- | 0.108 | -- |\n", "| cc*d | 0.135 | 0.000 | 0.586 | 0.203 | -- | -- |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| k=2 Average | | | 0.615 | 0.241 | 0.115 | 0.021 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| a*b*cc | 0.949 | 0.000 | -- | -- | -- | 0.027 |\n", "| a*b*d | 0.865 | 0.000 | -- | -- | 0.111 | -- |\n", "| a*cc*d | 0.722 | 0.000 | -- | 0.254 | -- | -- |\n", "| b*cc*d | 0.339 | 0.000 | 0.637 | -- | -- | -- |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| k=3 Average | | | 0.637 | 0.254 | 0.111 | 0.027 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| a*b*cc*d | 0.976 | 0.000 | -- | -- | -- | -- |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "| Overall averages | | | 0.605 | 0.235 | 0.117 | 0.019 |\n", "+------------------+-------+-------+-------+-------+-------+-------+\n", "\n", " Pairwise dominance\n", "+--------+-------+-------------+---------+\n", "| Pairs | Total | Conditional | General |\n", "+--------+-------+-------------+---------+\n", "| a - b | 1.0 | 1.0 | 1.0 |\n", "| a - cc | 1.0 | 1.0 | 1.0 |\n", "| a - d | 1.0 | 1.0 | 1.0 |\n", "| b - cc | 1.0 | 1.0 | 1.0 |\n", "| b - d | 1.0 | 1.0 | 1.0 |\n", "| cc - d | 1.0 | 1.0 | 1.0 |\n", "+--------+-------+-------------+---------+\n", "\n", " == Dominance Analysis using group of predictors\n", " Dominance Analysis result\n", "+------------------+-------+-------+-------+-------+--------+\n", "| | r2 | sign | a | b | (cc,d) |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| Model 0 | | | 0.573 | 0.215 | 0.135 |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| a | 0.573 | 0.000 | -- | 0.266 | 0.149 |\n", "| b | 0.215 | 0.000 | 0.623 | -- | 0.124 |\n", "| (cc,d) | 0.135 | 0.000 | 0.586 | 0.203 | -- |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| k=1 Average | | | 0.605 | 0.234 | 0.136 |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| a*b | 0.838 | 0.000 | -- | -- | 0.137 |\n", "| a*(cc,d) | 0.722 | 0.000 | -- | 0.254 | -- |\n", "| b*(cc,d) | 0.339 | 0.000 | 0.637 | -- | -- |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| k=2 Average | | | 0.637 | 0.254 | 0.137 |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| a*b*(cc,d) | 0.976 | 0.000 | -- | -- | -- |\n", "+------------------+-------+-------+-------+-------+--------+\n", "| Overall averages | | | 0.605 | 0.235 | 0.136 |\n", "+------------------+-------+-------+-------+-------+--------+\n", "\n", " Pairwise dominance\n", "+------------+-------+-------------+---------+\n", "| Pairs | Total | Conditional | General |\n", "+------------+-------+-------------+---------+\n", "| a - b | 1.0 | 1.0 | 1.0 |\n", "| a - (cc-d) | 1.0 | 1.0 | 1.0 |\n", "| b - (cc-d) | 1.0 | 1.0 | 1.0 |\n", "+------------+-------+-------------+---------+\n", "\n", "= Statsample::DominanceAnalysis::Bootstrap\n", " == Bootstrap dominance Analysis: a,b,cc,d,y1,y2 over [:y1, :y2]\n", " Sample size: 100\n", "\n", " t: 1.9842169515864176\n", "\n", " Linear Regression Engine: Statsample::Regression::Multiple::MultipleDependent\n", " Bootstrap report\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| pairs | sD | Dij | SE(Dij) | Pij | Pji | Pno | Reproducibility |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| Complete dominance | | | | | | | |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| a - b | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| a - c | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| a - d | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| b - c | 0.0 | 0.0700 | 0.225 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| b - d | 0.0 | 0.3800 | 0.383 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| c - d | 1.0 | 0.8650 | 0.292 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| Conditional dominance | | | | | | | |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| a - b | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| a - c | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| a - d | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| b - c | 0.0 | 0.0650 | 0.221 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| b - d | 0.0 | 0.3600 | 0.390 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| c - d | 1.0 | 0.8650 | 0.292 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| General Dominance | | | | | | | |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| a - b | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| a - c | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| a - d | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| b - c | 0.0 | 0.0500 | 0.219 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| b - d | 0.0 | 0.2600 | 0.441 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| c - d | 1.0 | 0.8200 | 0.386 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "\n", " General averages\n", "+-----+-------+-------+-------+-------+\n", "| var | mean | se | p.5 | p.95 |\n", "+-----+-------+-------+-------+-------+\n", "| a | 0.952 | 0.015 | 0.924 | 0.971 |\n", "| b | 0.005 | 0.005 | 0.001 | 0.015 |\n", "| c | 0.023 | 0.010 | 0.009 | 0.041 |\n", "| d | 0.011 | 0.009 | 0.002 | 0.030 |\n", "+-----+-------+-------+-------+-------+\n", "\n", " == Bootstrap dominance Analysis: a,b,cc,d,y1 over y1\n", " Sample size: 100\n", "\n", " t: 1.9842169515864176\n", "\n", " Linear Regression Engine: Statsample::Regression::Multiple::MatrixEngine\n", " Bootstrap report\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| pairs | sD | Dij | SE(Dij) | Pij | Pji | Pno | Reproducibility |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| Complete dominance | | | | | | | |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| - | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| - | 1.0 | 0.9800 | 0.141 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| - | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| - | 0.0 | 0.0450 | 0.175 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| - | 0.0 | 0.2850 | 0.391 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| - | 1.0 | 0.7950 | 0.356 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| Conditional dominance | | | | | | | |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| - | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| - | 1.0 | 0.9800 | 0.141 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| - | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| - | 0.0 | 0.0400 | 0.169 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| - | 0.0 | 0.2650 | 0.399 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| - | 1.0 | 0.7950 | 0.363 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| General Dominance | | | | | | | |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "| - | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| - | 1.0 | 0.9800 | 0.141 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| - | 1.0 | 1.0000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 |\n", "| - | 0.0 | 0.0300 | 0.171 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| - | 0.0 | 0.2700 | 0.446 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "| - | 1.0 | 0.7900 | 0.409 | 0.000 | 0.000 | 0.000 | 0.000 |\n", "+-----------------------+-----+--------+---------+-------+-------+-------+-----------------+\n", "\n", " General averages\n", "+-----+-------+-------+-------+-------+\n", "| var | mean | se | p.5 | p.95 |\n", "+-----+-------+-------+-------+-------+\n", "| | 0.182 | 0.047 | 0.103 | 0.264 |\n", "| | 0.007 | 0.008 | 0.000 | 0.021 |\n", "| | 0.039 | 0.022 | 0.012 | 0.081 |\n", "| | 0.017 | 0.014 | 0.001 | 0.043 |\n", "+-----+-------+-------+-------+-------+\n", "\n", "\n" ] } ], "source": [ "require 'statsample'\n", "\n", "Statsample::Analysis.store(Statsample::DominanceAnalysis::Bootstrap) do\n", " \n", " # Remember to call *update* after an assignment/deletion cycle if lazy_update\n", " # is *false*.\n", " Daru.lazy_update = true\n", " sample=300\n", " a=rnorm(sample)\n", " b=rnorm(sample)\n", " c=rnorm(sample)\n", " d=rnorm(sample) \n", " a.rename :a\n", " b.rename :b\n", " c.rename :c\n", " d.rename :d\n", " \n", " ds = Daru::DataFrame.new({:a => a,:b => b,:cc => c,:d => d})\n", " attach(ds)\n", " ds[:y1] = a*5 + b*2 + cc*2 + d*2 + rnorm(sample,0,10)\n", " ds[:y2] = a*10 + rnorm(sample)\n", " \n", " dab=dominance_analysis_bootstrap(ds, [:y1,:y2], :debug=>true)\n", " dab.bootstrap(100,nil)\n", " summary(dab)\n", " ds2=ds[:a, :b, :cc, :d, :y1]\n", " dab2=dominance_analysis_bootstrap(ds2, :y1, :debug=>true)\n", " dab2.bootstrap(100,nil)\n", " summary(dab2)\n", " Daru.lazy_update = false\n", "end\n", "\n", "Statsample::Analysis.run_batch" ] } ], "metadata": { "kernelspec": { "display_name": "Ruby 2.2.1", "language": "ruby", "name": "ruby" }, "language_info": { "file_extension": ".rb", "mimetype": "application/x-ruby", "name": "ruby", "version": "2.2.1" } }, "nbformat": 4, "nbformat_minor": 0 }