code

顯示具有 Statistics 標籤的文章。 顯示所有文章
顯示具有 Statistics 標籤的文章。 顯示所有文章

2017年1月24日 星期二

Statistics筆記22 - CI範例

題目1




正確解讀CI
注意Confidence Interval 是用來解釋population parameter的possible range,而Confidence level是用來解釋我們對sampling distribution中的samples能夠有多大的機率(信心)涵蓋了真正的population parameter。

所以這題目的CI宣稱如下:我們有95%的信心相信老美平均每個月3.4~4.24天有壞心情。



正確解讀CL

95%的samples會產生能夠包含population parameters的CI。




題目2


這一題其實是要找CI。

不過首先要檢查是否能通過CI的conditional check:




sampling distribution mean = 3.2
sampling distribution SD = 1.74

95% CI z* = 1.96
standard error = 1.74/sqrt(50)

ME = 1.96 * 1.74/sqrt(50) = 0.4823034

所以 95% CI = 3.2 +- ME





Statistics筆記21 - 想要達到margin of error需要多大的sample size?

Margin of error

margin of error 與其他參數的關係:


其中z*是 cutoff value,這是距離mean幾個standard error的倍數
s/sqrt(n) 就是sampling distribution的SD, 也就是standard error

所以要達成某個ME,就是要對這些參數去manipulate。


範例


關鍵字:
90% CI
SD = 18

求使得ME<=4的n?

這題目等於是要縮小margin of error但是不改變90% CI,換句話說就是要增加sample size n,因為ME和sqrt(n)成反比。

首先我們可以知道一個normal distribution 在90% CI的cutoff value z*:

> qnorm((1-0.9)/2)
[1] -1.644854

當然我們取正值 1.644854

所以根據上面公式 1.644854 * 18 / sqrt(n) <= 4
n <= 55.13
所以n必須至少 = 56人




這個一樣把ME = 2帶入:

1.644854 * 18 / sqrt(n) = 2
n = (1.644854 * 18 / 2)^2 = 219.1491
所以n 至少要220人

另一個快速的算法就是,既然 ME和sqrt(n)成反比,所以1/2 ME就必須要有4*n才能維持等式。

所以56*4 = 224,約等於我們精確算出的220人。

這邊我們看到要縮減ME,必須要增加sample size,但這需要花更多的錢!







2017年1月23日 星期一

Statistics筆記20 - Confidence Level

confidence level

冒出一個新名詞了?!

簡單來說,就是confidence interval就是我們說的95%那個百分比,也就是我們對sampling distribution中的samples包含population parameter的機率(或說信心)。

confidence level是我們指定而非算出來的,通常為90%, 95%, 98%, 99%。


提高confidence level (提高accuracy)

confidence level提高表示有更大機率我們的confidence interval會包含population parameter,也意味著相對應的confidence interval將佔比更高的data points。

一個可以提高confidence level的方法就是加大confidence interval,也就是加大margin of error ME。

如果confidence level提高了,我們稱accuracy也提高了,因為我們的confidence interval中的data有更高機率包含了population parameter。

代價是什麼?


隨著confidence interval(或說ME)加寬,精確度precision降低了

簡單想,如果confidence interval很寬,那等於什麼都沒說?! not informative!
例如氣象預報說,明天氣溫可能介於40度c到5度c之間,信心水準為99%,那不等於白說?
雖然這個range可能準確(accurately)包含明天的溫度,但是精確度(precision)降低了,能做決定的資訊品質降低了。


提高sample size 有助於提高confidence level,而不會降低precision

為什麼?

先來看這個式子:



因為根據CLT,n越大,則standard error越小,distribution越趨近於normal,而standard error (上面公式中的 s/sqrt(n) )越小,則margin of error (與SE成正比)就越小。如果不改變z*(就是不改變data 佔比,例如z* = 2,則永遠是95% data在CI中),則我們可以縮小ME,也就是CI兩端的值可以往mean靠近而不改變Confidence Level。


秒懂?


澄清Confidence Level和Interval的範例


題目簡單說來就是某次random sampling n = 1154,發表了一個95% confidence interval,兩端cutoff value為3.53和3.83。

特別要把這題寫出來,因為對澄清觀念很有幫助,以下幾個選項true or false的原因如下:




這是錯的,因為95% confidence interval是指95%的sample mean都落入3.53 ~ 3.83之間,而不是上面所說的意思。



