10 months ago

注意:這一系列的文章仍在撰寫中,已發表的文章仍可能會更改編排順序或是修改內容。

Concurrency是最近和Jserv研究的新題目,Concurrency是所謂的並行性,並不是平行性(Parallelism)。這兩者的差別我們之後再詳述。

剛開始研究時覺得這個主題很新穎,而且應該頗為重要,畢竟未來大多數的處理器都朝著多核心方向發展,想要壓榨出更多效能,必須要讓軟體跟上硬體的設計,因此multithread是個必然的趨勢,其中如何正確的處理不同thread之間交互執行衍伸而來的問題,就是concurrency探討的方向。

但當我開始深入研究時,便發現concurrency這個題目相當麻煩,因為concurrency其實牽涉相當廣,從最基本的lock, mutex, semaphore等同步用的工具外,如果繼續往下鑽,就會遇到atomic operation,要透過不可分割的原子操作來實現這些工具。再往下鑽,就會遇到更底層的memory model和memory ordering,因為編譯器會最佳化程式碼順序、處理器會亂序執行、底層硬體又有cache coherent的問題,導致程式實際的執行過程和你寫的不一定相同,這在單核心處理器上還沒什麼問題,但遇到多個thread同時在不同的核心跑時,就可能會發生悲劇。這些東西不僅牽涉到軟體設計,也牽涉到硬體的觀念,繼續延伸下去,甚至可以討論到如何設計無鎖的(lock-free)的資料結構。

在學習關於concurrency知識時,我遇到最大的問題在於,網路上大多數的資料都必須要有一定量的基礎知識,才有辦法順利理解,很多文章剛開始看的時候會遇到一堆不懂的名詞,讀到一半就卡住,鑽下去又會發現鑽不完,於是只能放置play。花了好些時間找資料和撞牆後,才逐漸把許多知識拼圖拼在一起。另外我發現從C++, Java語言提供的Concurrency API,是較為容易下手的切入點,因為比較接近實作層面,學起來會比較有感覺。但C++本身又是一個相當的語言,找資料的過程又讓我回想起大一物件導向講師小黃教C++11時崩潰的日子,不過現在你不用擔心這些了,我會盡量把我過去幾周研究、習得的知識,嘗試用有系統的方式整理,目標是讓大家能夠快速的跨越路上的障礙,往理解Concurrency之路上邁進。

我會盡量保證這些知識的正確性,但難免會有些地方有疏漏或缺失,我也是最近才開始接觸這個領域,如果發現文章內有理解錯誤的地方,請不吝留言或來信告知。

 
about 1 year ago

什麼是對齊?

電腦中記憶體的資料放置在某個(2^N)倍數的記憶體位址,稱為對齊。例如4-byte aligned代表該物件的記憶體位址是4的倍數,也就是address % 4 == 0。8-byte aligned代表該物件的記憶體位址是8的倍數,代表8-byte aligned。以4-byte對齊的話,二進位表示的記憶體位址末兩位會是0,以8-byte對齊的話末三位會是0。

為什麼要對齊?

電腦的記憶體通常會設計成以word-sized進行存取會最有效率。word是存取記憶體最自然的單位。word的大小是電腦架構所定義,一般現代的系統通常word不是4bytes(32bit)就是8bytes(64bit)。早期的電腦記憶體只能以word為單位進行存取,因此所有的記憶體存取都要落在以word為倍數的邊界上。但現代的電腦架構通常能夠存取小至單獨的byte,大至多個word。

為什麼不對齊會沒效率?

想像一個簡單的情況,假設電腦的系統是以word(4bytes)來存取,假設我們要在記憶體內擺放一個char,一個short,一個int

沒對齊的情況:

如果要存取int,那麼需要先存取第一個word,再存取第二個word,然後各自做bit shift再組合起來,才有辦法得到int。原本只要存取記憶體一次的,結果現在要兩次,還有額外計算bitshifting的開銷。這是很嚴重的問題,在某些架構上可以造成兩倍以上的效能差異。

對齊的情況:

我們在第一個char之後加一個padding byte,int符合4-bytes對齊,此時存取就簡單多了,只要一次memory access即可。

上面只是一個簡單的說明,實際不對齊的後果在不同的架構上嚴重程度不同,對於有些RISC架構,例如ARM和MIPS,如果存取未對齊的記憶體處理器會產生alignment fault。特殊用途的處理器例如DSP通常不支援存取未對齊的記憶體位址。一般現代的處理器還是可以存取未對齊的記憶體,但是會產生嚴重的效能降低。非常先進的x86_64處理器可以存取未對齊的記憶體,而且不會產生效能損失。

在參考資料Alignment In C第七頁裡面有簡單的小程式實驗了存取對齊和未對齊的記憶體的效能差異,某些現代intel處理器沒有顯著的影響,但某些環境(Raspberry Pi 2)下存取時間可以差到兩倍以上。

如何對齊?

自然對齊(natural alignment, aka self-alignment)

一種常見的對齊方法叫做自然對齊(natural alignment),也就是直接對齊該資料型態本身的大小。例如short是2個bytes,就對齊2 bytes-aligned,int是4個bytes,那就對齊4 bytes-aligned,long是8個bytes,就對齊8-byte aligned。

但,沒有人規定你一定要自然對齊。

ABI

事實上,對齊是為了讓系統更有效率,architecture的實作不同,對於對齊的要求就不會一樣。不同架構的對齊需求所要參考的文件叫ABI。

ABI做什麼事情呢?ABI保證了相同的machine code可以移植到不同的機器上執行。這代表了相同的指令集和相同的編譯環境。ABI定義了C語言中留給各平台實作的部份,例如size_t這個type的大小要是幾bytes,int要是幾bytes,以及如何對齊、函式的參數怎麼傳、怎麼回傳,要傳到stack上還是傳到register內,要先放第一個參數還是最後一個參數(這些叫calling convention),如何進行系統呼叫、如何組織的object file等。

在AMD64架構上(其實就是x86_64的別稱而已,一樣的東西),物件是採用自然對齊,多大的物件就對齊多大的記憶體。但在i386架構上,int大小佔4byte,且為4-byte aligned,long也佔4 bytes,亦為4-byte aligned。但long long和double都佔了8bytes,卻也只對齊4byte。

一個有趣的問題

32位元的系統上,記憶體每次只能存取word(4bytes),那麼對於佔用8bytes的double,有必要對齊8 bytes嗎?還是對齊4個bytes就足夠了?

實際上,對齊8bytes還是有一些額外的好處,像是假設cache line是32或64bytes,如果對齊4bytes,則有可能會讓物件剛好落在cache 邊界上, 一部分的物件在cache內,另一部份在外頭,那麼讀取在外頭的word需要花更長的時間。要是這件事情是發生在page的邊界上那會更嚴重。

但相對的,更多的對齊空間會耗費更大的記憶體,這是一個tradeoff。compiler有選項-malign-double 可以讓你把double對齊到8bytes上。

自然對齊有個好處是,他幫你避免掉這種跨越cache邊界的情況。你可以簡單思考,8個bytes的物件如果按照8-byte aligned對齊,那麼是不可能跨越在2^N大小的cache邊界外的(當然N>=3)。

結構的對齊 Alignment of Structure

關於結構對齊的規則,如果我們站在設計者的角度來想,會有幾個重要的要求

  • 結構內的成員都要對齊
  • 結構本身也要對齊
  • 結構成員本身的相對偏移量必須是固定的,不能因為對齊而產生差別

因此產生了如下規則

  • 每個成員按照各自對齊的最低需求對齊,例如char就對齊到1bytes,short就對齊到2bytes
  • 結構本身的對齊要求等於該結構內最嚴格成員的對齊量,例如在基於x86_64下某個結構最嚴格的對齊是double的8bytes,那該結構本身就要對齊8bytes。
  • 結構本身大小等於該結構對齊的倍數

為什麼要這樣設計?

如果一個結構本身沒有按照該成員最嚴格的對齊量對齊的時候,會相同的結構在不同的記憶體位址,成員之間的offset會不相同。

舉個最簡單的例子,假設一個結構裡面有兩個成員,一個是

struct S {
  char a;
  int  b;
} s;
//假設這個結構有照著4bytes對齊,那麼他的位址會長這樣
0x0             0x4
a   []  []  []  b  [b]  [b]  [b]

//如果沒有對齊,該結構是從0x1的話
0x0  0x1          0x4
[]   a  []  []  b  [b]  [b]  [b]

// 可以看到a和b之間的offset從3變成2了,會根據結構記憶體開頭的對齊不同而改變。

小附註

C語言的結構成員的順序會影響struct的大小,這部份compiler並不會自動幫你優化或改變順序以減少struct空間。不優化的原因可以參考這篇

Reference

 
about 1 year ago

這是一個成為替代役中心最會投投籃機的男人的故事。

台北市的替代役中心1樓有個健身中心,裡面放了幾張桌球桌、撞球桌,還有簡易的重訓器材、兩台籃球機,給強制留宿的役男打發時間用的。

我剛來替代役中心報到沒幾天,就和室友跑下去健身中心玩耍,一看到有不用錢的籃球機就興奮起來了,決定跑去按下按鈕開始玩。

我沒有在打籃球,對我來說投籃機就像夾娃娃機一樣,都是吃錢的遊戲,平時根本不會去碰他。結果一投,才三十幾分而已,等於一分鐘投進大概不到20球。我的室友在旁邊看完哈哈大笑,說「欸,你怎麼這麼廢啊」。

過了幾天,大致適應了替代役中心的生活後,我晚上有空就會跑去樓下重訓,練完之後,就去投籃機投個幾球。剛開始真的很廢,儘管我抱持著左手只是輔助的信念在投,但信念這種東西只有在動畫裡有用啊!

一萬小時定律與籃球機

後來我發現,投籃機其實是個很適合拿來做「練習實驗」的裝置。

投籃機的設計很簡單,你的投籃範圍被限定在正前方,球投完之後會滾到你手邊,總共有三局,每局1分鐘,前45秒每進一球,就是2分。最後15秒每顆球3分。投過50分才能投第二局,投過150分才能投第三局。遊戲最多進行三分鐘,盡可能拿越高分越好。

換句話說,這是個規則非常清楚,限制非常明確的遊戲。這讓我想到了一萬小時定律。

很多人都聽過一萬小時定律,想要在一個領域成為世界級的專家,需要花費一萬個小時專注的練習。這是當初在葛拉威爾的異數裡提出的觀念。但很多人沒有注意到的是,一萬個小時練習後能成為專家,是有條件的,那就是「你所投注心力練習的領域,必須要有明確的規則和限定性」,例如網球、西洋棋。這些遊戲的規則很早就固定下來了,一萬個小時的練習,可以讓你熟悉網球場上所有可能出現的球路、可能出現的情況,因此大腦和肌肉能夠累積每一次練習的記憶,並且進行正確的回擊。

投籃機正是這樣規則非常明確的遊戲。而且變動的可能性遠遠少於網球。這意味著,只要經過練習,任何人都能夠攻克他。

快速反饋地練習

一週過去了,我每天晚上都去投個幾回,我發現我的右手漸漸穩定下來了。我的分數開始往上衝,終於突破50分,可以打第二分鐘了。這樣的改變其實讓我很訝異,我第一次注意到肌肉記憶可以這麼神速,前一天我還投地搖搖晃晃,球在籃框外彈來彈去,睡個覺隔天繼續投,進球率就比昨天高了一些些。

投籃機是個反饋感非常強烈的遊戲,除了分數顯示在記分板,每次投完你都可以知道該次的成果。更重要的是進球的狀況,你的眼睛可以很明確看見球沒進的原因是什麼,是過於偏左、還是偏右。亦或是因為太用力,導致投到籃框後面的支撐架後彈飛。每次進球失敗,你手部的肌肉就會進行修正,想辦法讓下一球更準一些。這樣一球一球的反饋其實是非常驚人的,每天練習100球,你就累積了100次進球或彈飛的肌肉記憶,這些記憶會在你睡眠時進行固化,讓你隔天的表現變得更好。

除了反饋之外,另一個非常重要的事情是意識到現實所進行的修正。在一開始投很爛的時候,我不斷地嘗試各種投法,看看哪一種效果比較好。隨著嘗試的次數漸增,我漸漸發現一些重要因素,像是投球的方向很重要,方向只要稍微有偏差,就容易彈出籃框外,因此要有意識地控制自己的肌肉瞄準籃框。另外還有力道,我的問題通常出在過於用力,導致撞到籃框根部後反彈出去。最後是拋射角度,在投了上百球後,你會發現某些拋射角度就比較容易進,因此要盡可能讓自己的手臂記憶這類的拋射角度。

