社會科學統計方法

機率、描述統計(v1.0)

蔡佳泓

2018/4/24

課程目標

本週課程將介紹機率的基本概念,然後介紹描述統計,包括中央趨勢以及離散,也就是平均數、最小值、最大值、標準差等等,我們以mtcars為例:

Statistic N Mean St. Dev. Min Max
mpg 32 20.091 6.027 10.400 33.900
cyl 32 6.188 1.786 4 8
disp 32 230.722 123.939 71.100 472.000
hp 32 146.688 68.563 52 335
drat 32 3.597 0.535 2.760 4.930
wt 32 3.217 0.978 1.513 5.424
qsec 32 17.849 1.787 14.500 22.900
vs 32 0.438 0.504 0 1
am 32 0.406 0.499 0 1
gear 32 3.688 0.738 3 5
carb 32 2.812 1.615 1 8

機率

樣本空間

機率公設

實例

聯合機率 (Joint probability)

獨立事件 (Independent Events)

互斥事件 (Disjoint Events)

實例

邊際機率(Marginal Probability)

councilor<-read.csv('councilor.csv', sep=',',header=TRUE, fileEncoding = 'BIG5')

tu<-table(councilor$Year, councilor$unit)
tu
##       
##        公園處 水利處 新建工程處
##   2015      1      1          0
##   2016      0      0          8
margin.table(tu,1)/sum(tu)
## 
## 2015 2016 
##  0.2  0.8

計算得知,2015年與2016年的邊際機率分別為0.2及0.8。

條件機率(Conditional Probability)

互賴事件 (Dependent Events)

描述統計

例如我們想知道26名學生的性別以及學系分佈?

students<-read.table('studentsfull.txt', sep='', header=TRUE)
df <- data.frame(students)
library(knitr)
table(df$Gender)
## 
##  F  M 
## 13 13
kable(table(df$Gender))
Var1 Freq
F 13
M 13
kable(100*table(df$Department)/nrow(df))
Var1 Freq
Aerospace 15.38462
Chemistry 11.53846
Economics 15.38462
English 11.53846
Journalism 15.38462
Mechanics 19.23077
Physics 11.53846

中央趨勢

用一個統計值描述資料的分佈:

眾數

中位數(Median, Md)

百分位數及中位數

A<-c(1:10); B<-c(0:10)
median(A); median(B)
## [1] 5.5
## [1] 5

百分位數

\[i=\frac{np_{i}}{100}\]

X <- c(1, 1001, 1002, 1003)
quantile(X, c(.25, .5, .75), type=1)
##  25%  50%  75% 
##    1 1001 1002

比較SPSS與R的輸出

scores<-c(15, 22, 26, 32, 33,36, 36, 41, 42, 44,
44, 45, 47, 48, 61,63, 63, 65, 65, 65,
66, 66, 68, 69, 70,71, 74, 74, 76, 77,
78, 78, 79, 85)
quantile(scores, c(.25,.5,.75,.9), type=6)
##   25%   50%   75%   90% 
## 41.75 64.00 71.75 78.00

平均數

簡單平均數:

分組平均數

A<-list(station1=c(25, 33, 44), station2=c(43, 66, 78, 81), station3=c(90, 76, 105, 110, 121))
A
## $station1
## [1] 25 33 44
## 
## $station2
## [1] 43 66 78 81
## 
## $station3
## [1]  90  76 105 110 121
groupn=sapply(A, length); groupn
## station1 station2 station3 
##        3        4        5
Totaln=sum(sapply(A, length)); Totaln
## [1] 12
Total=sum(sapply(A, sum)); Total
## [1] 872
Total/Totaln
## [1] 72.66667

sapply()函數可套用函數在列表的每一個向量。
以分組平均數計算總平均數:

mn=sapply(A, mean); mn
## station1 station2 station3 
##     34.0     67.0    100.4
mn*groupn
## station1 station2 station3 
##      102      268      502
sum(mn*groupn)/Totaln
## [1] 72.66667

偏態(skewness)

偏態型態

R與Stata比較

library(foreign)
hsb2<-read.dta('hsb2.dta')
library(e1071)
## 
## Attaching package: 'e1071'
## The following object is masked from 'package:Hmisc':
## 
##     impute
skewness(hsb2$write, type=1)
## [1] -0.4784158

R與SPSS比較

skewness(hsb2$write, type=2)
## [1] -0.4820386

峰度 (kurtosis)

使用語法計算峰度

s4=sum((hsb2$write-mean(hsb2$write))^4)
s4
## [1] 3577773
m4=s4/200
s2=sum((hsb2$write-mean(hsb2$write))^2)
m2=s2/200
(m4/m2^2)
## [1] 2.238527

比較R與SPSS

kurtosis(hsb2$write, type=2)
## [1] -0.7502476

離散

範圍

range(hsb2$write)
## [1] 31 67
range(hsb2$math)
## [1] 33 75

樣本變異數:母體變異數的無偏估計

\[\sqrt{\frac{np(1-p)}{n-1}}\] \(p\) 是事件發生的機率。

樣本標準差

var(hsb2$write)
## [1] 89.84359
std = function(x) sqrt(var(x))
std(hsb2$write)
## [1] 9.478586
sd<-function(V)sqrt( sum((V - mean(V))^2 /(length(V)-1)))
sd(hsb2$write)
## [1] 9.478586

近似常態分佈圖形

set.seed(02138)
g<-rnorm(1000, 0, 1)
library(ggplot2)
gnorm<-data.frame(g)
testplot<-ggplot(aes(x=g, y=..density..), data=gnorm) +
   geom_histogram(bins=20,  fill='lightblue') +
   geom_density(aes(y=..density..), col='darkgreen') +
   theme_bw()
testplot 

Z值或分數

標準差的特性

H<-c(15000,7000,19000,3000,15000,19000,4000,12000,
       17000,  9000)
h<-c(15,7,19,3,15,19, 4,12,17, 9)
sd(H); sd(h)
## [1] 5962.848
## [1] 5.962848

作業

A <- c(35, 61, 69)
d.A <- c(26, 8)