R언어

R언어: 상관계수, 확률분포, 표본추출...

socialcomputer 2019. 9. 28. 19:23
반응형

공분산(Covariance)

 두 변수가 함께 변하는지 정도를 측정하기 위한 것으로 x, y변수에서 x라는 변수가 증가할때 y라는 변수가 함께 증가/감소하는지 정도를 측정하는 것

 그러나 공분산의 범위가 무한대라 변형해 범위가 -1 ~ 1인 상관계수를 사용.

cov(x변수, y변수)

상관계수(Correlation coefficient)

  공분산을 x변수의 표준편차*y변수의 표준편차로 나눠준다. -1 ~ 1사이의 값.

  • +값이 나오면 정적상관(ex.증가시 증가), -값이 나오면 부적상관(ex.증가시 감소)
  • 절댓값 0~0.2 : 약한 상관, 0.3~0.5 : 중간, 0.6~0.9 : 강한 상관

cor(x변수, y변수)

 

skewness-> 분포가 중앙에서 치우친 정도

kurtosis-> 분포의 뾰족한 정도. 중앙에 몰려있는 정도

 

확률분포(probability Distribution)

확률변수 x가 특정한 값을 가질 확률을 나타내는 분포

이산 확률분포 : 주사위 던지기

연속 확률분포 : [0, 1] 난수 생성

 대표확률분포

이항분포 Binomail Distribution

(독립 시행 확률)

각각의 이항 분포를 구할떄: dbinom(x, n, p)

이항 분포의 누적 확률값을 구할때: pbinom(x, n, p) ---lower.tail=T가 default값임

                                            이것은 x값 이하의 누적 확률값, 즉 P(X<=x)을 구하는 것

   x값 이상의 누적 확률값, 즉P(X>x)를 구하고 싶다면 pbinom(x,n,p,lower.tail=F)를 해주면 됨

 

포아송 분포 Poisson Distribution

정해진 시간 동안 특정 사건이 몇 번 발생할 것인지를 나타내는 분포

'1시간 동안 가게에 방문하는 고객의 수', '10분 동안 톨게이트를 통과하는 자동차의 수'