這是對的,這1154人其實就是1154次random sampling,就有1154個sample mean(每一個人平均的休息時間),所以組成了一個sampling distribution,此sampling distribution 如果宣稱有95% confidence interval,則意指95%的sample組成的confidence interval包含了population parameter。



這是錯的,這題目變成說population mean會隨機跳動,這當然不對。



這是仍然是錯的,因為95% confidence interval定義不是這樣。









Statistics筆記19 - Confidence Interval for mean

定義

某個population parameter的一個“可信的plausible的數值範圍”,稱為confidence interval,簡稱CI。

使用CI的原因是,我們如果只用sample statistics (point estimate)想要infer population statistics的話,這精準度相當困難,但是用一個可能區間的話,那就比較容易包含真正的population parameters,雖然仍然不知道真正的parameter會是什麼。


95% CI

CLT告訴我們:sampling distribution (如果是sample mean組成的話)約是一個nearly normal,而且中心點是population mean的normal distribution:

所以要釐清的是,我們的sampling distribution不是真正的population distribution,真正的population distribution可能是非常skewed,但是sampling distribution會隨著n變大變得normal。所以這個nearly normal distribution的mean不是確切的population mean,這只是一個逼近。



所以既然我們只能從sampling distribution來推估population mean,那這個真正的population mean應該就是落入這個sampling distribution的mean的正負區間內。

normal distribution告訴我們,各個sample mean可能落入的區間如下:


所以這就產生了我們常聽見的95% confidence interval:

因為有95%的sample means會落入正負2個sampling distribution SD (standard error)之內。這2*standard error有個專有名詞,稱為margin of  error(ME)of 95% CI。


範例


這邊轉成統計的數字的話:

首先提到了standard error = 4%,這代表這是一個sampling distribution,所以是nearly normal

所以64.5%就代表了mean

margin of error = 2*se = 8%,這邊z*是2因為是95% CI。

所以95% CI = 64.5% +- 8%,我們有95%的信心這是population mean可能的範圍。


CI的使用限制

1. 既然是CLT演變出來的,則必須每個sample要是independent,建議 n < 10% population,如果sample without replacement。

2. n至少>= 30,越skew越需要大的n值才能讓distribution nearly normal。注意這個條件比CLT需要成立的條件還嚴苛得多,理由後述。


95% CI 的確切的z*(距離mean的standard error倍數)值為1.96

95% CI的真正意義就是normal distribution的中心點往左右擴張margin or error的幅度的range,這個range要能包含剛好95%data。

我們之前說95% CI的margin of error = 2SD,不過實際上應該是1.96*SD,見下圖:


中間著色機率(或說data佔比)= 0.95
所以兩個tail應該各佔 (1-0.95)/2 = 0.025的機率

我們可以找出cutoff value for 0.025機率: qnorm(0.025) = -1.96
這是P(X <= -1.96) = 0.025
由於對稱的關係,另一端cutoff value是 1.96

所以z* = 1.96

我們說 we are 95% confident that population mean falls within sample mean +- 1.96 SD。


2017年1月20日 星期五

Statistics筆記18 - CLT範例

範例1



令random variable X = 一首歌的時間
這邊我們已經有了probability distribution(或說PMF of X),不過必須要看histogram來估算。

我們要求的是P(X >= 5),既然有了PMF (histogram),可以把所有X>=5的event的機率累加起來。這邊不能用到CLT,因為這個probability distribution不是nearly normal,還差得遠:



範例2 (承上題)


令X1,X2, ... X100為independent random variables,表示某首歌的長度分鐘,求P(X1+X2+...+X100 >= 360)?

這有點沒頭沒腦的,因為我們完全不知道每首歌取長度的和的probability distribution,不過這正是CLT能解決的問題,因為這是sum of RVs with same mean and variance(每首歌被選中的機率為uniformly distributed 1/3000)。

按照機率課的方法:
所以根據Purdue Probability課程的CLT範例,此X = X1+X2...+X100可以做Z transformation:

P(X >= 360)
= P( (X - n*E(X))/sart(n*sigmaX^2) >= (360 -n*E(X))/sart(n*sigmaX^2) )
= P( Z >= (360 - 100*3.45)/sqrt(100 * 1.63^2))
= P( Z >= 0.9202454)
= 1 - P(Z <= 0.9202454)
= 0.1787223


按照統計課的CLT方法:

選一百首歌,相當於做一百次random sampling ,也可以用random variable X1,X2, ... X100表示,我們仍然是求P(X1+X2+...+X100 >= 360),也可以寫成:

P(  (X1+X2+..+X100/100) >= 3.6 )
P( sample mean >= 3.6 )

sample mean是一個sample statistics,根據CLT,任何sample statistics組成的distribution都是nearly normal,算出來的答案是一樣:


 其實兩者都是一樣的數學,只是釐清的邏輯角度稍微不一樣,either way is fine!


Statistics筆記17 - Central Limit Theorem

Central Limit Theorem

為什麼叫CLT? 因為這是統計學中許多理論的中心根據。

定義如下:



白話文就是 sampling distribution(x_bar) is nearly normal (當n越大),其mean等於population mean,其SD = population SD/sqrt(n)。


Purdue機率學裡面教的CLT在此,的確也是在講n個independent RV(不過要有共同mean, variance)如何可以用standard normal Z來approximate當n趨近無限大時。

如果我們拿不到population SD (上面公式中的sigma),則可以用某一個sample distribution的SD來代替(當作一個best guess,此外通常只有一個sample,不過就奇怪,那怎麼組成sampling distribution)


CLT使用注意事項

(1) 如果random sampling是without replacement (就是選到了不放回去),那sample size n 要 < population size 的10%。

通常random sampling一定是without replacement,因為一個data不需要重複被觀察或實驗。假設從1000人中選500人出來好了,由於要選出的人數佔總族群比例為50%,所以很容易選到dependent sample point(例如基因非常相近),減低了generalization的代表性。所以統計學會在大sample size中維持小比例選擇(例如改成1000人選10人),這能有效排除dependent sample point。

當然如果sampling with replacement(實務上不會),則當然每次抽出任何人的機率都一樣,不用管portion of population。



(2) skewed population distribution vs sample size n的選擇

假設一個極端right-skewed population distribution:


其以各次random sampling的mean組成的sampling distribution,當每次sampling的size n 很小時候(例如10),每個sample mean差距應該都蠻大的(因為population 是highly variable right skewed),所以會比較像原本的population distribution。



如果增加每次random sampling的n到100,則每個sample distribution的variability被鈍化了,所以會看起來比較normal distribution,而所組成的sampling distribution也看起來比較normal distribution,SD(或稱standard error)也變小了。



提高sample size n,sampling distribution更趨近於normal:



n愈大,越像normal distribution,我們計算上越簡單(這樣才能利用CLT來approximate),但是與原本population的skewness或是variability可能更不像。



2017年1月19日 星期四

Statistics筆記16 - Sampling Distribution

Sample Distribution & Sampling Distribution

sample distribution就是我們從population中randomly sampling取出的data形成的distribution,例如一群小孩的身高呈現某種normal distribution。

這個sample distribution當然能找出各種分布指標,例如mean, SD, variance等,稱為sample statistics。

而sampling distribution則是指多個sample distribution的sample statistics組成的distribution,例如100次的random sampling的data形成100個不同的mean,而這100個不同的mean會形成一個sampling distribution。


不過為什麼要探討sampling distribution?



Population statistics vs Sample Statistics

顧名思義population statistics是拿族群中“所有”的個體資料去統計出來的,而sample statistics則是某次random sampling選出的個體資料統計出來的。

population mean and SD:




假設我們從美國所有女人中,依照各州別random sampling不同的女人並且記錄身高,所以會形成52個身高的sample distribution。而對mean來說,52個sample distribution的means會形成一個sampling distribution:



sample means

上例中,sampling distribution的mean (the "sample means")約等於真正族群的 population mean,因為每個州是整個population的縮小版,所以每個州的mean組成的sampling distribution的mean應該要趨近於population mean。



standard error

sampling distribution的SD 估計應該要遠比真正族群的SD小,因為sampling distribution的每個data是random sampled的每個州的平均身高,所以應該都趨近彼此(不會設想哪個州的平均身高遠高或遠低於其他州),所data會傾向集中在sampling distribution的mean。然而population SD是所有美國女人以population mean的為中心的variability,所以當然會比較大多了。


我們稱這個sampling distribution的SD為standard error,當每個州的sample size n越大的時候,每個州內的variation就越被抹去,也就是每個州的mean越趨近一至,所以由每個州的mean組成的sampling distribution的SD (standard error) 就會越小。

懂?


2017年1月17日 星期二

Statistics筆記15 - Binomial Distribution

由於Purdue Probability已經教過過很多Binomial distribution的知識,這邊都是重複的,就不記錄了。