瓶頸

綜合這些因素進行修正,在不斷練習之下,我右手投球的狀況已經漸漸穩定下來了,命中率也大幅提高,輕鬆玩到第三分鐘已經不成問題,但此時出現一個麻煩點,分數似乎卡在一個瓶頸,上不去了。

只用右手投球的問題在於,你的右手是會疲憊的。就算你再怎麼準,再怎麼快,第二分鐘和第三分鐘的手感一定不一樣,隨著時間過去,疲憊感會增加,強迫手必須要出更多力,出更多力右會讓手臂更疲憊,這樣正回饋下去,手臂會非常疲憊,進而影響進球率。

我意識到,只用右手是行不通的。左手不能只負責撿球,也要負擔起投球的任務。

前幾次嘗試左手右手並用,簡直只能用慘不忍睹來形容。一來右手失去左手的輔助,進球率也大幅下降,二來左手簡直比我第一次練習投籃還廢,連球都拿不穩,根本不能說是用投的,只能說是用丟的,就跟第一次用左手拿筷子一樣崩潰。

但很快我就注意到,這是正確的道路。想要提高分數,大體上有兩個因素,其一是提高命中率,盡可能讓每球都進,其二是提高投球頻率,球投的越多,當然進的球就會越多。

左右手並用的好處是,投球頻率很明顯地飆上去,左手剛出手,右手就可以跟上,右手投完,左手就出手了。一手在投球時另一手在撿球,做下次出手的準備。更重要的是,雙手並用讓雙手都有餘裕休息,再也不會因為右手密集投球導致過於疲憊而失準。兩隻手共同分攤掉了疲勞的成本。

儘管剛開始兩手並用投不準,看到分數掉一半讓人非常失落,但你要努力說服自己這些都是正常現象,因為這些可以透過密集的反饋練習改善。就像回到一開始一樣,大腦的肌肉記憶非常地強,幾天練習你就可以察覺到自己明顯的進步,你的左手漸漸可以掌握出手的力道和方向,再練習久一點,你的手腕會比以前靈活,左手漸漸生出像是右手的手感,可以像右手一樣控制球的旋轉。做更精細的角度控制。

等你練習到單手右手投球恢復到先前的水準,左手也到一定程度的穩定後,你會發現,突破300分已經是常態了。這時你已經可以算是業餘高手了,我大概花了兩個月,每週4~5天半小時的練習到這個程度。接下來如果想要往上突破,你會察覺到一個新的問題。

下一個境界

想要突破400分的境界,代表你投球的頻率必須往上提高,平均每分鐘必須取得133分以上,也就是大概每秒鐘要投兩球左右。

這個境界意味著不太一樣的風景,你的練習方法也必須要進行修正。在每秒兩球的速度下,你沒有辦法像以前一樣,關注上一球有沒有進之後,再投下一球。因為這樣的速度會太慢,以至於無法突破400分,你必須要不斷地投,不管上一球有沒有進。但這種做法意味著不能讓上一球停留在籃框上太久。如果上一球在籃框上滾來滾去,那麼肯定會對下一球造成影響,甚至造成兩球都從籃框彈開。你必須要盡可能讓每一球都空心,迅速穿越籃框落下,這樣的速度才有辦法突破400分,就算不空心,也要盡可能讓球快速通過籃框,最忌諱在籃框上滾動,影響下顆球的進行。

對超過400分的人而言,最重要的事情只剩下一件:每秒進球率。你已經掌握了大多數進球的技巧,可能偶爾會失誤,但大多數的情況可以很快恢復過來。你剩下的事情只有不斷地練習,讓自己的技巧更穩定、更純熟,盡可能投出更多空心球,並且有意識地加快自己的投球頻率。當你每秒進球率高到一個程度時,你就可以來到傳說中的境界。

練習的重要性

我從完全不會到抵達500分,總共花了三個月的時間練習,這顯示出幾個原則:

  1. 練習非常重要,大量的練習可以讓自己很快地進入狀況
  2. 有意識的覺察自身的問題,並且進行修正,才有辦法突破到下一個Level。
  3. 要到達神乎其技的境界,需要的練習量恐怕遠遠大過先前的努力。

論有效的練習

這個經驗帶給我很大的啟發,練習的力量是非常驚人的,我希望能把這個過程推廣到其他的生活經驗,成為一種有效的模式。對投籃機來說,投進就會獲得分數,因此投籃本身就是非常有效的練習,只要經過密集地練習,每個人都能成為投籃機高手。可惜世界上大多數的事情和投籃機不大一樣。

有些事情的反饋期間很長,在短期內是看不到效果。你不會因為昨天努力舉了10kg的啞鈴,今天就可以舉15kg。一來肌肉的生長本來就不快,二來有太多因素會影響成效,包括姿勢、課表、飲食、睡眠,而這些因素的影響可能要以周為單位、甚至更長才看得出來。

有些目標缺乏衡量的指標,舉例來說,你立志希望成為很會寫程式的大大。但到底要怎麼樣才算大大?想要把英文學好,什麼叫做學好?是口說好?寫作好?還是閱讀快?目標不夠具體,努力就容易失焦。而目標太過遠大,容易看不到自己的進步,產生懈怠感。

有些時候,你的練習本身就是無效的,我們都有過這樣的經驗。考試前讀了很多教科書,好像自己把許多要考的知識都巡邏了一遍。但實際上場,發現自己好像讀了很多東西,但卻一點幫助沒有。或是看了一些程式教學的書,就好像自己變厲害了一樣。但實際卻兜不出一個可以動的程式。

你必須要一一克服這些盲點,努力讓自己進入有效練習的狀態,才有辦法像投籃機一樣大幅進步。

如何進入有效練習的狀態?

  1. 把大目標拆成小目標,小到你可以規劃出達成的步驟,並可以明確看到自己的進步
  2. 實際動手勝過用眼睛看,要動手才會進步,不動手,只用眼睛去讀、甚至讀完作筆記,這些行為都是在騙自己,好像看起來很努力,但是效果卻不如直接拿來運用來的深刻。
  3. 練習的密度要夠大,每天練習會在大腦產生神經迴路,在睡眠時進行鞏固,密集的練習可以加速這個循環。
  4. 練習時要尋找自己的問題和盲點,並且進行修正。
  5. 當自己能夠明確察覺自己的進步,自然而然會進入愉悅的心流狀態,每天練習時會很有動力。對於需要一段時間才會產生回饋的目標(例如減肥、運動、學英文),抱持著長期的心態去慢慢校正,需要時可以請教前輩、或是給予自己短期獎勵。

做到以上幾點應該就能成為高手了,但想要到達神乎其技的境界,練習量恐怕遠遠勝過成為高手所需。

 
about 1 year ago

System Call的錯誤處理

檢查錯誤是非常好的習慣,因為你在未來的某一天,很可能會因為沒有養成這個習慣,花費數十個小時在抓一個「這應該不大可能出錯」的System Call上。因此在使用System Call時,請養成檢查錯誤的習慣。

每次系統呼叫失敗的時候,通常會回傳一個特殊的值,絕大多數的情況下是-1,或是NULL,極少數情形是其他特殊的值。這些回傳值只是告訴你:你已經死了,至於你是怎麼死的,他們會留下驗屍的線索,也就是errno。

一開始程式啟動時,errno是0,代表一切正常。但隨著程式出現錯誤,errno會被設成非0的值,代表錯誤的代碼。透過檢查這個代碼,可以得知是哪種類型的死因,就可以有個驗屍的方向。

標準的驗屍流程是這樣的:

  1. 檢查回傳值,看看自己是不是死掉了
  2. 如果死掉了,檢查errno驗屍

關於errno,有以下幾條規則

  • 成功的System Call或Library function不會將errno設成0
  • 但成功的System Call可以將errno設成其他非0值(這是SUSv3允許的,儘管很少人會這麼做)
  • 連續兩次的System Call,後面的System Call可能會覆蓋掉前面的errno

用來印出錯誤訊息的System Call有兩個,分別是perror和strerror

perror

#include<stdio>

void perror(const char *msg);

perror會印出自訂的msg字串,然後加一個分號和空白 : ,然後直接印出該errno所代表的錯誤訊息到stderr上。
通常自訂的msg字串會是剛剛使用的系統呼叫,這樣比較好除錯。

範例:

fd = open(pathname, flags, mode);
if (fd == -1) {
  perror("open");
  exit(EXIT_FAILURE);
}

strerror()

strerror()會接收錯誤代碼,並回傳錯誤訊息的字串指標,這可以讓我們方便印出更格式化的錯誤訊息。

#include<string.h>

char *strerror(int errnum);

範例:

#include <stdio.h>
#include <string.h>
#include <errno.h>

int main ()
{
  FILE * pFile;
  pFile = fopen ("unexist.ent","r");
  if (pFile == NULL)
    printf ("Error opening file unexist.ent: %s\n",strerror(errno));
  return 0;
}

有一點要注意的是,因為實作上回傳的字串所使用的空間可能永遠是同一個,因此連續兩次sterror的呼教可能會把第一次呼叫的字串洗掉。

特殊情況

  • getpriority()的成功回傳值可能是-1,因此要檢查錯誤時,你必須先把errno設成0,呼叫完之後進行檢查看看是否有出錯。
  • 極少數的System Call永遠不會出錯,可以不用檢查。像是getpid(), _exit()

我要如何得知errno數字所代表的錯誤名稱?

這是研究這段時產生的疑問,我能不能透過errno反查錯誤名稱(例如EOVERFLOW),而不只是印出錯誤字串。答案是,可以但是非常麻煩,你不會想要這麼做。請參閱這則stackoverflow上的問題How can I print the symbolic name of an error in c

如果你真的想知道錯誤訊息是哪個錯誤名稱,可以直接man errno去對照比較快。

資料來源

 
about 1 year ago

目前正在服役中,可能是因為無時無刻不在抽時間學習、充實自己的關係,最近被同事、室友問了同一個問題,為什麼你要那麼認真讀書啊?

對於這個問題,我只能笑笑帶過,因為問這些問題的人多半不是認真的,他們的心態比較像是在觀察野生動物,發現自己身邊有個怪胎,想要知道他在想什麼而已。

我實在很難從嘴吧說出「因為我想要持續成長啊」,通常這麼做只會帶來更多疑問而已。我會用「這樣以後比較好找工作」帶過,他們就會露出恍然大悟的表情,然後我就可以繼續做自己的事情。

我們沒有太多時間。

在寫下這段文字的時候,我還剩282天就要退伍。我一點都不覺得九個月很多。每天起床開始,時間對我來說就像沙漏般流逝,這是我大學四年中從沒經歷過的感覺,我知道被叫出去送公文一趟大概會花多少時間,被叫去領物資又會花去幾小時。幫忙處理文書作業要耗多久,而一天中剩下的能夠讀書、鍛鍊自己、充實自我的時間還剩下多少。

我很難用簡單幾句話告訴那些無法理解的人,為什麼要像書呆子一樣持續努力。因為你沒經歷過我的人生。你不知道我大學四年抱著創業的心態想了很多點子,努力去付諸實踐,但絕大多數都失敗所獲得的經驗。你不知道我在做自動飲料機計畫後,意識到想要解決真實世界問題,背後所需要付出的代價,不管是金錢上還是知識上。你不知道我看了哪些書、聽了哪些演講,不斷檢討,想要分析自己失敗的原因。你不知道我在夜深人靜的時候,一個人聽著李宗盛的山丘,對自身方向迷惑的徬徨。

在經歷過大大小小的事件,做出一次次的抉擇、並且在反省、檢討自己的過程中,對於某些領域,我看事情的角度變了,對於某些決策,我評估的方式變了。我變得比以前更加了解自己,原本模糊不清的人生方向漸漸清晰透明起來。我累積了許多心法和方法論,並且不斷地裝備、擴充自己的知識。我意識到趁早投資自己比什麼都重要,不要被眼前的蠅頭小利所迷惑。我相信生命是長期而持續的累積,複利的力量會在未來某一天帶來回報。我相信大腦可以鍛鍊,透過系統化的方式避開心智的謬誤,做出更加正確的決策。我相信時間比什麼都貴,因此應該花費在重要的人事物上頭。

我願意花2500聽一場演講,只求能獲得改變一生的觀念。儘管目前服役的薪水在台北僅能勉強糊口,但我依然不斷買書,不斷地閱讀,因為知識量只要大到一個程度,就會開始彼此連結,這些東西在未來不知能開創多少機會,少走多少冤枉路。持續思考,不斷修正自己做事的方法,用更有效率的方法做好更多事,這些都是對現在的自己投資,會在未來的某天獲得回報。

