[fpr 3456] T得点のベイズ推定のためのコンソールアプリケーション例

岡本安晴


皆様

 T得点のベイズ推定を行うコンソールアプリケーションも
作成してみました。コードは以下の通りです。

#include "stdafx.h"
#include "calcz.h"

using namespace System;
using namespace Calcz;

double sqr(double v){
	return v * v;
}

int main(array<System::String ^> ^args)
{
	 double rho, k;
	 int n;
	 Console::Write("信頼性係数 = ");
	 rho = double::Parse(Console::ReadLine());
	 Console::Write("受験者総数N = ");
	 n = int::Parse(Console::ReadLine());
	 Console::Write("順位k(1:最下位 <= k <= N:最上位)= ");
	 k = double::Parse(Console::ReadLine());
	 double p = (k - 0.5) / double(n);
	 double z = calc_z_normal( p );
	 double X = 50.0 + 10.0 * z;
	 double sgmE = Math::Sqrt(100.0 * (1.0 - rho));
	 double sgmTn = Math::Sqrt(sqr(sgmE * 10.0) / (sqr(sgmE) +
sqr(10.0)));
	 double meanTn = (sqr(10.0) * X + sqr(sgmE) * 50.0) / (sqr(10.0) +
sqr(sgmE));
	 Console::WriteLine("一様分布: Mean = " + X.ToString("F1")
						+ "    95%Invl = [" + (X -
1.96 * sgmE).ToString("F1")
						 + ", " + (X + 1.96 * sgmE).
ToString("F1") + "]");
	 Console::WriteLine("正規分布: Mean = " + meanTn.ToString("F1")
						+ "    95%Invl = [" +
(meanTn - 1.96 * sgmTn).ToString("F1")
						 + ", " + (meanTn + 1.96 *
sgmTn).ToString("F1") + "]");

	 Console::WriteLine();
	 Console::Write("Enterキーを押して終了。");
	 Console::ReadLine();
     return 0;
}

実行結果例は以下のようになります。
=========== ここから =================
信頼性係数 = 0.85
受験者総数N = 10000
順位k(1:最下位 <= k <= N:最上位)= 7000
一様分布: Mean = 55.2    95%Invl = [47.7, 62.8]
正規分布: Mean = 54.6    95%Invl = [47.5, 61.6]

Enterキーを押して終了。
=========== ここまで =================

プログラムのソースコードファイルなどを圧縮ファイルとしてまとめたものは
ウェブサイト
http://y-okamoto-psy1949.la.coocan.jp/VCpp/TScale/
にあげておきました。

日本女子大学心理学科
岡本安晴





スレッド表示 著者別表示 日付順表示 トップページ

ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。