假設一所只有 100 個學生的學校一共只開了 10 門課,每個學生只上一門課。請問平均每個班上有多少學生?
10 個學生?
think again ! 好好想想。
你去問上面例題中的學校的校長,他一定會告訴你每個班平均只有 10 個學生。但是如果你去問學生,你將會得到完全不一樣的答案。
假設這 10 門課中,有 1 門課有 30 名學生;有 2 門課每門有 20 名學生;2 門課每門 10 名學生;5 門課每門有 2 名學生。
學生數課程數301
202102
25你從 100 名學生中隨機調查 50 名,根據簡單的概率,預計會有 15 人來自 30名學生的那門課;20 人來自班級人數 20 人的那 2 門課;10 人來自班級人數 10 人的那 2 門課;5 人來自班級人數 2 人的那 5 門課
於是你讓這 50 人報出自己班級人數,然後計算一下平均數:
15 ∗30
+20∗20
+10∗10
+5∗2
50=
19.2
人\frac=19.2 人
5015∗3
0+20
∗20+
10∗1
0+5∗
2=1
9.2人
比實際的平均數 10 人高出了 92% !!!
why?
很多國外大學非常強調師生比,比值越大,說明老師要照顧的學生數量少,每個學生也就能多分配一些精力。
但是 1:10 的師生比並不意味著每個老師大概只需要教 10 名學生。因為:
簡單來說,你上了乙個 30 名學生的課,別人上著 2 名學生的課,你被平均了呀!
更重要的是,在做班級人數抽樣調查的時候,你和你的同學這種來自大班的人有更大概率被抽中,因為你們班人數多!
這就是為什麼抽樣調查 50 人得到的平均班級人數有 19.2 人,比實際資料高出了 92%——你們這些大班的人太容易被抽中去做調查了。
如果只有抽樣得到的資料,要想算出實際情況,簡單來說就是要堅持 總人數
/班級數
總人數 / 班級數
總人數/班級
數 這個演算法。
在抽樣的 50 人中,總人數 = 50,班級數也很好算。50 人中有 15 人來自班級人數=30的班級,相當於這 15 人佔了 1/30
∗15
=0.5
1/30*15=0.5
1/30∗1
5=0.
5 個班。同理計算其他情況。
簡單來說正確演算法是:
50 130
∗15+1
20∗20+
110∗10
+12∗
5=
10\frac*15+\frac*20+\frac*10+\frac*5}=10
301∗1
5+20
1∗2
0+10
1∗1
0+21
∗55
0=1
0這個演算法實際上就是「調和平均數(harmonic mean)」。在本案例中,樣本的調和平均數才是總體的(算術)平均數,即 10人/班。
乙個大規模爬蟲的抓取例項
乙個大規模爬蟲的抓取例項 相關引數 page 2.5億 cost 580 dollar time 40 hours machine 20 amazon ec2 storage 總共抓取了1.69 tb 目的 找到乙個有用的網路子集,實踐爬蟲和分布式計算 技術實現 分布式爬蟲 節點 amazon ec...
tomcat6關於el表示式的一大坑!
jsp 如下 向老子報到 我的groupinfo.groupnum裡的值明明是0,但是判斷到groupinfo.groupnum 這裡愣是按true來對待,我就艹他媽了!後來發現部署在tomcat7沒問題,部署在tomcat6就會有這個毛病,研究發現是判斷語句中單引號 的問題,換成groupinfo...
崩潰的一大早
一大早有乙個 說他們室的電腦有乙個啟動後全是英文,乙個無法啟動。我接到電腦就奔過去了。看了第一台電腦,藍屏了。於是我又重啟了一下,進入win系統後發生了藍屏,我確認是系統問題。於是問過以後也不管三七二十一,就ghost了。在ghost的過程中,我看了另一台電腦,這台電腦不太妙,無法啟動,電腦的cpu...