我檢查了Boost網站上的例子,但他們不是我要找的。如何在C++ Boost庫中使用卡方分佈?
說得簡單,我想,以查看是否在模具上的數目是有利的使用軋輥600,所以每數(1至6)的平均出現應當是100
我想使用卡方分佈來檢查死亡是否公平。
Help!,我該怎麼做?
我檢查了Boost網站上的例子,但他們不是我要找的。如何在C++ Boost庫中使用卡方分佈?
說得簡單,我想,以查看是否在模具上的數目是有利的使用軋輥600,所以每數(1至6)的平均出現應當是100
我想使用卡方分佈來檢查死亡是否公平。
Help!,我該怎麼做?
假設e [i]和o [i]是包含6個可能性中每一個的預期和觀察計數的數組。在你的情況下,每個垃圾箱的e [i]是100,而o [i]是我在600次試驗中滾動的次數。
然後,通過求和計算卡方統計(E [I] -o [I])/E [I]在 6個箱。假設您的o [i]陣列在進行600次試驗後出現105,95,102,98,98和102 。
智 = 5 /100 + 5 /100 + 2 /100 + 2 /100 + 2 /100 + 2 /100 = .660
你有五個自由度(箱數減1)。所以,你要 已經聲明像
boost::math::chi_squared mydist(5);
創建表示您的卡方分佈Boost的對象。
此時,您可以使用Boost庫中的cdf
訪問器函數(累積分佈函數)查找對應於具有五個自由度的卡方分數.660的p值。
p = boost::math::cdf(mydist,.660);
你應該得到的東西接近0.015,這將被解釋爲(1 - 0.015)觀察卡方得分至少爲極端爲0.660,中= 98.5%的概率如果假設空假設(死亡是公平的)持有。所以對於這組數據,零假設不能以任何合理的置信水平被拒絕。 (免責聲明:未經測試的代碼!但是,如果我正確理解了Boost文檔,這就是它的工作方式。)
來自維基百科:「p-值不是零假設爲真的概率。」......「假設零假設爲真,p值是獲得至少與實際觀察到的一樣極端的檢驗統計量的概率。「 – telliott99 2010-01-25 12:50:40
@ telliott99:你是對的...我已經重新修改了這一部分,以澄清假設測試結果的解釋。 – 2010-01-25 17:44:06