メイン kyoubunsan-hi.html   Last modified: Sep 01, 2009
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;CHARSET=EUC-JP">
<link rel="shortcut icon" href="../favicon.ico">
<title>JavaScript</title>
<script src="io.js">document.write("io.js ファイルが見つかりません??<br>")</script>

<script language="JavaScript">
<!--

function zfi(w, i)
{
  var ww = (""+i).length
  ww = ww > w ? 0 : w-ww
  return "000000000000000".substring(0, ww)+i
}

function vname(i, nv)
{
  return (i == nv-1) ? "合計" : "Var"+zfi(2, i+1)
}

function calc(data_string)
{
  var i, j, k, nc, nv, data, mean, variance, sd, r, isw
  if ((data = getdata(data_string, 0)) == false) return
  nc = data.length
  nv = data[0].length+1
  if (nc < 2) {
    printf("ケース数が1以下です\n")
    return
  }

  for (i = 0; i < nc; i++) {
    sum = 0
    for (j = 0; j < nv-1; j++) {
      sum += data[i][j]
    }
    data[i][j] = sum
  }

  mean = new Array(nv)
  variance = new Array(nv)
  sd = new Array(nv)
  r = makeMatrix(nv, nv)

// Netscape communicator のバグ?配列ベクトルは初期化されていない
  for (i = 0; i < nv; i++) {
    mean[i] = 0
    for (j = 0; j < nv; j++) {
      r[i][j] = 0
    }
  }

  for (i = 0; i < nc; i++) {
    for (j = 0; j < nv; j++) {
      mean[j] += data[i][j]
    }
  }
  for (j = 0; j < nv; j++) {
    mean[j] /= nc
  }

  for (i = 0; i < nc; i++) {
    for (j = 0; j < nv; j++) {
      for (k = 0; k < nv; k++) {
        r[j][k] += (mean[j]-data[i][j])*(mean[k]-data[i][k])
      }
    }
  }
  isw = 0
  for (j = 0; j < nv; j++) {
    variance[j] = r[j][j]/(nc-1)
    sd[j] = Math.sqrt(variance[j])
    if (variance[j] <= 0) isw = 1
  }
  if (isw == 1) {
    printf("分散が0になる変数があります\n")
    return
  }
  for (j = 0; j < nv; j++) {
    for (k = 0; k < nv; k++) {
      r[j][k] /= (nc-1)*sd[j]*sd[k]
    }
  }
  printf("有効データ組数 = %i\n\n", nc)
  printf("%5s%15s%15s%15s\n", "変数", "平均値", "不偏分散", "標準偏差")
  for (j = 0; j < nv; j++) {
    printf("%5s%15.7g%15.7g%15.7g\n", vname(j, nv), mean[j], variance[j], sd[j])
  }
  printf("\n★ 相関係数行列 ★\n\n     ")
  for (j = 0; j < nv; j++) {
    printf("%8s", vname(j, nv))
  }
  printf("\n")
  for (j = 0; j < nv; j++) {
    printf("%5s", vname(j, nv))
    for (k = 0; k < nv; k++) {
      printf("%8.3f", r[j][k])
    }
    printf("\n")
  }
  printf("\n★ 共分散比 ★\n\n")
  for (j = 0; j < nv-1; j++) {
    printf("%5s %6.1f%%\n", vname(j, nv), r[j][nv-1]*sd[j]/sd[nv-1]*100)
  }
  sep(40)
  printf("\n")
}
//-->
</script>
</head>

<body bgcolor="#ffffff">
<font size="+2"><b>共分散比</b></font> <a  href="src/kyoubunsan-hi.html"><img src="png/src.png" width=35 height=11 alt="src" align=top></a>     Last modified: Jun 01, 2006<hr noshade><p>
<font color="#ff0000" size="+2">以下のプログラムのサポートは終了しました。自己責任でお使い下さい。</font>

<form name=Result>
<script language="JavaScript">
<!--
//-->JavaScript がサポートされていないブラウザですか?
</script>
<!-- テストデータ
96  102  83  129  96
88  59  64  65  53
114  103  139  141  158
37  18  42  32  3
86  67  123  123  95
82  67  85  124  65
121  107  163  150  158
115  108  137  148  152
55  78  142  104  53
99  130  111  154  58
96  55  15  47  87
98  89  81  105  84
70  50  41  1  65
98  54  126  77  88
103  124  98  123  109
106  126  160  155  95
80  95  104  60  72
90  83  121  112  72
66  129  99  103  85
117  113  178  124  137

結果

共分散比
Var01   11.4%
Var02   16.9%
Var03   24.3%
Var04   25.7%
Var05   21.6%

-->
<table><tr>
<td><input type="button" name="calcurate" value="計算開始" onClick="calc(this.form.data.value)">  </td>
<td><input type="button" name="clear" value="入力欄クリア" onClick="this.form.data.value=''">  </td>
<td><input type="button" name="clear" value="出力欄クリア" onClick="this.form.result.value=''">  </td>
<td nowrap><img src="../gra/button3.png" width=9 height=9 alt="・"> <a href="exa/kyoubunsan-hi.html">使用法</a></td>
</tr></table>
<p>
入力欄<br><textarea name="data" ROWS=20 COLS=80></textarea><p>
出力欄<br><textarea name="result" ROWS=30 COLS=80></textarea>
</form>

<p><hr noshade>
参考文献:繁桝算男,柳井晴夫,森敏昭編著「Q&amp;Aで知る統計データ解析」サイエンス社(1999),116-118ページ<p>
<img src="../gra/button3.png" width=9 height=9 alt="・"> <A HREF="javascript:history.go(-1)">直前のページへ戻る</A>  <img src="../gra/button3.png" width=9 height=9 alt="・"> <a href="../mail.html">E-mail to Shigenobu AOKI</a>
<p><center><IMG SRC="../gra/ume5.png" width=121 height=37 ALT="Made with Macintosh"></center>
</body>
</html>

サブ io.js   Last modified: Mar 25, 2004

・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh