2019-04

スポンサーリンク
プログラミング

ATOMっていうテキストエディタを使い始めたよって話

最近まで、C++のソースファイルもヘッダーファイルも、ただのメモ書きみたいなテキストファイルも全部Mery(ちょっと機能が追加されたメモ帳みたいな)というテキストエディタを使って編集していたのです。僕が作るのは小さいプログラムがほ...
統計学

統計学用語集 ~誰もが知ってる「あれ」と対応させてみた~

統計学用語集の第1弾に引き続き、統計学用語集の第2弾です。このブログを読んだり、統計学の勉強をしたりするに当たって、理解しておいた方がいいよな~って用語をまとめていきます。 今回説明したのは「確率変数」「母集団」「母数」「母...
数学

単回帰分析 ~目星をつける数学~

この前、共分散ってのはデータの傾向を表した数値だよーってお話をしました。で、傾向を見るだけではどの程度の関連性なのかが不明なので、関連度合いを見るためには相関係数って数値を計算してやるといいよーってお話もしました。 ...
統計学

共分散 ~2人はどういう関係なの!?~

相関係数って概念があって、そいつは2項目間にどういう関係があるのかを表しているスグレモノな概念なのです。そんな相関係数を計算しようとすると共分散って概念に出くわすことになるんですが、こいつがまた色んなとこで活躍するすごいヤ...
統計学

標本分散と不偏分散 ~ばらつきを表す?元を予想する?~

分散はばらつきを表すけど、標準偏差とはちょっと違う性質を持ってるから、どっちか片方だけじゃちょっと問題があるよねーって話を前にしたわけです。 ただ、一言に「分散」と言っても色んな種類の分散があって、種類によってはばら...
プログラミング

ベイズ論を実装してみたよーって話

/****************************************************************
** 関西人か関東人かをベイズ論で判別しようというプログラムです
** 相手が関西弁を話したか否かで、相手が関西人である確率が変わります
**
** 極めて簡易で適当な判別プログラムなので、あまりいじめてあげないでください
*****************************************************************/

#include 
#include 

using namespace std;

double BayesianUpdate(double, double, double);		// ベイズ更新関数(事前確率, AでかつAが起こる確率, BでかつAが起こる確率)

int main()
{
	int result;
	double PrimaryProbability = 0.5;		// 現象を確認する前の事前確率(理由不十分の原理により、0.5に設定)
	double WestAccent_west = 0.95;			// 関西人でかつ関西弁を話す確率
	double WestAccent_east = 0.02;			// 関東人でかつ関西弁を話す確率
	double CurrrentP, PostP;

	CurrrentP = PrimaryProbability;

	while (1)
	{
		cout << "現在、相手が関西人である確率 : " << CurrrentP << endl;
		cout << endl;

		cout << "関西弁を話したか?(No : 0 | Yes : 1 | end : -1)---"; cin>> result;
		cout << endl;

		if (result == -1) {
			break;
		}
		else if (result == 0) {
			PostP = BayesianUpdate(CurrrentP, 1 - WestAccent_west, 1 - WestAccent_east);
		}
		else {
			PostP = BayesianUpdate(CurrrentP, WestAccent_west, WestAccent_east);
		}

		CurrrentP = PostP;
	}

	return 0;
}


double BayesianUpdate(double Primary, double Conditional1, double Conditional2)
{
	double Probability1, Probability2;

	Probability1 = Primary * Conditional1;
	Probability2 = (1 - Primary) * Conditional2;

	return Probability1 / (Probability1 + Probability2);
}
統計学

検定 ~偶然か?あるいは・・・~

今回は検定のお話です。先にざっくりと概要を説明しちゃうと、検定ってのはある確率的な仮説が正しいとすると、現実の結果とは矛盾する(矛盾しない)ことになるから、その仮説は間違っている(合っている)みたいな感じで確率的な仮説を正...
スポンサーリンク
タイトルとURLをコピーしました