統計学

スポンサーリンク
統計学

モンティ・ホール問題をベイズ的に解いてみた ~直観を科学で凌駕する~

ベイズ統計をやってると必ず出てくると言っていいくらいに有名な問題にモンティ・ホール問題ってのがあります。こいつは主観確率を利用してやると解くことができるんで、主観確率を扱うベイズ統計にはぴったりの問題なんですな。モンティ・ホール問題は、選択...
統計学

不偏分散の考え方を解説してみた ~どうか偏りませんように~

以前に不偏分散について書いたことがありましたが、ざっくりとした概要しか書かなかったので、今回はどういう考え方、理論があって母分散を予測できるのか?どうしてそんな計算式になるのか?って辺りを説明していきます。標本分散 \( \neq \) 母...
統計学

偏差値について ~実は、みんな知らずに使ってる「標準化」~

どこまで信頼できるのかは分からんのですが、ネット上にあるIQテストを受けてみたんです。一応有料ではあったし、40問あったので、それなりに信頼はできるのでは?と思ってます。(まぁ、全部図形問題で、いくつか同じパターンの問題とか見たことのある問...
スポンサーリンク
統計学

相関係数 ~どれだけ親密なの?~

今回は相関係数についてのお話になります。ざっくりと言っちゃうと、関係度合いを表した指標です。2つの変数同士がどう関係しているのかを知りたいときは共分散を計算するだけでも十分なんです。共分散を計算すれば、とりあえず右肩上がりなのか右肩下がりな...
統計学

不偏分散 ~「不偏」の重要な意味とは?~

以前、分散には標本分散と不偏分散ってのがあって、それぞれ性質がまったく違うんだよーってお話をしました。ざっくりとおさらいしておきますと、標本分散は標本自体がどれくらいばらついているのかを表した数値で、不偏分散は標本を抽出してきた元々の母集団...
統計学

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

統計学用語集の第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);}
スポンサーリンク