정해진 시간 안에 어떤 사건이 일어날 횟수에 대한 기댓값을 𝜆라고 했을 때 그 사건이 n회 일어날 확률은 다음과 같다(여기서 e는 자연상수이다     

ppois(x, lambda)

ppois(16, lambda=12)

ppois(16, lambda=12, lower=FALSE)

 

 

-람다(lambda) = 단위시간당 평균 사건발생 횟수 = 경기당 득점횟수 = 90분당 득점횟수

- X = 단위시간당 사건발생 횟수

 

연속균등분포 Continuous Uniform Distribution

a와 b사이의 확률

 

 

runif(n,min=,max=)

runif(10, min=1, max=3)

 min값과 max값사이의 범위에서 균일한 n개의 난수를 구해준다 난수생성

 

지수 분포 Exponential Distribution

포아송분포에서 한 사건이 일어나고 난 뒤 다음 사건이 일어날 때까지 필요한 시간이 따르는 분포

람다 값이 작을수록 다음 사건이 일어나기 까지 걸리는 시간이 길고 반대로 람다 값이 클수록 짧게 걸린다.

무기억성을 가지는 사건이 일어나는 시간에 대한 분포라, 오늘 자정부터 오늘 정오까지 내 노트북 고장나지 않았을 때,  다음 1시간 동안(12:00~13:00) 고장나지 않을 확률은 오늘 자정부터 새벽 1시까지 고장나지 않을 확률과 같다는 것이다.

pexp(e, rate=1/ )

pexp(2, rate=1/3)

(평균 1/rate)을 갖는 지수 분포에 대한 밀도, 분포 함수, 정량 함수 및 무작위 생성.

 

정규분포 Normal Distribution

기댓값을 중심으로 대칭이며, 중심 위치는 기댓값, 산포는 표준편차에 의해 결정되는 엎어 놓은 종 모양의 분포

pnorm(84, mean=72, sd=15.2, lower.tail=FALSE)

x가 84이상일때 평균이 72, 분산이 15.2인 확률

 

카이제곱 분포 Chi-sqaured Distribution

qchisq(.95, df=7)

 

t-분포 Student t Distribution

qt(c(.025, .975), df=5)

F-분포 F Distribution

qf(.95, df1=5, df2=2)

 

모집단 / 표본

모집단: 조사 대상의 전체집단 population

표본: 모집단에서 뽑힌 일부분 sample

대상 전체를 조사하지 않아 ->표본 오차(sample error)가 발생

자료 측정, 수집, 처리 과정에서 부주의, 응답자의 잘못된 응담 -> 비표본오차 발생

 

표본추출법

  • 확률추출: 구성원 각각이 표본으로 뽑힐 확률이 동일하도록 표본 추출
  • 비확률추출: 표본을 추출하는 사람의 주관에 의해 표본 추출
  • 단순랜덤추출법: 모집단 구성하는 원소가 뽑힐 확률이 같도록 표본을 추출(복원추출/비복원추출)
  • 충화추출법: 모집단을 서로 유사한것 끼리 묶어 몇개의 층으로 분할한 후 각 층에서 일정한 크기의 표본을 랜덤으로 추출하는 방법.(비례배분/최적배분)
  • 집락추출법: 모집단이 집락을 형성하고 있을 때 집락들 중 몇개를 표본으로 랜덤추출한 후 추출된 집락을 전부/랜덤추출하는 방법
  • 계통 추출법: 모집단에서 첫 번째 표본을 랜덤으로 추출한 후 두번쨰 표본부터는 일정한 간격을 두고 추출

비확률추출법: 편리추출법, 판단추출법, 할당추출법

 

sample(수 범위, 추출개수, 중복여부)

1~10중 10개 중복없이 추출

1~10중 10개 중복있이 추출

 

 

0과 1중, 100개 추출, 중복있게

 

 이항분포 

rbinom(10, 5, 0.3) 표본크기5, 성공률 0.3, 난수10개

 균등분포

runif(10)  표본 (0, 1), 난수 10개

 

 

 

 

정규분포

표준

 

평균1, 표준편차3

 

 

 

10개 난수중 0 이상일때 count+1

(rnorm을 새로 하면 count는 매번 바뀜)

이것은 x가 0이상인 것의 길이와 같다

 

 

0~1사이에 1000개의 수 발생

0.0부터 1.0까지 0.1단위마다 몇개의 수가 발생했는지 알려주는 그래프

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


과제1. ‘iris' 는 꽃받침 (sepal)와 꽃잎 (petal)에 대하여 각각 길이와 너비 그리고 종 (species)에 대한 자료이다 . 이를 활용하여 아래 사항을 구하여라
 1. 꽃받침의 길이와 너비를 활용 , 공분산과 상관계수를 구하여라

A: cov(iris$Sepal.Length, iris$Sepal.Width),   cor(iris$Sepal.Length, iris$Sepal.Width)
 2. versicolor’ 종에 한하여 꽃잎의 길이와 너비에 관한 공분산과 상관계수를 구하여라

A: ris의 51~100번쨰에 versicolor종의 정보가 들어있으므로

          versicolor의 꽃잎의 길이=iris$Petal.Length[51:100]

          versicolor의 꽃잎의 넓이=iris$Petal.Width[51:100]

과제2. 남학생 키에 관한 데이터는 평균 173, 표준편차 5 에 따르
는 정규분포를 따른다
 1. 표본 10 0 00 개를 뽑자 주의 : set.seed(237) 을 사용하자 사용법 예는 뒤쪽
 2. 위 표본에 대하여 히스토그램을 그려라
 3. 위 표본에 대하여 사분위수 , 평균 , 분산 , 표준편차를 구하여라

A:

set.seed(237)

> mStuHeight = rnorm(10000, 173, 5)  --표본 10000개 뽑기

> hist(mStuHeight)

> quantile(mStuHeight)

0% 25% 50% 75% 100%  --사분위수

155.0930 169.5364 172.9044 176.3312 191.5549

> mean(mStuHeight)

[1] 172.9471 --평균

> var(mStuHeight)

[1] 25.57626 --분산

> sd(mStuHeight)

[1] 5.057298 --표준편차

 

 

set.seed(237)

명령어 실행 전 매번 ‘seed’ 관련 명령어를 설정하
면 고정된 값이 나온다. 원랜 매번 다른 값이 나오는데..

반응형