因此,我實在不知道要怎麼回答「為什麼你要那麼認真讀書」,因為這不是短短幾句話就可以理解的。

 
over 1 year ago

PTT上社家署社會役的心得文並沒有很多,但以前的學長還是提供相當多重要的資訊,讓我能夠預先做好準備,選到想要的單位,為了感念前人的耕耘,因此寫這篇心得回饋社會(我比較喜歡稱為求生手冊)。

前言

僅將此篇文章致贈給那些相信努力可以改變命運的人。

我的核心價值觀是:透過萬全的努力與準備,你可以大幅提昇自己脫穎而出的機率。

很多人認為選單位、選役別,一切都是命。大家其實都差不多,剩下的就是看運氣。我認為這是完全錯誤的觀念。儘管人生大大小小的事情都包含了運氣和努力的成份在內,但是透過有系統、有規劃的努力,你可以讓自己不被運氣左右

我在第一天選公差時,每次都舉手,每次都猜拳,但是每次都猜輸,完全沒有搶到任何加分公差,儘管如此,我的生活考評是72分(大家基準點是75分往下扣,應該算是相當不錯的)。成績是182人中總排名第4名,這些都是透過事前爬文準備達到的結果,只要有系統的努力,你也可以做得到。

求生守則一:成績高高隨便挑 分數鳥鳥去外島

把成績衝高

不管在專訓還是成功嶺都一樣,你能不能夠選到想要的單位,100%取決於成績。成績越高,就越先選,成績差就只能挑人家不要的。因此你所有的努力都應該投注在把成績衝高。社家署社會役成績的配分如下

  • 40% 成功嶺新訓成績
  • 40% 專訓學科測驗成績
  • 20% 生活考評成績

其中成功嶺的成績早就決定了,你能控制的就是剩下40%的學科成績和20%的生活考評,因此好好了解如何提昇這兩個的成績是相當重要的。我們這梯最後一名跑去澎湖老人之家(澎湖的郊區)。

求生守則二:內務要點勤注意 不被扣分是加分

先講20%的生活考評成績如何計算,每個人一開始都是75分起跳,之後透過種種加扣分,來決定你最後的成績。扣分的要點多如牛毛,加分的要點非常稀少,因此請抱持著不被扣分就是加分的心態去努力。

扣分要點

你能控制的部份

  1. 該帶的東西一定要記得帶,不要穿錯服裝、一定要記得帶狗牌。小帽、包包何時要帶何時不用,自己聽清楚。沒帶到扣1分。
  2. 叫你不要講話就不要講話,當隻乖乖聽話的狗就對了,點名答有時大聲宏亮,以前文章說會加分,但是我這一梯看起來沒有。
  3. 自己的房間內務要整理好,要點下面會講
  4. 不要在不該使用手機的時間使用,社會役專訓可以攜帶手機,但是只能在限定的時間開放,其他時間被抓到(充電器還插在插座上也算,用完起記得收不要瓜田李下)一律扣3分。
  5. 吃完飯後努力排椅子
  6. 養足精神,上課不睡覺,睡覺的話扣3分,非常重
  7. 以前爬文說有集合時不能笑,笑了會被扣分的狀況,我這一梯看起來是沒有發生。
  8. 一間寢室四人睡,但只有兩個插座,建議可以帶一個延長線過去,室友會很感激你的
  9. 小心第一天的內務突襲檢查,這是脫穎而出的關鍵

你不太能控制的部份

  1. 餐桌的灰塵檢查,這點可以靠非常努力的手刀來達成,但是運氣成份有點重。
  2. 你的室友,如果你的室友有家因或是優先返回戶籍地,請多多注意,因為對這些人來說,成績好壞都一樣,只要不要分數被扣太慘就好,但是對你來說,分數非常重要,他們可能會拖累你的內務分數。但要是發生了,你還是可以透過努力來進行危機預防。
  3. 能不能選到公差,這點完全運氣,公差會加1~3分左右的樣子,請每個公差都努力舉手猜拳吧,不會很累,要是選中了起跑點就比別人高,就算沒選中也沒關係,好好把握其他努力的機會。
  4. 寢室距離集合場的距離,這有好有壞,不過影響不大。如果你的寢室在3F,每次集合時會比較趕一點,1F的話慢慢來沒關係,但是1F每次都要上2,3F洗澡刷牙上廁所,避免吵到住1F的長官。

以下開始解釋一下各個要點的說明

內務

這裡的內務比成功嶺輕鬆蠻多的,但還是有一些東西要注意。應該第一天晚上,學長就會開投影片跟大家解釋內務的要求和評分標準,他們講解的相當快,因此請仔細聽,在這裡列要點,這樣你們在聽的時後就不會手忙腳亂

  • 床上內務
    • 床墊上面會鋪一張床單,這裡的床單只是一塊布,你必須用這塊布把床墊表面包起來,布的圖案是淡黃方格的,請盡量讓線平行和垂直床墊的四個邊會比較整齊,不過評分主要的重點是表面要平順。另外請將床墊貼牆
    • 棉被睡起來請折成豆腐,要折角捏線,這裡有個內務唯一的加分機會,就是棉被折的非常整齊、平順、立體,就會加一分,不過可遇不可求,你必須先有一條鬆軟適中,適合捏線拉邊的棉被,我們這梯一百八十人大概只有2,3個人有加分,所以不用太拘泥在這裡。
    • 棉被的方向有規定的折法,先從桌子方向往床的方向對折,再從門的方向往窗戶的方向折1/3,再折1/3。折完後一樣要先貼牆,再靠窗,請一定要做到。
    • 枕頭一樣貼牆靠窗,一定要確實靠到
  • 床下內務
    • 放水盆、鞋子的地方,有規定的擺放方式。從床前到床的方向依序擺放沐浴乳、牙膏、牙刷,刷頭朝門,沐浴乳請立放,並將正面朝外。牙刷刷毛朝天。鞋子臉盆都切齊地板金線。
    • 鞋子有規定的擺放順序,遇缺的話往前補,分別是

  • 離開房間集合前,衣櫃、抽屜一律關好、書架只能放書(好像可以放水杯)但你通常也不會帶書,所以沒差,如果你要放書,請靠門貼齊書櫃。桌面淨空,椅子靠窗並向前靠攏靠緊。
  • 抽屜、衣櫃最上層不會拉開來檢查,所以有垃圾雜七雜八的就丟進去沒差
  • 衣櫃擺放順序有要求,請至少有一個空衣架,然後擺放方式衣服有順序,請弄得跟成功嶺差不多整齊就好,記得衣服要向左右靠緊 。順序如: 中間=短制=長制=制外套=體育外套=便服=空衣架=兩側,不過通常你們只會有一件掛著制服或運動外套而已,所以不用緊張。
  • 離開房間時,窗簾綁好、除了大門,其他東西都要關起來(抽屜、窗戶、衣櫃)。所有電器都要斷電,有充電的請一定要拔充電器,絕對不要忘記關燈,不然會被幹到飛起來。
  • 毛巾請折好拉平掛好,不會很嚴,所以只要有對齊有拉就好,記得懸掛時要貼齊毛巾桿的邊緣。懸掛的時候毛巾側邊的開口方向也有要求,請朝門軸方向。
  • 地板乾淨無垃圾,不會很嚴。

到時候還會講解衣櫃哪個是誰的、床位哪個是誰的,請在內務講解時投影片內仔細聽就好。

大概就只有以上幾點要求而已,其中椅子靠窗靠攏和桌面常常很多人忘記,請一定要記得,另外第一天晚上講解完內務整理方式後,會回寢室換裝洗澡,之後就晚點名。第一天晚上晚點名期間就會立刻突襲檢查有沒有作到內務律定事項,很多人會在這邊栽跟頭,這是可以靠爬文和努力事先預防的,該拿到的分數就該拿到,請不要發生這種事。

求生守則三:椅子靠緊要排圓 手刀萬能刮灰塵

社會役專訓最為人稱道的就是伙食很不錯,基本上四菜一湯,晚上還會有額外的甜湯(給料很大方、豐富)、水果(蕃茄的等級和成功嶺完全不同level,有一次還一人一顆蘋果)。東西都相當好吃,有魚有肉有豬腳,這是一天中最幸福的時光,請努力吃飯,才有精神讀書。

吃完飯後,會將廚餘集中、碗交給桌長洗,其他人就要負責擦桌子,其中桌子、椅子的結果會影響生活考評成績。桌子會先用濕抹布擦過一遍,再用乾抹布,最後用手刀刮灰塵,灰塵括不乾淨,椅子沒排圓就是全桌每人各扣一分,桌子椅子分開計算,三餐都會評,越晚抓住清潔要點就會失越多分。通常第一次所有桌子都會被扣分,因此請盡早在第一次被扣分之後,向學長們請教如何檢查灰塵、椅子怎麼樣算排圓。雖然學長們都不太會笑,看起來都圍事樣,但是請教這些問題並不會扣分,所以能問就趕快問

這裡我大概講解一下清潔要點,首先桌子一定要擦乾淨,不要有油漬是基本,等到用乾抹布擦乾之後,很多人一開始不知道怎麼看灰塵,請蹲下來,眼睛和桌子表面平視,你會看到桌子上方有些許白白絲絲極為微小的灰塵,不要懷疑,他們就是檢查這個,請用手刀努力地把這些灰塵刮掉,小心不要留下指紋,最後刮完請記得把桌牌放回去,我們桌有一次就是刮的太乾淨,連桌牌都刮到椅子上了,直接被扣。

椅子的同心圓要求也是非常重要,請再三仔細的排好,稍微有一點橢圓都不行。

對了,不用費心準備除塵紙和除塵滾輪了,裡面不准用(我想是會影響手刀傳統的關係吧),反正就努力刮吧。

求生守則四:主動幫忙表善意 扭轉劣勢換環境

記得,餐桌是一項團體分數,被扣就是整桌的人一起被扣,所以及早建立起同桌的夥伴關係是相當重要的一件事。就算是這種集體分數,也是有可以努力下手的地方,我建議各位可以主動幫同桌吃完飯的朋友蒐集垃圾,有人起頭,大家就會建立起合作的默契,之後倒廚餘、刮灰塵、都會比別人手腳俐落,就比較不會被扣分。

其實內務也是同樣的道理,主動幫忙永遠是最佳策略。當時我的寢室有一位有申請優先返回戶籍地,另外一位家因,而且還有抽煙習慣,第一天就帶一堆泡麵進來(雖然說泡麵在這裡不是違禁品,但到底是怎麼從成功嶺帶進來的啊……),在違規時間偷用手機,我第一天看到就傻眼,因為對這兩個人來說,分數再差,也能選到自己家附近的單位,對他們來說沒有誘因讓自己變更好,要是家因那位擺爛,充電被抓、桌子沒收乾淨,那團體內務的部份我會跟著被扣爆。為了避免這種情況發生,請先透過就主動幫忙折棉被、弄床單,建立友善的關係。後來寢室氣氛就會比較熱絡,此外,我第一天也提醒整寢晚點名後會有內務突襲檢查,讓避免大家被扣分,之後整寢就養成了集合前會檢查房間的默契,接下來到結束,我的內務完全沒有被扣到分,此外我還發現家因那位同梯非常會折棉被,甚至還幫另外一個同寢的折到被加分,後來還主動說如果被抓到違規,可以幫忙承擔,反正對他來說扣分沒差。這一切並不是運氣好,而是靠努力去扭轉劣勢,讓自己處於正面的環境。

求生守則五: 講義考古用心背 讀書讀書再讀書

專訓的考題全部來自於一本厚厚的專訓講義,總共有180多頁,一頁大小跟A4差不多。基本上,你根本讀不完

專訓筆試佔了總成績40%,基本上等同你在成功嶺努力16天的比重。只要這樣想,你在這邊只要每天吃好睡好認真唸書,就可以拿到比成功嶺16天拼死拼活折棉被還高的分數,你就會充滿動力。

專訓的考題來自於講師出題,總共有13個章節,內容涵蓋兒少福利、機構老人福利、機構身心障礙者福利、機構我國福利政策壓力調適居家服務(我國長照10年計畫)替代役精神替代役勤務要點性侵害、性騷擾、家庭暴力、性剝削防治,我在這之前把所有的考古題都下載下來看,但是很多考古的年份梯次都太老了,不是說沒幫助,而是考古的年份太老,講義更新後,一部分已經失去參考價值(像是一堆健康標準的數字、糖尿病、血壓、危機處理、那些統統不用看),如果各位想要利用新訓結束兩天的假期讀考古,請直接先閱讀我上面講過的13個章節涵蓋的內容部份就好。

為什麼網路上沒有流傳任何講義,很簡單,因為專訓期間大家都在忙著讀書,和女朋友聊天,沒有人會想要把寶貴的使用手機時間留在拍攝180多頁的講義上,而且一考完試講義就會被收回去,所以外流的機率太低了。不過也不用緊張,一定要先印考古題,回成功嶺撥交前一天晚上就可以先看,進去之後好好把握時間讀講義就好。

對了,強烈建議你買一本筆記本,因為考完試後,講義就會被收走,只要此時講義上沒有做任何記號、劃線、筆記,就可以加分。全班有八、九成的人都會這麼做,所以請不要放棄加分的機會,因為此時不被加就等於被扣。另外,帶一本筆記本好處是可以常常默寫(不要寫錯字)、整理重點、畫心智圖、紀錄內務要點、選單位說明會時紀錄服勤處所等,相當好用。

關於準備考試的方式,這邊先解釋一下上課的方式,和題目是怎麼出的。

上,下午會各上兩門課,晚上一門。從你專訓第一天下午第一門課開始,到第四天下午第一門結束,每天都在上課。第四天下午上完第一堂課的時間就直接考試。所以沒預習絕對讀不完。考試的題目,選擇20題,是非15題,一題2分,簡答題題數不定(通常是2~3題),每題需要回答的格數也不定,總共30分,合計100分。

出題方式是由該門課的授課老師,出5題選擇、5題是非、5題問答作為題目,然後由專訓的主管或幹部負責從中挑選規定的題數作為考試(因此老師出的題目並不一定會考出來)。考試內容、用字遣詞完全以講義為依歸,和老師上課的投影片無關。

因此有時候上課老師會很直白的說,我知道你們為的只有考試而已,不如這樣,你們認真上課,我直接告訴你們會出什麼。這種時候,建議你把耳朵放在講者上,眼睛趕快掃過講義趕快背其他東西(你的時間一直沒有很多,不要浪費在聽老師講笑話、放影片、解釋很無聊的條目、一張一張講解講投影片上),聽到關鍵考題,趕快抬起頭紀錄下來順便背就好。

簡答題很賤的地方在,考試範圍非常大,而且只要答案錯一個字就全錯,你幾乎無法預測他會出什麼題目作為簡答題,像是這次出了請舉出兒童安置教養機構的服務項目,請寫出3點(總共好像11點左右吧),打死幾乎所有人(考古完全沒出現過)。以前甚至還聽說有梯次考過「身心障礙者的輔具有哪幾類,請列舉出N點」。因此大家平常的時間都在拼命死背條列式的項目、年份,背越多越可能拿高分。

我對於這種方法的建議是,不要毫無依據的採用焦土式策略,把所有覺得可能考得項目都拿去背。背誦方向請回歸到考古題。原因很多PTT版友都提過了,180頁的講義不是三天就唸得完的東西。如果你毫無章法的亂準備絕對死。而考古題是投資報酬率最大的部份為以前考過,未來當然很有可能會再出現。我的作法是替每個考古題找出講義內的相關的章節,然後再以講義內容為依歸背誦。考古題前人的屍體是憑記憶留下來的,正確的答案的憑據還是在講義上。行有餘力,再來背其他自己列的重點。

再來請小心!!!有附上答案的考古題並不是每題都是對的!!我自己在讀講義,邊爬邊對照,有看到幾題敘述上有瑕疵、錯字等,請各位注意,實際作答時請完全照講義上來回答,這樣就算你寫錯了,還是可以在檢討考卷時跟學長要求更正。(像是人口紅利<50%會開啟機會之窗,請看清楚是扶養比還是扶老比,主副食費不再是2915/3815了,講義已經更新到3055/3999,是非題Titmuss工業三模式是殘補式、工業成就及制度式,考古答案O,我們這梯有考出來,一開始公佈的結果答案跟考古一樣,但後來有役男舉手反應講義上應該是制度再分配,所以學長就把答案改成X,這題一堆人炸裂)

基本上,選擇和是非不用太緊張,不會太刁鑽,請搞懂考古題每題錯的地方在哪,在你熟讀考古題的過程,你會把講義翻熟,另外不要只顧著死背答案而忘記看每個條列式後面的敘述,至少看一下有個印象,是非題有時候讀起來會很似是而非,不太完全能夠依靠常識作答,搞懂考古會非常有幫助。

我自己的讀書時間規劃上,採取先廣泛,後精讀,最後考古重點輔助的策略,每個人讀書的方式不一樣,給大家做個參考。

第一天拿到講義~第二天下午結束前,要邊讀考古題,並掃過整本講義,為每個章節抓出重點寫在筆記本上。
第二天下午到第三天下午,開始填鴨,努力想口訣、默寫(怕有錯字),目標是盡可能把考古題的簡答部份背誦下來。
第三天下午到第四天下午考試前,複習考古題、背熟容易遺忘的部份,不要讓自己處在一知半解的印象,那會很可惜。

請自己好好利用時間,午休雖然有開放使用手機,但建議你發幾個fb訊息就去趴吧,有睡覺下午的精神才會好,你就有一整個下午的時間可以背誦,而且睡眠時大腦會整理記憶,適度的休息讀書才會有效率。

專訓並不像成功嶺那麼趕,什麼都一直催,相對來說時間比較寬裕(相對來說啦),各位可以利用集合點名前時間讀熟、集合場上發呆的時間回想自己之前背的東西有沒有背熟,字會不會寫。這裡考試成績幾乎等於一切,頭腦好、讀書有技巧的人相對佔優勢,這會影響你接下來一年的生活,請好好把握時間努力。

以前學長還有提供一些口訣(公正包、參照吳宗憲……等),對我幫助很大,所以這裡我也提供一些這次自創的背誦口訣

以下評印象寫的,口訣是我自創,如果有錯誤請自行更正,以講義為主

  • Titmuss三模式:殘補式福利模式、工業成就模式、制度再分配模式(人穿服)
  • 老人機構主要有哪三類?長期照顧機構、安養機構、其他老人福利機構(長安下圍棋)
  • 長期照顧機構底下又分成哪三類?長期照護型、養護型、失智照顧型(常常癢癢溼溼的,請自己想到奇怪的地方幫助記憶)
  • 身心障礙機構主要有哪三類?住宿機構、福利服務中心、日間服務機構(身心障礙者祝福日)
  • 兒少機構五大類型?托嬰中心、早期療癒機構、安置及教養機構、心理輔導或家庭諮詢機構、其他兒童及少年福利機構(人買餐,安心下圍)
  • 我國福利規劃特質分為 普遍性 和 選擇性(普選)
  • 十年長期照顧計畫八大服務?照顧服務、居家護理、社區及居家復健、輔具購買租借及住宅無障礙環境改善服務、老人餐飲服務、交通接送服務、喘息服務、長期照顧機構服務(照顧 社區氣和里居家 配)

本次測驗有出現的考題關鍵字

  • 家裡照顧長者的免稅扣除額增加50%
  • 兒童及少年福利的主管機關不是內政部
  • 簡答題
    • 替代役核心價值(公益服務,幫弱勢族群,服役中學習,學習中成長)
    • 高齡化社會和超高齡社會的百分比(7%, 20%)
    • 兒少福利機構的服務項目寫出三點

講師台上講過,本次測驗沒出現的考題關鍵字

  • 長照十年計畫的三大倫理(維護案主權益至上、培養案主自我決定、保密與保障案主隱私)
  • 南投啟智教養院的服務特色(6項舉2項) 五把金鑰匙那個講義找不到了,可以不用背了

求生守則 附錄A 單位分發和選擇

很多人會去爬歷史紀錄,看看過去哪些單位爽,哪些單位雷。但是很遺憾,社會役這裡,爽缺基本上都會低調,只有非常雷的缺才會被PO心得文上來。我的建議是稍微爬一下哪些是雷機構雷單位,其他能做的準備真的不多。

首先要了解整個替代役的架構,基本上政府組織就是疊床架屋,上面管下面,下面管下下面

主管機關(內政部) ---> 需用機關(社家署) ---> 服勤單位(你上班的地方上級) ---> 服勤處所(你真正上班的地方)

其中服勤單位就是你用專訓成績去挑的單位,全台社家署下面的單位總共有42個。選完服勤單位後,會再依照各個單位的管理人的歷史習慣來決定你會去哪個服勤處所,像是台北市政府社會局就是役男自行協調(這真的是門藝術)、高雄市政府社會局是按專訓成績、台南市政府社會局是按照戶籍地等,其他還有猜拳的,這些方式會真的影響你上班的地點,請特別注意。

網路上我好像找不太到所有服勤單位,所以我在這邊很佛心的幫大家列一下

1 衛福部社家署北辦(總部)
2 台北市政府社會局
3 新北市政府社會局
4 台中市政府社會局
5 台南市政府社會局
6 高雄市政府社會局
7 桃園市政府社會局
8 宜蘭縣、新竹、苗栗、彰化、南投、雲林、嘉義、屏東、花蓮、台東、澎湖縣政府
18 (以上)
19 基隆市、新竹市、嘉義市政府
22 金門縣政府、連江縣政府
24 衛福部北區、中區、南區兒童之家
25 衛福部少年之家
26 衛福部北區、中區、南區、東區、澎湖老人之家、衛福部北區老人之家頤願自費安養中心
34 衛福部彰化老人養護中心
35 衛福部南投啟智教養院
36 衛福部雲林教養院
37 衛福部宜蘭教養院
38 衛福部社會救助及社工司
39 衛福部保護服務司
40 衛福部社會保險司
41 衛福部國民年金監理會
42 衛福部福利人員訓練中心(就是你專訓待的地方的幹部)

基本上衛福部開頭的單位,服勤處所就是服勤單位,至於其他縣政府、直轄市政府社會局,可能會分配到政府機關、或是公立私立機構去。

大多數人的命運從選擇那天起就決定了,剩下的只是努力而已

很遺憾的是,會開出什麼上班地點缺,在進去前並無法得知,一般組的可能可以大概知道各縣市數量(本梯六都較多,大概10個左右,其他縣市政府看情況,大概在3~6個左右,衛服部系列1~3個),專長組(護理、資工、社工、餐飲)的則完全是命

決定你是一般組,還是專長組,是在選役別的時候就決定了,之後各組只能組內競爭,一般組的選一般組的單位,專長組的選為專長組特別開的單位。這裡我相當建議,如果你是專長組,組內人數不超過8人、或是你有非前往戶籍地不可的理由,或是一般組看起來需要抽籤,中簽機率低,否則請在選役別的時候趕快跳到一般組。

原因是,不超過八人的一般組,全台灣開出的單位、選擇不會超過八個,除非你有把握考很高(就是覺得自己算蠻會讀書),不然是有可能會流離失所(?)。

我們這梯餐飲組有3個人、社工組有13個,資訊組9個,基本上餐飲組相當慘,開了桃園、北區老人之家、南區老人之家,你成績考再好。屌打所有人,還是只有這三個可以選。資訊組開台北市、台中市、台南市、高雄市、台東縣、嘉義市、中區兒童之家、少年之家、中區老人之家,相對來說,地點就比較遍布全台,你只要考贏其他八個人就可以第一個選,但實際上,我認為這運氣成份還是有點重,實際上會開哪些地點的缺你只有選完組別後才會知道。

專長組的好處是你不太會有資訊過載的問題(冰淇淋8種單一口味跟42種綜合口味選一種,絕對是8種口味比較好選),因為你選完單位後一定是去開你專長缺的上班地點(服勤處所),所以你選完單位幾乎就等於選處所(有少數例外,像是一個單位有兩個專長缺可以選擇,但只有一個人可以選進去,那時候就要看該單位承辦人怎麼決定)。另外,專長組的缺工作內容都會比較跟專長有關,所以自己考量。

一般組的人如果考試成績考很好,那就是躺著選,成績出來你就無壓力,慢慢想就好。但如果你成績30%之後,你會比較辛苦,因為想選的單位可能被別人選光光,變成你要做超級多功課(你只是選單位,進去哪個處所看命運),所以努力讀書是有回報的,當個成績前20%的人讓別人去問你想選哪個,遠比當後50%的人排一堆志願順位輕鬆。

其他選單位的注意事項、有沒有冷氣、網路、住的環境(幾人一間、地點)、上班交通方式、工作內容、點名時間等,不用做太多功課,因為你也爬不太到,只要爬雷缺心理有底就行,其他的請進去之後考完試當天晚上,暖男俊延哥會幫大家做詳細的說明和介紹,請準備筆記本用力抄,當天晚上回去房間後還是可以去交誼廳,問問俊延哥和北辦的學長,他們會很熱心為你解答。你的時間沒有太多,隔天就要做決定,如果投影片太快,晚上能用手機可以直接上社家署網站社會役專區,慢慢看梯次資料的投影片。(我成績出來當天晚上有直接用手機開開看,已經有放上去了)

每一梯的開缺差異恐怕相當大,所以這一梯的資料只能僅供參考,讓你大概有個概念,實際上會發生什麼事沒有人知道,舉例來說,這一梯新北開的缺有在板橋、深坑、淡水、八里的(請不要以為新北只有板橋XD),聽說以前有過一堆缺都在海景第一排(金山萬里),那個時候大家就不一定會把新北當第一志願。

求生守則 附錄B 考試成績複查

考試的時間非常緊湊,一考完沒多久就會立刻檢討答案。檢討是並不是把考卷改好發下去。而是先在投影片上列出每一題的題目和答案,然後問所有人有沒有疑義,如果有話舉手,沒有的話就一概不受理。之後確定好答案後再用這個答案下去改考卷。

請特別注意,提出答案有疑義時,一定要舉出這是講義第幾頁的內容,不要只說這題好像怪怪的、或是我自己的考古資料答案不是這樣,不然會被學長幹浪費大家時間。其實每題等待你找答案的時間不到30秒,所以如果有問題,請快速的翻閱並舉手詢問。真的有問題學長不會刁難,會非常乾脆的修正答案。

此時相當建議你做個紀錄,知道自己大概錯幾題,得幾分。晚上吃飯時間,幹部們會去改考卷,之後回去教室就可以知道成績了,之後會給你一次機會申請複查,如果你發現分數不對,請在幹部詢問後直接舉手,帶去教室外複查,不要害怕,真的有疑慮一定要舉手,不然之後一概不受理。如果最後發現是你自己粗心寫錯字,會被幹很兇浪費大家時間(但是又不會扣分,所以你真的覺得成績有問題,就舉吧,至少知道自己是怎麼死的)

接下來會有最後一次的總成績複查,此時就不能複查學科成績了。只會複查成功嶺成績、日常生活考評成績,還有總分。日常生活成績每天都會結算,對前一天的總分有問題,當天下午五點前一定要帶著你的內務小條向學長提出,否則之後一概不受理。建議你可以紀錄一下每天的生活考評成績,最後一天公佈時,如果發現分數對不上,可以申請複查。複查完畢後總排名就出來了。

求生守則 附錄C 每日行程表

  • 6:30 ~ 6:50 起床刷牙洗臉上廁所
  • 6:50 早點名(運動服),點完後回寢室整理內務+換制服
  • 7:30 ~ 8:00 吃早餐
  • 8:00 集合準備進教室
  • 8:10 ~ 10:00 第一節課 (課程中間都有下課)
  • 10:10 ~ 12:00 第二節課
  • 12:40 ~ 13:15 午休時間,可以用手機、充電、睡午覺、讀講義、不能講話
  • 13:20 集合(制服)
  • 13:30 ~ 15:20 第三節課
  • 15:30 ~ 17:20 第四節課
  • 18:20 集合(運動服或制服,看當天值星官課程要求)
  • 18:30 ~ 20:20 夜間課程
  • 20:30 ~ 21:30 自由時間,可以用手機、充電、講話、洗澡、讀書
  • 21:30 晚點名(運動服)
  • 22:00 熄大燈
  • 22:30 熄桌燈
  • 23:30 ~ 5:50 夜間自由時間,可以去打水上廁所或是便秘30分鐘

你能讀書的時間就是上課、還有午休、集合前的時間,請自己把握和好好休息,三天72小時很快就考試了。

求生守則 附錄D 學長信箱

這裡有個叫做學長信箱的服務,其實就等於網路上的靠北XX,可以匿名,讓你發洩這幾天一直被扣分不滿的怨氣,不管你是要罵人還是跟學長搞曖昧、越有創意越好,開放使用不雅字眼。可能會解鎖特殊成就事件,這裡就留給各位慢慢體會(這和成績無關啦,不用緊張)。

求生守則 結語

PTT上精華區社會役的心得、考古題文真的不多,而且有考古的重點又太舊,這篇文章是想讓後續努力做功課的學弟可以有個比較全面、完整的準備。我相信努力和正確的方法論可以戰勝命運,儘管還有一部分不確定的因素,但這些資訊應該可以讓各位過得從容許多。

如果這篇文章真的對學弟們有所幫助,讓各位選到想要的地區、單位。希望大家出來之後可以抽點時間還願,發個文,憑印象把考古題的關鍵字、甚至整個題目寫下來,大家都是社會役的一分子,互相幫忙,貢獻己力,透過集體智慧,我們可以讓整個社會運作地更有效率。祝福各位專訓愉快!

 
over 1 year ago

這本書的重點著重在統計的基礎常識,注意在這裡我用的詞是常識而不是觀念,雖然這兩者常常是比鄰而居的,但是比起學習如何套用數學公式,這本書不教統計學的計算方法,數學也用的很淺,對於公式的原理通常都快速略過(一位作者的厲害之處往往在他願意捨棄多少內容,而不是他放入多少東西),但他教的是當我們需要把統計學應用到生活上時,該如何系統化的思考該注意哪些部份

本書關注四個重點,數據如何產生,如何分析資料、用機率思考、統計推論。

一 數據從何而來

母體:就是你想知道的對象的全體。
樣本:就是母體的一部份。我們從樣本蒐集資訊,對母體做出結論。
個體(individual):一組數據描述的對象,可能是人、動物、其他東西
變數(variable):個體的特質,不同的個體可能有不同的特質,像是人的性別、年齡
觀測研究:只在不干擾的情況下蒐集資訊
實驗:對個體進行某些處理,研究是否特定處理會導致反應改變,實驗最棒的好處是可以作為因果關係的證據。

二 好樣本壞樣本

你有很多方法可以取得爛樣本,像是使用方便抽樣,例如你要判斷一箱橘子裡頭有多少爛掉,只打開箱子抽取表面的橘子。或是在站在西門町做民意調查,只挑選那些看起來面對微笑無害的阿宅做訪問。或是使用自發性回應樣本,例如報紙或電視節目,讓觀眾自己打電話進來,那麼多半是對該議題有強烈立場的人才會採取行動。

最公正的樣本是使用簡單隨機樣本(Simple Random Sample, SRS),幫每個母體編號,用隨機的方式挑選個體作為樣本。你可以用電腦或是隨機亂數表做抽樣。

三 樣本告訴我們什麼?

首先要知道的是,樣本絕對沒有辦法告訴我們有關母體的確實資訊,但我們會利用樣本的事實,當作母體真實訊息的估計。我們會用
參數統計量這兩個詞彙。
參數(parameter):描述母體的數字,參數是一個固定的值,但是我們實際上並沒辦法知道。
統計量(statistic):描述樣本的數字,一旦取得了樣本就可以計算出來,但是換個樣本,統計量的值就可能會改變。我們常用統計量來估計參數。

另外,我們要定義兩個詞,一個是偏差,另一個是變異性

偏差(bias):當我們取很多樣本時,統計量一直朝同一個方向偏離母體的參數值。
變異性(variability):當我們取很多樣本時,統計量的值會散開到什麼程度。變異性大就代表不同樣本的結果可能差別很大,一個好的抽樣方法應該要有小偏差和小變異性。

隨機抽樣的好處是能夠消除偏差,另外,使用大樣本可以降低變異性。

信賴敘述包含了誤差界限(margin of error)信賴水準(level of confidence),像是我們有95%信心,在所有成年人當中,有54~60%曾在過去12月裡買過彩券。

因為統計量會有變異性,所以我們會用誤差界限來描述統計量和實際的值可能會差多少。95%的信心的誤差界限大約是1/sqrt(n),因此如果需要把誤差界線減半,需要使用四倍大的樣本。

使用隨機樣本所得到的統計量的變異性並不受母體大小影響,只要母體至少比樣本大100倍就好。另外樣本的統計量的變異性是由樣本大決定,而不是由母體大小決定。這對於小型研究團隊來說不是好消息,因為不管你是要對全台灣的民眾還是對全校的學生做統計,只要你要求同樣的誤差界限,就要使用同樣大的SRS。

四 真實世界的抽樣調查

真實世界中,簡單隨機抽樣不一定簡單,也不一定隨機。

誤差有分兩種,一種是抽樣誤差,另一種是非抽樣誤差。

抽樣誤差來自於抽樣本身的隨機性(可以夠過加大樣本降低),還有抽樣方法出問題。像是樣本涵蓋不全,母體當中的某些部份根本未被納入選擇範圍,像是有些學生住在宿舍沒有室內電話,那麼做電話抽查就打不到這些學生上。

非抽樣誤差包括了處理誤差(研究員key in資料錯誤)、回應誤差,受訪者可能會給與不正確的回答。有時候是受訪者刻意的,或是不自覺的。像是大家可能會謊報收入、學歷、或是記憶模糊導致回答偏離事實。另一種更嚴重的是無回應,這東西很難處理,通常只能仰賴訪查員的專業訓練。最後問題的措辭也會產生影響,把問題表達清楚不一定是容易的事情。「你贊不贊成蘇格蘭獨立」(51%)vs「你是否支持從英國分離出獨立的蘇格蘭」,(34%)。對應這種非抽樣誤差,解決方法在於用其他住戶代替不回應的人、或是給回應加權,試圖導正偏差。

因此相信調查結果之前,你該問以下問題

  • 誰做的調查?
  • 母體是誰?
  • 樣本是怎麼選取的?(注意有沒有隨機)
  • 樣本多大?
  • 應答率多少?(多少比例的受訪者真的提供了資訊)
  • 用什麼方式聯絡受訪者?
  • 調查是什麼時候做的?
  • 問題確實是怎麼問的?

五 實驗面面觀

實驗必須對特定對象加諸處理,如果沒有加諸處理,那就不是實驗。舉例來說,你要分析學生自己在家上網看影片學習,和去學校學習哪個效果比較好。於是你讓學生自由選擇是否在家或在學校,最後再度量他們的學習成果。最後發現在家上網學習的學生成績比較好。但問題是你無法解釋到底是學生本來程度就好,還是是因為上網的關係。這種情況稱為cofounded(交絡),兩個變因混在一起讓你無法判斷原因。

通常單純做觀察,是很難避免cofounded。但如果你做實驗,就可以有效的避免這現象。而隨機化比較實驗是統計學裡頭最重要的概念之一

  • 用隨機化的方法將受試對象分組,因為隨機,所以你分出的各組在實施實驗處理之前應該各方面都類似。
  • 用比較的設計確保,除了實驗上的處理之外,其他的因素都會同樣做用到所有的組身上。
  • 因此反應變數的差異必然是處理的效果所導致

即使隨機化可以消除不同組之間的差異,但差異還是存在,因此你的受試對象要夠多,才能降低機遇變異。此外不同組之間的反應變數差異也要夠大,使的差異不會因為運氣好就很容易發生。如果觀察結果大到某個成,光靠機遇很難發生這樣的結果,那麼我們就說這個結果具有統計顯著性(statistical significance)

如果沒辦法做實驗,那就只能夠透過觀察來研究問題,你可以挑選兩個組,進行觀察與比較,創造出實驗組和控制組,但要記得,比較並不能消除cofounded。

六 真實世界的實驗

就算你按照了實驗的原則設計並進行實驗,真實世界裡還是會冒出各種問題。像是研究人員在研究不同基因的小白鼠,是否會有不同的行為時,異常崩潰,因為似乎實驗室的環境只要有小小的不同,就會對小鼠的行為造成很大的影響。

為了正確的進行實驗,最重要的原則就是一視同仁,對所有受試對象都施行相同的處理,在各方面都一視同仁,唯一不同的就是實驗的處理。因此我們可能會透過雙盲的方式進行實驗,在正式醫學實驗裡,所有接觸受試者的人員都應該盡量雙盲。

另外,抽樣會遇到無回應,實驗也可能會遇到參與者退出、不合作等行為。像是參加新藥測試的病人可能會把藥拿去化驗,看看是不是新藥,還是安慰劑,如果是安慰劑的話,就選擇退出。

另外就算實驗提供有用的結果,一段時間之後,結果可能會改變。一個有趣的例子是1986年開始,美國的出售的車子必須裝置第三煞車燈,就是你後車廂的高處中間那個紅紅的燈。因為商用出租車的隨機比較實驗顯示,第三煞車燈減少5成以上的車尾碰撞。

結果實施近十年之後,美國保險學會發覺,車尾碰撞只減少了5%。效果遠遠不如當初實驗的預期。很可能是因為環境已經改變,當每輛車都裝上第三煞車燈的時候,效果就沒有那麼好了。

七 資訊道德

法律規定必須用設計完善的實驗來證明新藥有效並安全,但是沒有對手術做類似的規範。

基本的資訊道德:施行研究的機構必須設立試驗審查委員會,負責事先審查所有的研究計畫,以保護受試對象,使受試對象免於受到可能的傷害。在蒐集資料前,每一位受試對象都必須在知情且同意(informed consent)的狀況下測試,另外個人資料都必須要保密,只有整體的統計結果可以公開。

知情且同意聽起來很合理,但實際運作下往往不一定會順利,通常向實驗者說明實驗會是讓病人參與研究的障礙,因此研究人員可能不會提到所有的風險、或是說明有比現在更好的療法,或是說明可能的結果太過樂觀,甚至是太過鉅細靡遺,讓整份同意書又臭又長。

保密和匿名不一樣,匿名在統計學研究很少見,因為不利於後續追蹤。

臨床試驗是為了研究療效,實際在病人身上進行的實驗,隨機化比較實驗是肯定新療法有效的唯一方法。但是試驗有風險,可是好處卻往往是之後的病人享受。赫爾辛基宣言指出,受試對象的福祉,永遠要擺在科學和社會利益之前。

著名的反例:塔斯克吉梅毒研究,1930年,梅毒在美國南方鄉下的黑人之間相當普遍,公共衛生處召集了399位梅毒患者和201位沒有感染梅毒的人,觀察梅毒在未經治療時,病情會如何發展。1943年開始,梅毒已經可以用抗生素治療,但這項研究到1970年代才中止,公共衛生處還阻止他們接受任何治療。

八 度量

了解你的變數是如何定義的,舉例來說,你要衡量休閒時間,那到底怎麼樣算是休閒時間?你要度量公路死亡人數,那麼怎麼樣才算是公路死亡?被車子撞的行人算嗎?在平交道被火車撞算嗎?因為車禍六個月才因為車禍中受的傷死亡算不算?什麼叫做失業?

不是所有的特質都可以衡量,我們往往傾向去量測那些容易衡量的。1981年,愛德蒙頓油人冰球隊的Wayne Gretzky,差不多在任何可以度量的項目裡都敬陪末座,力量、速度、反應、眼力等。但他後來竟然在該年打破了國家冰球聯盟的得分紀錄。

隨機誤差會導致你每次量得到的結果都不一樣。因此你可以透過多次度量取平均來消除隨機誤差。但有些度量方法是bias的,就像某些體重計,你怎麼量就是會多重1kg,這時你必須要用比較好的器具來量。

九 數字合不合理

我們舉個關於捏造數據例子就好。1980年代,美國最低收入的1/5住戶,指賺到全美國總收入的4.3%,前1/5高的賺到43.7%。1998年,最低收入賺的錢只剩全部的3.6%,前1/5賺到49.2%。

富比士雜誌為了降低貧富差距,要怎麼做呢?首先一般來說,有錢住戶的每戶人數比窮住戶多,所以我們要改成計算每個人的收入。另外有錢人會繳比較多稅,所以要計算稅後收入。窮人有食物券或其他補助,也要算進去,最後收入高的人工時通常比較長,所以再根據工時做調整,最後變成看起來前1/5只比後1/5高3倍。

十 好的圖和壞的圖

注意季節變動,有些資料會在固定的間隔呈現固定的型態,有些資料在公佈的時後會說已經經過季節調整(seasonal adjustement),代表預期的季節變動已經消除。

注意刻度,不要被華麗的視覺效果蒙蔽。

十一 用圖形呈現分佈

看一個圖的時候,找整體型態,還有是否有異於整體型態的偏差。

十二 用數字描述分佈

中位數:最中間的數,一半觀測值比他大,一半觀測值比他小。如果是基數,則挑中間,偶數挑中間兩個觀測值的平均。
四分位數:(Q1, Q3)

五數綜合圖:最小、Q1、中位數、Q3、最大。
平均數:BJ4
標準差standard deviation,度量的是觀測值和平均數中的平均距離,也就是先算出各具平方後的平均值,再取平方根。

  • 假設n個觀測點,先找出每個觀測值距離平均數的距離,並平方
  • 把所有距離的平方加起來,除以n-1, 所得到的距離平方的平均稱為變異數(variance)
  • 標準差 = 變異數取平方根

只有在沒有離杜的時候,s(標準差)才會等於0,這種情況只會發生在所有觀測值都是同一點的時候。

應該避免使用標準差來描述偏斜的分佈,因為一個兩邊明顯不均的圖,分佈的情況並不一樣。只有在分佈大致對稱,且沒有離群值得時候,用平均數和標準差才是比較好的描述方式。

拿到資料,應該要先畫圖。

十三 常態分佈

當你拿到數據時,有系統的處理步驟是

  • 把數據用直方圖畫出來
  • 尋找整體型態(形狀, 中心, 離度)

我們可以使用密度曲線代替直方圖,密度曲線(density curve)的底下總面積是1, 密度曲線是把整體的分佈弄平滑後的理想情況,因此和真正的圖下方的面積並不一定會相等。

密度曲線下的面積代表全體觀測值得比例。中位數是左右各有一半觀測值得那個點。所以一個密度曲線的中位數就是等面積點。因此用目測法就可以大概知道中位數、四分位數在一個密度曲線的位置。另外對平均數來說,一組觀測值的平均就是他們的數量以及他們的值有關。因此對於密度曲線來說,平均數位於將該密度曲線做成實心材料,放到一個支點上的平衡點位置

常態曲線是對稱的鐘形曲線,具備以下性質。

  • 給定平均數和標準差就可以完全描述該曲線
  • 平均數決定該曲線的對稱中心
  • 標準差決定形狀。同時也是平均數到左側和右側的反區點的距離(why?)

百分之(68-95-99.7)的資料會落在距離平均數(1-2-3)個標準差的範圍內

對於常態分佈來說,標準計分((觀測值-平均值)/標準差)可以直接轉換成百分位數。但其他分佈無法這樣做。

十四 描述關聯的方法 散佈圖和相關係數

分析原則:先畫圖,尋找整體型態和異於整體型態的偏差, 如果很有規則的時候再用很精簡的模型描述他。

相關係數的公式
r = 1/(n-1)sigma((x-avg_x/sx)*(y-avg_y/sy))

意義;

  1. 正的r顯示正相關, 負的r顯示負相關
  2. 相關係數的r值永遠在+1~-1之間
  3. 當我們分別或同時改變x, y的單位的時候(EX: 英吋變公分),r並不會改變。
  4. 就算我們把x,y對調,相關係數還是一樣
  5. 相關係數只能描述兩變數的直線關聯,不能描述其他東西。
  6. 相關係數會受到少數離群值得嚴重影響。

十五 描述關聯 回歸、預測和因果

回歸直線是一條可以描述當解釋變數的x值改變時, 反應變數y會怎麼改變。我們常用回歸直線來預測給定一個x值,y值會是什麼。

最小平方回歸直線是一所有點的鉛直距離平方和為最小的直線。

為什麼使用regression(回歸)這個詞?原本這個字的意思是往回走,但是在這裡我們發現,回歸的意思是從x預測y。原因是因為最找把回歸方法用在生物和心理學的Sir Francis Galton(1922-1911)檢視了兒童身高和父母身高的關聯,發現身高超過平均的父母,通常兒女的身高也超過平均,但不會像父母那麼高,他稱這個現象為朝平均數回歸。所以這種說法就被用在這裡了。

所謂的預測,在於我們將數據對某個模型(model)做適配,有簡單的模型(像直線),也有複雜的模型,模型越能夠配合數據,那麼預測的效果越好。但問題是當變數很多的時候,型態就不一定看得出來,同時要是數據沒有呈現出很強的型態,那麼預測就很容易不准。最後是你無法預測超出你手中資料的知識。你沒辦法從3~8歲的兒童身高數據預測25歲的成人身高數據。

相關係數的平方r^2, 是y值得變異當中,可以用最小平方回歸來解釋的部份所佔的比例(why?)
若r=0.7或-0.7, 則代表大概有一半的數據(0.49)可以用直線關聯來解釋。

記得一件事,相關和因果是兩回事。即使兩個變數之間有很強的關聯,也不代表改變其中一個變數會對另一個變數造成改變。因為兩個涮之間的關聯常常受到許多潛在變因的影響,建立因果關係最好的方法是,透過隨機化比較實驗。舉例來說,我們發現世界各國的人均壽命和該國電視機的數量高度相關,那我們是不是只要送一堆電視機到第三世界,就可以提昇他們的人均壽命?

以下狀況都會造成x和y關聯
因果是因為x導致y。
共同反應是因為z, 同時導致x與y。
交絡是x和z都會對y產生影響。因此x和y有關連,但無法肯定全部都是因為x的關係。

但預測不需要有因果關係才能預測。預測的關聯性可能來自於因果或是共同反應或是交絡,但是不重要,只要有關聯我們就可以預測,只要你不隨意解釋關聯的原因即可。

只有在某些關聯性很強,我們又無法實驗的情況下,才能說這些關聯性的證據非常有可能有因果關係。像是我們發現大部分肺癌的病患是吸煙者,但是我們不可能做隨機比較實驗去驗證這件事情(有道德倫理問題)。但我們可以透過很多原則來說,我們有非常大的把握吸煙和肺癌有因果關係,像是關聯性很強、在不同國家不同團隊中發現吸煙致癌的關聯有一致性、吸越久的人似乎越容易得、在沒有開始吸煙以前肺癌人數沒有這麼多、動物實驗結果發現焦油會致癌等。

十六 消費者物價指數和政府統計

CPI(Customer Price Index)消費者物價指數,度量了商品和服務的價格隨著時間的變動。因此這代表了CPI衡量的是購買力,也就是同樣的商品和服務變貴了,那麼同樣的錢購買力就下降了。有些保險和退休金會跟CPI做連動,同時CPI可以比較現在的1美元和1990的1美元的價值差別。

指數 = 變數值/基期值*100

所謂的指數(Index number),就是以某個基期的值為標準(例如1990年1月1號的石油每公升價格),指數就是相較於基期的改變量比值。指數是125代表該變數值是基期值得125%。指數80代表該變數值是基期值的80%。

在消費者物價指數中,衡量的方式是,比較同一組商品和服務(EX: 鹽、汽油、鐵),乘上固定的權重,然後比較在不同的時間下的總共價格。因此我們所追蹤的商品和服務叫做市場總覽(market basket)。

但問題是,市場總覽要怎麼要怎麼選?這是由抽樣問卷調查決定的。美國勞工統計局在消費者抽樣調查中抽了29000個住戶的消費資料進行分類,分成像是新鮮水果蔬菜、新車和中古車、醫院服務等分類,然後取特定項目的價值來代表該市場總攬的類別。但是因為商品和消費者的購買習慣會改變,因此這個項目其實不是完全固定的。

價錢要怎麼決定?是由購買點決定的,一個城市裡會有很多購買點,勞工統計局會統計大多數住戶都去哪些購買點購買,使選出的價格可以代表消費者的購買習慣。

同時,CPI並沒辦法衡量生活費用改變的情形,因為CPI衡量的是你每年都購買同一組商品時的價格變化,但問提示你不會一直購買同樣的商品或服務。而且如果某個商品價格太貴,你會改買別的。

政府統計會遇到幾個問題,像是政治影響可能會導致對統計相關部門施壓,另外如果蒐集太過私密的資料,可能人民會覺得政府介入過多等。比較好的解決方法是由政府補助大學進行社會調查。

十七 考慮可能性

機率最基本的概念是,短期不可預測,但長期會發生某種有規則而且可預測的模式。

隨機(random)並不代表偶然,統計裡的隨機,代表的是某種長期下才會出現的規則。

機率理論最早是從17世紀的費馬和巴斯卡討論賭博時開始的。

機率基本上是反直覺的。像是籃球有所謂的手風很順,連續投了幾球都進。但實際上,如果一個球員的長期命中率是1/2,那麼其實他進或不進,機率都是一樣的,只是剛剛好讓你注意到連續進的情況。一個連續進球的選手,下一球並不會因此比較容易進。你可能剛好在外地遇到某個朋友,你可能會說,怎麼這麼巧,但實際上你可能有1500個朋友,剛好遇到1500個的其中一個,並沒有那麼特別。還有賭徒的平均數迷思,前六把輸了,第七把贏得機會比較大,但實際上骰子沒有記憶,並不會因為看你可憐就平衡一下。

我們常講的機率是個人機率,意思是,我對這件事情發生的可能性判斷有多大。這是關乎於個人信心,和外界一切資訊都無關。例如我說,我認為該場比賽兄弟象贏統一獅的機率是80%,代表我個人對於這件事情有八成的把握。但真實世界的機率是根據同一個現象隨機重複多次而來的,這兩件事情要分清楚

十八 機率模型

一個隨機現象的機率模型(probabiliy model),描述了所有可能的結果,與任一一組結果的機率要如何分配,我們把其中一組的結果叫做一個事件(event)。

任何機率模型都符合以下規則

  • 任何機率都在0~1之間
  • 所有可能的結果合併起來應該是1
  • 一個事件不發生的機率,等於1減去該事件發生的機率。
  • 如果兩個事件之間沒有共同的結果,則兩個事件中至少一個發生的機率等於兩個機率共同的和。

從母體抽樣的現象,其實正是一種機率的隨機模型。

統計量的分佈可以告訴我們他可能的值有哪些,以及每個值出現的頻率。有種圖叫做抽樣分佈圖,意思是說,當我們不斷的抽,一直抽,抽到爽後,統計量會有哪些可能的值,以及這些值得分佈。我們利用密度曲線的總面積是1,將密度曲線下的面積對應各個區間的機率分配,就可以用機率模型來描述抽樣分佈。

十九 模擬

如何使用隨機亂數表來模擬機率發生的情形。