用R算binomial distribution

dbinom接受三個參數,第一個是成功的次數,第二個是全部trial的次數,第三個是成功的機率:




解讀Binomial Distribution

以下的題目我們簡單算出mean和SD:




mean = 13,意思是在一百個人裡面random sampling的話,平均會有13個人是engaged at work,因為expected value本來就每個outcome被機率權重的觀念。

所以每次sampling都是一個圍繞這mean的數字,這個圍繞的變動程度就是看SD,“平均”(因為SD也是跟mean相關的statistics)來說,3.36人次的標準差變動程度,也就是通常(99.7%) 會在2個標準差內的sampling結果會出現。



n越大,binomial distribution會趨近normal distribution

(這應該是純粹計算出來的,因為不需要做實驗)。如果把成功次數放在x軸,其相對機率放在y軸,則會發現當n大的時候,整個probability distribution的形狀會很像一個normal distirbution:



這個提供了快速解binomial probability的方法。


但是如果我們無法plot成以上的圖形,一個基本的判斷binomial distribution是否nearly normal的方法是(以下兩者皆必須成立)
E[X] = np >= 10        /* expected successful times */
E[Y] = n(1-p) >= 10  /* expected failure times */

符合以上兩個條件的話,我們可以安心用normal distribution來approximate binomial。


Facebook範例

題目如下:


這一題乍看之下看不出來是binomial distribution。
白話文就是一個人平均有245個FB朋友,而且我們知道FB上有25%的人是power users。

所以245個朋友中,任意一個是power user的機率p = 0.25,不是的機率q = 0.75
讓random variable K為power user朋友的數目,問P(K>=70)?

這樣解讀就是一個標準的binomial distribution problem。

之前Purdue機率課的算法如下:

P(K=70) = choose(245,70)*((0.25)^70)*((0.75)^(245-70))
P(K=71) = ...
.
.

突然腦子當機,好像不知道怎麼算,目前似乎沒學過要怎麼算binomial probability X >= x的方法。


那就用normal distribution來逼近吧:
這個binomial distribution的“形狀”像是normal,所以其mean就是normal的mean,其SD就是此normal的SD:


我們等於要找出P(X>=70),可以算出Z-score用查表法,或是直接用R的
1- pnorm(70, 61.25,6.78) = 0.09842807

可是如果我們真的把算出P(X>=70),答案如下:



有點差距!原因在於我們用continuous distribution來model discrete data,至少就少了P(X=70)這個機率,因為在continuous probability中,單點機率為零。

這就讓我想起機率課中說的continuity correction!

不過比較奇怪的是,在這邊統計課是把P(X>=70)換成P(X >= 69.5),而不是P(X >= 70.5),這是沒錯的,畫出數線來看就知道了,因為binomial distribution是discrete RV,所以X只能是整數:

  68     69  |    70       71
(no) (no)    (yes)  (yes)

continuity correction是取no和yes的整數交界的中間值,所以是69.5。


這樣就跟用R直接算出sum of binomials幾乎一樣了。


範例2

這是一個binomial probability problem。
#trials n = 10
P(success)  = 0.56
令X為成功的次數,求P(X = 6)?

機率方向的思考:

P(X = 6) = choose(10,6) * 0.56^6 * (1-0.56)^4

用R驗證也沒錯:




統計方向的思考:
跟機率思考方向一樣啦!!!!
因為這個已經有明確的binomial distribution參數了,不需要用normal distribution去逼近。何況n還不夠大!




不去計算的話,常理推斷10個裡面出現“剛好”6次成功,當然機率遠比1000次裡面“剛好”出現600次成功藥膏太多了。

答案是b




這一題是在問,這個binomial distribution是否是nearly normal?

我們上面已經有兩個必須檢驗的條件:

E[X] = np >= 10        /* expected successful times */
E[Y] = n(1-p) >= 10  /* expected failure times */

的確是沒錯!



最後:

這跟FB範例那一題一樣,我們要求P(X=60) + P(X=61) + ... + P(X=100),手動計算會死人,但是基於上一題中我們已經驗證此binomial distribution是一個nearly normal distribution N~(mean = 56, SD = 4.96),我們相當於是要在此normal distribution中找出P(X>=60)

但是要加上continuity correction,因為我們用continuous distribution去approximate discrete distribution:

59  |   60
(N)     (Y)

取59.5

正確算法當然要轉成Z然後查表,不過既然已經有了R,就直接算吧:



Statistics筆記14 - Normal Distribution範例

範例1



令 random variable X = weight of baggage
E(X) = 45 pounds
SD(X) = 3.2

求P(X>=50)?

如果用機率課教的來解,我們要把此X轉換成standard normal RV,也就是Z,其實也就是算出Z score啦,根本就是一樣的東西:

P(X >= 50)
= P( (X - 45)/3.2 >= (50-45)/3.2 )
= P( Z >= 1.5625 )   /* 可以查表了 */

或是更簡單用R:
1 - pnorm(50, 45, 3.2) = 0.059   /* 注意pnorm是算出 P(X<=x) */

完全不用作Z- transformation。


範例2



這是反過來要求quantile,也就是已知P(X<=x),求x?

令X 為每日最高溫度
E(X) = 77
SD(X) = 5

最冷20%也就是distribution中最小的20%
求P(X<=x) = 0.2

用Z-linear transform
P(X-77/5 <= x-77/5) = 0.2
P(Z <= (x-77)/5) = 0.2    /* 查表找出x-77/5 落在哪個quantile */

或是更簡單用R的  qnorm(0.2, 77, 5) = 72.8









Statistics筆記13 - 判讀是否normal?

如何判斷一個distribution是nearly normal?

那就要看下右圖是一個normal probability plot:



Y軸是data的值
X軸是theoretical quantiles,就是某個你認為此data應該符合的distribution model的quantiles(quantiles是P(X<=x)中的x,就是某個cutoff values)。所以其實X軸就是某個data point的z-score。

所以normal probability plot其實就是把data的quantiles和normal distribution的quantiles作比較。如果data point都聚集在圖中的直線上(1 to 1 relationship),則可以推論此dataset是nearly normal。


判讀

下圖是一個不符合nearly normal distribution的plot:



如果只看右圖normal probability plot的話,可以判斷原來的dataset不能用normal distribution來model,為什麼?

首先Z score(x軸)的意義就是normalized SD from the mean,所以一個normal distribution的話,在越稀有的事件(較大的quantile或說z score)應該對應的data也要越極端(也就是上圖中身高要越高)。這就是為什麼要是一條直線的原因。上圖的85 inches的身高的data集中在z score 1~2.5之間,不符合normal distribution。


此外也可以判讀tail / skewness:






2017年1月15日 星期日

Statistics筆記12 - Normal Distribution

Bell curve



可以看到一個nearly normal distribution,99.7%的data落在3個SD from the mean之內。


SD的用處

假設有兩個data distribution,其中各有一個點,我們想知道這個點在其分佈中,是離平均值較近還是較遠?

由於兩個distribution的參數不一樣,我們不能比較絕對數值,但是我們可以分別算出這兩個點在其distribution內的位置是多少個SD,這樣可以知道此點在其分佈內的相對位置,或說在某些application中是指優劣程度。

例如有兩個考試結果都呈現normal distribution:



Pam拿了1800分在SAT,Jim拿了24分在ACT,要怎麼比較兩人優劣?
按照上面的邏輯,全部換成SD:



Pam在其分佈內的表現位於1個標準差,而Jim在其分佈內的表現位於0.6個標準差(較為接近平均分數),所以Pam表現較為突出。

Z score

以上的算法稱為standardized Z score,定義如下:(其實這就是Purdue Probability中講的:normal random variable可以線性轉換到standard normal random variable Z)


算出sample point在不同分佈中的standardized z score,我們就能與其他的distribution sample point做比較。

通常|Z| > 2就是一個較為稀有的事件。

注意Z score按定義可以用任何distribution算出(畢竟每個distribution一定能找出mean ,SD),不侷限在normal distribution。



Percentile

其實這就是P(X <= x),針對某個x來說。所以percentile是一個probability。我們可以用R直接算出percentile,不用算出Z score:



或是可以用standard normal probability table,不過這樣就一定要算出Z score才能查表了:




從Percentile找出X=x (quantile, 或稱cutoff value)

這個相當於知道P(X<=x)是多少,而我們要找出x的值。之前Purdue Probability的練習也有了。

如果要用standard normal table:
(1) 在表中找出此percentile (probability)的位置
(2) 看row, col組成多少的Z score
(3) 此Z score是standard normal transform過的,將之轉換為原本distribution中的outcome

用R的話簡單多了,因為它幫你做掉inverse transform,注意第一個參數要填入percentile,也就是P(X<=cutoff value)。