표본추출과 표본분포 (week 6)
데이터분석을 위한 통계
랜덤 표본 (random sample) 추출
:알려진 확률 분포로부터 임의로 데이터를 생성
예를 들어, 지난 몇년간 통계학 입문 강좌를 수강하는 학생들의 기말시험성적이 평균 50점, 표준편차 20점의 정규분포를 따른다는 사실을 알고 있다고 하자. 이 분포를 따르는 성적자료 100개를 임의로 생성해보자.
n=100, mean=50, sd=20, rnorm() : 정규분포
rnorm(n, mean=0, sd=1)
sample.data<-rnorm(n=100, mean=50, sd=20)
sample.data
평균 추출
mean(sample.data)
표준편차 추출
sd(sample.data)
히스토그램 그리기
hist(sample.data)
이항분포에서 랜덤표본 추출
시행 횟수가 size이고, 성공률이 p인 베르누이 시행을 했을 때의 성공 횟수를 n번 추출하려면:
x<- rbinom (n=100, size=1, p=0.8)
x
카이제곱 분포
- 확률 밀도함수
x<-seq(0,10,by=0.01)
for ( i in c(1,2,3,4,6,10)){
chi.x<-dchisq(x,df=i)
if (i==1){plot(chi.x~x,type="l",ylim=c(0,0.5),
col=i,ylab="density")}
else{lines(chi.x~x,type="l",col=i)}
}
legend("topright",legend=c("1","2","3","4","6","10"),
col=c(1,2,3,4,6,10),lty=c(1,1,1,1,1,1))
- 랜덤표본 추출
y<-rchisq(n=100, df=5)
hist(y)
mean(y)
var(y)
t분포의 pdf 그리기
x<-seq(-5,5,by=0.01)
for ( i in c(2,3,5,10)){
t.x<-dt(x=x, df=i)
if (i==2){ plot(t.x~x,type="l",ylim=c(0,0.5),
col=i,ylab="density")}
else{lines(t.x~x,type="l",col=i)}
}
legend("topright",legend=c("2","3","5","10"),
col=c(2,3,5,10), lty=c(1,1,1,1))
x<-seq(-10,10,by=0.01)
Z<-rnorm(10000)
n<-10
V<-rchisq(10000,df=n)
tval<-Z/sqrt(V/n)
hist(tval, freq=FALSE, ylim=c(0,0.5))
t.d<-dt(x,df=n)
lines(t.d~x,type="l")
mean(tval); var(tval); n/(n-2)
모평균에 대한 신뢰구간
사과의 평균 무게(mu)에 대한 95% 신뢰구간은? 주어진 자료는 아래와 같음. n=30, xbar = 340, s=50, alpha = 0.05
# 𝑛이 충분히 크면 표본의 표준편차 s가 모집단의 표준편차 sigma에 가까울 것이므로 sigma를 s로 대체하여 구함
n <- 30
xbar <- 340
s <- 50
z.cut <- abs(qnorm(0.025))
lb <- xbar - z.cut*(s/sqrt(n))
ub <- xbar + z.cut*(s/sqrt(n))
print(c(xbar, lb,ub))
# 모분산을 모를때, t 분포 사용
t.cut <- qt(0.025, df=n-1, lower.tail = F)
lb <- xbar - t.cut*(s/sqrt(n))
ub <- xbar + t.cut*(s/sqrt(n))
print(c(xbar, lb,ub))
모비율 신뢰구간 구하기
### 총 100명의 학생 중 흡연자는 29명(smoke=1), 비흡연자는 71명(smoke=0)이었다.
### 흡연을 하는 학생의 비율의 95% 신뢰구간은?
x<-29; n<-100
phat<-x/n
se<-sqrt(phat*(1-phat)/n)
c(phat - 1.96*se, phat + 1.96*se) ## Confidence interval (Wald)
prop.test(x=29, n=100, correct=FALSE) # Score-test base CI
모평균 검정
예) 콜레스테롤 수치를 낮추는데 있어서 운동을 하는 것이 효과적인가를 판단하는 방법은?
## H0 : mu = 200 vs H1 : mu<200
## Data: xbar = 190, sd = 24, n=40
mu0 = 200
xbar = 190; sigma=24; n=40
## significance level
alpha<-0.05
## test statistics
Z<- (xbar - mu0)/(sigma/sqrt(n))
Z
## [1] -2.635231
## critical value approach
cut<-qnorm(alpha)
cut
## [1] -1.644854
Z < cut
## [1] TRUE
## p-value approach
pval <- pnorm(Z) # p-value
pval
## [1] 0.004203997
pval< alpha
## [1] TRUE
ex1 자료가 모집단 (전국 학생들)의 임의 표본이라고 가정할 때, 중간고사 성적의 모평균이 75점이라고 할 수 있는가?
# one sample t-test (모분산을 모를때)
# H0: mu=75
# H1: not H0
ex1 <- read.csv("/Users/donghwan/Dropbox/Teaching/22-2/DS_stat/STAT_Basic/Note/Data/ex1.csv", header = T)
t.test(ex1$Midterm, mu = 75, alternative = "two.sided")
##
## One Sample t-test
##
## data: ex1$Midterm
## t = -0.50261, df = 59, p-value = 0.6171
## alternative hypothesis: true mean is not equal to 75
## 95 percent confidence interval:
## 71.51314 77.08686
## sample estimates:
## mean of x
## 74.3
## p-value: 0.6171 > 0.05
유의수준 0.05 < p-value 값 0.6171 이므로, 이 모평균이 75점이라는 가설을 기각하지 못한다.
모비율 검정
예) 총 100명의 학생 중 흡연자는 29명(smoke=1), 비흡연자는 71명(smoke=0)이었다. 흡연을 하는 학생의 비율이 0.2보다 큰지 검정해보시오.
#One sample proportion test
#Normal approximation (정규근사)
#H0: p = 0.2
#H1: p > 0.2
prop.test(x=29, n=100, p=0.2, alternative = "greater")
# 정규분포로 근사하지 않고, 이항분포 사용
# Exact binomial test
binom.test(x=29, n=100, p=0.2, alternative = "greater")
두 집단의 평균 비교
### ex1 자료가 모집단 (전국 학생들)의 임의 표본이라고 가정할 때, 남학생과 여학생 집단의 기말고사 성적을 비교.
ex1 <- read.csv("/Users/donghwan/Dropbox/Teaching/22-2/DS_stat/STAT_Basic/Note/Data/ex1.csv", header = T)
Final_M <- ex1[ex1$Gender=="M",]$Final
Final_F <- ex1[ex1$Gender=="F",]$Final
boxplot(Final_M, Final_F)
1) 95% 신뢰구간 구하기
n=50; xbar=162; s=5
lb<-xbar - qnorm(0.975)*s/sqrt(n)
ub<-xbar + qnorm(0.975)*s/sqrt(n)
c(lb,ub)
[1] 160.6141 163.3859
2) 최소 몇명의 표본 필요
ceiling((2 * qnorm(0.975)*s)^2)
385
1) 점추정값 표준편차 계산
n<-500; X<-130
phat<- X/n
se<-sqrt(phat*(1-phat)/n)
phat ## point estimate
## [1] 0.26
se ## standard deviation
## [1] 0.01961632
2) 모시청률의 95% 신뢰구간 구하기
c(phat - qnorm(0.975)*se, phat + qnorm(0.975)*se)
## [1] 0.2215527 0.2984473
1)
n<-100; X<-25
phat<- X/n
se<-sqrt(phat*(1-phat)/n)
c(phat - qnorm(0.995)*se, phat + qnorm(0.995)*se)
## [1] 0.1384633 0.3615367
2)
ceiling(phat* (1-phat)/(0.01^2))
## [1] 1875
n<-81; xbar <-230; s=32
lb<-xbar - qnorm(0.975)*s/sqrt(n)
ub<-xbar + qnorm(0.975)*s/sqrt(n)
c(lb, ub)
## [1] 223.0312 236.9688
x<-c(26.7, 25.8, 24.0, 24.9, 26.4, 25.9, 24.4, 21.7, 24.1, 25.9,
27.3, 26.9, 27.3, 24.8, 23.6)
n<-length(x); xbar <-mean(x); s=sd(x)
lb<-xbar - qnorm(0.975)*s/sqrt(n)
ub<-xbar + qnorm(0.975)*s/sqrt(n)
c(lb, ub)
## [1] 24.51436 26.11231
n<-200; xbar <-85.8; s=60.2
lb<-xbar - qnorm(0.995)*s/sqrt(n)
ub<-xbar + qnorm(0.995)*s/sqrt(n)
c(lb, ub)
## [1] 74.83525 96.76475
PowerPoint 프레젠테이션 (kinxcdn.com)
'Data Statistics' 카테고리의 다른 글
차원 축소(Dimensionality Reduction) (1) | 2024.11.02 |
---|---|
딥러닝_통계 분석 종류 (1) | 2024.11.02 |
선형 회귀와 로지스틱 회귀 (0) | 2024.09.22 |
[3] Simple Linear Regression (0) | 2023.05.27 |
기초통계 R 실습_오픈북 대비 (0) | 2023.05.06 |