布方之針(Buffon's needle)用機率來算pi。

二十 期望值

期望值意思是,對於具有數值結果的統計數字,將每個可能的結果的機率乘上數值相加。

大數法則,如果結果為數值的隨機現象重複多次,那麼實際觀測到的結果期平均值會接近期望值。

二十一 信賴區間

首先我們知道。抽樣估計得到的估計值是根據樣本而來,而樣本是每次抽樣都會改變的,因此統計量p-hat也會隨著樣本改變。

p-hat = 樣本中的成功數/n

當樣本夠大時,會有以下現象

  • p-hat的分佈會近似於常態
  • 抽樣分佈的平均數會和p(母體真正統計量)相等
  • 抽樣分佈的標準差是sqrt((p(1-p))/n)

意思是,從含成功比例p的母體抽樣大小為n的SRS, 重複做多次,會產生很接近常態分佈的p-hat。

所謂95%信心區間的意思是,當大量重複做多次的時候,我們有大概95%的區間會包含進母體真正的值。

二十二 什麼是顯著性檢定

統計檢定用生活化的方式說明就是,一個臭屁的籃球員說,我的命中率有八成,你說我不信,投給我看,結果他20球只進8球,你下結論,如果他命中率真的是80%,那麼幾乎不大可能會在投20次時只進八球,所以我不相信他的話。

在斷言正確的情況下很少發生的結果卻發生了,就是斷言不正確的證據。

統計檢定處理的是有關母體的斷言,剪定要判斷的是,樣本是否提供了有關此斷言不利的證據。

Ho: 原始假設(null hypothesis),關於母體的敘述。因此一定要用母體參數表示。例如p=0.5。

Ha: 對立假設(alternative hypothesis),希望可以取代Ho的假設。顯著檢定就是盡量找對Ha有利的證據。

P-value:統計檢定裡有一個P值(P-value),意思是在Ho假設為真的情況下,所得到的樣本結果會像實際觀測值一樣的機率。P值小代表越不可能,資料所提供否定Ho的證據就越強。

布方伯爵投了4040次銅板,得到2048次正面,正面的樣本比例是 p-hat = 2048/4040 = 0.507,這個結果比一半多一點,這個結果能不能作為該銅板不平衡的證據?

  1. 假設---原始假說是銅板是平衡的,因此對立假設是銅板不平衡。

Ho: p = 0.5
Ha: p != 0.5

  1. 抽樣分佈---假設原始假設為真,那麼樣本比例中的正面比例就會近似常態分佈,所以平均數=p=0.5,標準差=sqrt(p(1-p)/n) = sqrt(0.5*0.5/4040) = 0.00787

  2. P值---得到的結果p-hat和p的差距,會至少和p-hat一樣遠的機率有多大?我們的對立假設p!=0.5,只要p-hat往左偏或往右偏都算是提供證據,因此我們說,P值是p-hat向左右任意方向偏離0.5的程度至少和0.507相同的機率,這要看常態分佈底下的面積表示,在這裡是P=0.37。

  3. 結論:在布方的實驗中,真正的銅板有37%的時候,會得到離0.5如此遠的結果,並沒有足夠的證據顯示我們認為他的銅板不平衡。

我們可以在事前決定用於否定Ho的假設需要強到多少,才能算是顯著。等於是我們說,我們要求P值要多小。我們用alpha來表示,如果alpha=0.05,代表我們要求否定Ho的證據要強到當Ho正確時,這種結果發生的機率不超過5%。

如果P值小於alpha值,我們就說該組數據於水準alpha有統計顯著性(statistically significant at level alpha)

二十三 統計推論的使用和濫用

老樣子,推論最重要的事情是,了解你的數據和你想回答的問題。

  1. 數據必須是我從我們關心的母體做抽出的SRS
  2. 比SRS複雜的抽樣方法(例如分層樣本)並不能這樣推論
  3. 再棒的方法也救不了爛數據,如果你的數據是隨便蒐集的,那沒救了。
  4. 其他誤差來源也很重要,像是中途退出、吳回應等。信賴區間和假設檢定只會依據你餵進去的數字產生出來,那些實際的困難並不會納入考慮。
  5. 信賴水準告訴我們的只是,一再使用相同的方法,會抓到真正參數的比例,實際上這次有沒有抓到真正的參數,並不知道。
  6. 高信賴水準是有代價的,就是更寬的區間
  7. 樣本變大, 區間就會變窄,如果我們希望高信賴水準,又要有較窄的區間,那就要使用更大的樣本。想要讓區間範圍縮小一半,必須使用四倍大的樣本。
  8. P值只會告訴我們,對於原始假設,這樣的數據只有機率P會發生,你永遠也不會知道原始假設是真的錯了還是對了。
  9. 檢定只告訴我們不利於原始假設的證據強度,並沒有說我們正在尋求的母體效應有多大或多重要。像是統計檢定只管說,該銅板的真實機率是0.5的情況下發生的機率有P。他可不管說可能對人來說,P=0.52已經算是相當平衡。
  10. 較大的樣本會讓顯著性檢定較為敏感。但一項發現有統計顯著性,可能並沒有實際上的用途。像是你發現該銅板是的正面機率是0.502,並沒有太大用途。
  11. 小樣本做的統計顯著性檢定敏感度可能不夠,並不足以提供不利於原始假設的證據。沒有統計顯著性不代表效應不存在,只代表我們目前沒有合理的證據支持他。小樣本常常會漏掉母體中確實存在的效應。

不要只看P值,那沒有意義。顯著性檢定的P值不僅和樣本大小密切相關,同時也和母體的真正值有關。如果只報告P值,卻不報告樣本大小,也不提作為樣本結果的統計量是什麼,是很糟糕的作法。

不要濫用檢定,檢定的正確使用方法是,先決定你要尋求什麼效應,設計研究來找這個效應,用顯著性檢定來衡量你得到的證據。而不是你有一堆數據,然後開始全面亂檢定,最後發現有好幾個特色符合統計顯著性檢定。這樣想好了,假設統計的顯著性檢定是5%,那麼你找100個證據去檢定,你應該也期望大概有5個左右的檢定會因為隨機性的關係通過,這樣就沒太大意義。

二十四 雙向表和卡方檢定

要顯示兩個類別變數的關聯性,可以透過雙向表。

像是男,女性別對教授職位的關係,我們可以建立一個雙向表。

辛浦森詭論(Simpson's paradox), 在幾組值都顯示出的關聯和比較,可能會在數據合併成一組時,全部消失或倒轉方向。

雙向表

成功 失敗 總數
去鬱敏 14 10 24
鋰鹽 6 18 24
安慰劑 4 20 24
總數 24 48 72

Ho: 所有古柯鹼成癮患者的母體當中,處理和戒癮成功並沒有關聯。
Ha:癮君子能否成功戒除古柯鹼,和進行的處理有關聯。

檢定Ho的過程就是把實際計數和預期計數做比較,如果實際和預期相差很大,就代表不利Ho。

Ho為真的時候,雙向表中任何一格的預期計數 = 列總和*行總和/表總和

舉例來說,Ho為真時,去鬱敏組的預期計數是24*24/72=8

卡方檢定

度量雙向表中觀察到的計數和預期計數的差距,統計量的公式是
X^2 = sigma(((觀察到-預期的)^2)/預期的)

sigma代表對應表內的每一格的加總

X^2 = (14-8)^2/8 + (10-16)^2/16 + (6-8)^2/8 + (18-16)^2/16 + (4-8)^2/8 + (20-16)^2/16
=4.5 + 2.25 + 0.5 + 0.25 + 2.00 + 1.00 = 10.50

但你怎麼知道10.5到底算大還是不大?答案是看看實際狀況下在原始假設為真時,X^2會有怎麼樣的分佈。這個抽樣分佈不是常態分佈,是右偏分佈,又因為X^2的值不可能為負,所以只含>0的值,還有對應不同大小的雙向表,抽樣分佈也會不同。

當無關連的原始假設為真的時候,卡方統計量的抽樣分佈就稱為卡方分佈(chi-square distribution)。

卡方分佈是由其自由度(degree of freedom, df)決定的,有r列和c行的雙向表,用的是自由度為(r-1)(c-1),我們使用的是(3-1)(2-1) = 2的卡方分佈表。

卡方檢定有一些限制,觀測值越多越精確,當預計數小於5的格子比例不超過20%,且每一格的預期計數至少是1時就可以使用卡方檢定。

 
over 1 year ago

緣起

1月初的時候,剛好聽朋友提到新光計畫的招募成效略為不足,想說11月才剛上完Growth Hack入門心法班,手邊一時也沒有什麼產品可以實作,上課聽起來很爽但是實際執行起來不知道如何,就決定來小試身手。

這邊說明一下什麼是新光計畫,新光計畫是交大幾位教授所發起的專案,希望能夠提供偏鄉教育資源,分成上下學期兩梯次招募交大學生,週六到司馬庫斯和新光國小幫小朋友們上課和課輔。這是一個自發性質,不是服務學習,也沒有學分的計畫。基本上不缺經費,參與的學生也不用交錢,已經持續將近十年了。但是聽在裡頭的朋友說,他們都會在學期末時招募下學期的夥伴,但常常要拼命宣傳,甚至開學後一段時間人才會招夠,這點對他們來說其實蠻困擾的。

所以我的任務就是,利用GH的技巧,讓他們在學期末的時候就可以招到足夠多的學生參與計畫,不用等到下學期開學再來加緊宣傳招人,弄得大家都緊張兮兮的。

了解狀況

以往新光計畫的招募方式是,教授會請各系所主任,幫忙轉寄招募email給學生,學生也會幫忙在BBS上宣傳。但是近年來fb盛行,在各FB社團上也會PO招募文,但內容跟招募信件是類似的。去年因為有比較熱血的學生參與,所以還額外印了海報貼在宿舍和餐廳,還辦了招募說明會,但朋友表示成效其實一般般,也是大概要到開學才會招滿。一屆大概要50個左右的學生擔任課輔老師(輪值),去年開學前只招募到不到一半,幸好在開學後各個系辦拼命寄信,總算達到了約50個人報名。

上吧~GH(X)行銷基本原則(O)

這次的專案因為TA非常明確,就是交大學生(有限制要交大學生才能參與),所以我決定幫他們做一個宣傳用的網站,看看能不能解決這個問題。

其實在這裡說是使用GH其實有點浮誇,正統的GH必須要有實際的數據來分析流失率、註冊率、轉換率等,基於數字做決策與流程改善。這只是個簡單的專案,我們需要的只是最基本的行銷原則降低疑慮,增強信心。而這也是在XDite的心法課中不斷強調的東西。

在開始做GH之前,最重要的事情是先確認自己的產品夠好,產品不夠好的東西你硬推上去只會揠苗助長而已,幸好這次的主角新光計畫體質相當不錯,第一他已經run快十年,累積了過去參與學生的口碑,第二個是對於TA來說,計畫本身有足夠的吸引力,產品有特色(司馬庫斯、學生不需要出錢、和當地校方家長關係密切)。產品已經夠好,缺的只是讓更多人了解,願意跨過報名門檻而已。

超級快速的實作

我花了一個晚上的時間,請朋友幫忙蒐集資料,引導如何寫介紹文,做了新光計畫的宣傳頁面。兩個人很有效率,一個改code一個生內容,一個晚上就把八成的排版、內容弄好了,之後幾天只是在補內容和改連結、處理細節問題而已。

說真的,速度快到連我自己都嚇到了。

這只是個static頁面,本來就不會花太多時間,但有做過網站的人就會知道,花時間的都不是做網站,而是生內容與思考如何呈現內容。以前做這種網站頁面的時候,常常會東想西想,一會兒說這邊放個圖片比較好看,那邊的文案要改,改一改之後又覺得不太對勁,又把全部的東西重排,因為心中沒有主軸,對於怎麼介紹你的服務或產品沒有一套系統化的流程,想到什麼就做什麼,沒有定見就會猶豫,因為你無法分辨每個元素的重要性,通常要弄很久才弄出勉強滿意的網站。

但這次因為心中有一套核心原則,我就是要在最短的時間降低顧客的疑慮,所有的內容都是圍繞著這個概念在做。因此接下來介紹的順序,排版,文案,都順其自然的浮現。一句話解釋產品的和服務的內容,講解產品的特色、服務運作的原理,透過FAQ和歷屆參加者推薦推坑,外加call to action讓使用者報名或是詢問其他問題,每一個步驟都串連在一起一氣呵成。

在新光計畫內的朋友經過我講解原則之後,他很清楚的理解為什麼我要你寫這些文案,因此速度和效率都很高,短短幾小時就把這些東西生出來。

最後我們掛上Mixpanel監測使用者的轉換率。然後請新光計畫內部的朋友把網站丟到交大內部的社團。

驚人的轉換率

我原本對這個東西是沒有抱持太大的信心的,雖然網站弄得還蠻有一回事的,但我認為看到網站後,會點擊報名或參加說明會的轉換率有3%,5%就非常高了,我們請新光計畫內部的正妹幫忙轉貼,第一天竟然有300個人點擊進來,轉換率竟然到10%,每10個人就有1個點擊call to action,這個數字高的嚇人。經過一個禮拜統計後,網站大概有900個左右的瀏覽人次,點擊call to action連結的轉換率大概落在8%左右。

後來朋友告訴我,在1/20號的說明會中,總共來了40個人,有10個報名的沒來,但又有10個沒報名的出現,小房間都擠滿了,以前的說明會參與人數不到20個人,今天暴增一倍。截至1/23我寫這篇文章為止,已經有27個人填完好完整的報名表,正式參與新光計畫,因為現在是下學期,上學期梯次一部分的學員還會繼續參加,因此這一屆的招募壓力已經小非常多了,發起計畫的教授也表示暫時鬆了一口氣。看來這次的實驗算是相當成功。

用正確的方法做正確的事情

其實這次的事件,我絕對不會說很多人報名是因為網站的因素。這件事情會發生是因為產品本身夠好,計畫發起人和參與者的努力讓產品本身值得被推薦,只是缺乏適當的作法去把產品的價值傳遞給TA。最令我開心的是在我主動跳下去幫忙的同時,也成功驗證了GH心法的有效性,最近的生活經驗讓我我漸漸開始體會到,萬事萬物都有一套各自的核心準則,所謂學習其實就是掌握準則,與透過準則建構執行細節的過程,當你掌握了這套準則,學會了執行細節,你就是在用正確的方法做正確的事情,你做事情的速度和效率會跟用飛的一樣。

 
over 1 year ago

如果要回顧整個2015,我會說,那是一種人生終於上了軌道的感覺。

很多事情是累積起來,當下並不知道,但是最後才會倏然拍拍自己的額頭,嘆道原來是這麼一回事。

2015年初,我修完Jserv在成大的嵌入式系統,結束了一整個學期每週往返台南的生活,開始進行了自動飲料機計畫。

當時會啟動自動飲料機計畫的原因很單純,我和夥伴覺得寫軟體很難賺到錢,當時經驗的侷限告訴我,寫軟體能賺什麼錢啊?接案不過是給人打工罷了,廣告養不活公司,想做平台是找死。我們想要做做看硬體,至少硬體出來,有實際的東西,也好跟人家收費。

後來就是一連串血淋淋的教訓,我找了機械系的朋友幫忙處理機構的問題。剛開始的討論只能用悲劇形容,我只會寫程式,對任何材料、機構、製造程序都完全不明不白,我不斷地問各種愚蠢問題,或是提出各種不切實際地建議,然後迅速被打槍,弄到最後甚至被機械系朋友說:與其跟你討論,我不如去找我學弟討論,還比較有建設性一點。

現在回過頭看,前幾個月我們根本都在鬼打牆,妄想自己可以解決那些看似簡單,實際上絕對沒有那麼容易的問題。我甚至被一個關鍵的模組卡了一個月,幾乎到絕望想放棄的地步,後來在朋友和導師的支持下繼續堅持下去(In Jserv we trust~)。

這些過程都是相當寶貴的經驗,強迫我認識了另一個和軟體開發不同的世界,我漸漸明白學機械的那些人是怎麼看事情的。我了解到不是所有設計都可以被製造,不是所有製造出來的設計都可以被量產。日常生活的各項硬體、設施,背後都是前人將寶貴的知識與經驗轉化成產品的結果。這些都不是一朝一夕可以完成的,而是需要眾多試誤和經驗的積累。一名程式設計師隨隨便便就想要跨入該領域,基本上就是來亂的,一定會被真實世界修理。

在做飲料機計畫的同時,一位朋友介紹我去交大Angel Club實習,所謂實習,其實就是坐在旁邊聽投資案。很多公司會來做簡報,我們就在旁邊聽那些審查的學長姐問問題,判斷case值不值得投資。

當你聽了超過20間以上不同公司的募資簡報,你會漸漸培養出一種分辨公司好壞的嗅覺。值得投資的好公司基本上都是相似的,他們有能力解決重要的問題,而且商業模式簡單,你一聽就知道他們會賺錢。相反的,那些Angel們不敢投資的公司,通常都是聽起來好像會賺錢,好像有市場,但是又不是那麼的肯定,好像光鮮亮麗,但仔細追問又令人感到不對勁,或是競爭者眾多,進入門檻低,很容易被其他競爭者取代。

後來年底將近,我報名了兩場收費講座,一場是XDite的Intro to Growth Hack,另一場是姚詩豪的尋找天賦與熱情的系統化作法(對,名稱很長XD),講的是如何體察自我的天賦和熱情的具體作法。沒有想到這兩場講座帶給我超乎預期的收穫。

GH表面上教的是你如何讓你的事業成長,但背後其實教的是一整套做正確的事情的流程。當時我在問卷問內了XDite,為什麼我以前常常開發了一些自己覺得有趣的服務,但是最後都沒有人想用?XDite的回覆直接打醒了我,你真的有解決重要的問題嗎?

聽完這些講座之後,我把在大學四年卡的關,以前的執著,全部都想通了。

如果不是經歷了飲料機計畫,撞了太多太多的牆,我不會對真實世界產生更深刻的認知。如果不是因為旁聽投資案,我可能要很久之後才會發現,許多本土的純軟公司,透過解決真正重要的問題,將公司經營的有聲有色,連我都想要投資。

我突然意識到,我過去大學四年,做了大大小小專案,其中大多數都沒有解決真正的問題,只是自己一廂情願想要改變世界,想要受人尊敬而已。想要受人尊敬並沒有什麼不對,但是如果把受人尊敬當成目標,那就有點問題了。

在把這些事情全部想通之後,我終於將自己的人生從改變世界這無意義的目標中解脫,我應該要做的事情是,傾聽自己的內心,做自己喜歡的事情,並每天持之以恆的進步。

而進步來自於長期而持續的積累。

 
over 1 year ago

關於喝酒,我給以後的自己的建議是,能不喝的話,盡量不喝。如果要喝,小酌就好,做自己肝臟能力範圍內的事情,不要嘗試把自己搞醉。

我並不是個常喝酒的人,上次喝酒是一年多前了,昨天和好朋友聚聚,大家約好一起吃飯,然後喝酒。因為還年輕,還沒體驗過醉到不省人事的感覺,我刻意喝的比平常多了一些,但發現自己的體質恐怕是會先不舒服而不是先醉倒,決定放棄這個念頭,結果今天中午醒來,身體因為宿醉的關係不太舒服,酒還沒代謝乾淨,頭還是很暈,還有點點想吐,爬起來回復幾則訊息,吃點東西,又再躺回去,後來才好些,能開始動筆寫這篇文章。

原本以為我酒量應該算不差的,因為有在定期運動,代謝量大,另外在和朋友喝酒的過程中,我自己覺得神智大致上都還是清醒的,除了臉紅了點外,還是可以跟朋友聊天、講垃圾話。但後來爬文後,我發現這並不是個很好的現象。

酒精在身體代謝的過程中,會先被酒精脫氫酶轉成乙醛,之後被乙醛脫氫酶轉成乙酸,會讓你的臉變紅的物質是乙醛,因為乙醛對身體來說,是個高傷害的刺激物,甚至更甚乙醇,而且有致癌的可能。

肝臟處理酒精的速度是固定的,成人大約是每小時15ml左右。而亞洲人因為基因的關係,乙醛脫氫酶酵素的活性比較西方人低,因此身體會快速地把酒精轉成乙醛,造成臉紅。但是乙醛代謝速度卻不夠快,最後造成宿醉。

也就是說,臉紅其實是身體發出的警訊,代表你正在喝會刺激血管擴張的致癌物。因為酒精代謝快,所以你比較不容易醉,但問題是乙醛還是堆積在你的身體裡,在被代謝掉前依舊持續造成傷害。

撇開生理的影響,宿醉是相當浪費時間的事情。就算睡了一覺,隔天醒來精神力也不會百分之百恢復成往常的狀態,需要一段時間慢慢恢復。此外因為頭暈、不舒服,思考能力低落,基本上不太能做任何事情,半天的時間就在電腦前和床上過去,無法學習、不能下決策,看文章的時候感覺像是畫面只進到視覺處理,直接做反射反應,沒有進到思考中樞一樣,那時躺在床上才會覺得,能夠保持理性思考是多麼珍貴的一件事,一定要好好珍惜

但就算這樣,我還是躺在床上思考了一些事情。

我以前一直很好奇喝酒喝到不省人事到底是一種什麼樣的狀態,有太多種說法了,有些人會藉酒裝瘋、有些人會酒後亂性、有些人會大哭大笑、出現另一個人格,然後宣稱自己不知道喝醉的時候做了什麼事情。

結果我自己一邊喝一邊觀察自己,發現當喝到一定的量的時候,會開始產生茫然的感覺,話會變多,變得比較直率,你還是可以控制自己要講什麼話題,但是你會更容易把你內心的話講出來,酒後吐真言基本上是有根據的,是酒精作用在腦內神經中樞的結果。

基本上酒精會抑制你的邊緣系統,讓你變得更無懼。那是直接從生理層面去影響你的身體,你變勇敢並不是因為你變強,而是因為暫時把腦袋裡內建的警報器關掉,讓你在做決策或行動時,聽從你的感性,暫時不考慮後果。像是是跟別人告白、跟朋友講祕密、或是大聲咒罵、或是毛手毛腳之類的。

但是儘管是這樣的情況,你還是能夠控制自己,知道你在幹嘛、在聊什麼樣的話題、在喝什麼酒、喝多少,甚至你還可以算數學。我想古代詩人在寫詩時,進入的就是這種狀態,他們暫時壓抑理性的一面,透過感性來抒發自己的感受,生出人生得意須盡歡,莫使金樽空對月。天生我材必有用,千金散盡還復來這類感慨萬千的詩詞。

但喝到了一個程度之後,你會覺得酒的味道層次變少了,酒精味變得突出,喝不太下去,這些訊息都是身體在暗示你不該繼續喝下去的徵兆。我收到身體的暗示後,就決定放棄喝到掛的念頭了。那時腦袋還是清醒的,還能聊天,還能收拾殘局,還可以順利走路回家,幻想中那種人格解離的感覺依舊沒有出現,但肯定以後不想再嘗試這麼做了。

長期來看,喝酒肯定是個反積累的事情。酒精的代謝物會致癌,亞洲人的體質代謝速度更慢,另外還會影響思考力、判斷力,短期的損害尚能恢復,長期來看就很難說了。

我依稀記得以前也宿醉過一次,故決定動筆將這次經驗記下來,如果人生踩過的坑可以不要再踩,那麼我們可以省下很多時間去做更有意義的事情。