Download as pdf or txt
Download as pdf or txt
You are on page 1of 41

setwd("C:/Temp") - 이건 내꺼 working directory이다.

통상통계분석_20220502
2.2 Covariance 공분산
- 공분산은 두 확률변수의 선형 관계를 측정하는 것이다. X가 증가할 때 Y도 증가하면 공분산이 커지게
되고, positive라고 말할 수 있다. 반비례하게 되면 공분산이 마이너스이다.
- 공분산을 계산하는 방법은 다음과 같다.

공분산을 손으로 계산하기가 어려운데, 그래서 어떻게 계산하기도 하냐면 X, Y 확률변수의 값을 서로


곱한 것의 기댓값에 각각의 평균을 곱해서 빼주면 된다.

- 이 예제에서는 X=25, Y=60일 확률은 0이다. 왜냐면 경제는 같은 상황이 발생하기 때문


- 3개 곱하고 더해주기
- 따라서 공분산이 양의 값이 나오기 때문에 양의 선형 관계가 있다. 즉, X가 증가하면 Y도 증가하는
것이다.
library(prob)
S<-rolldie(2, makespace=T) , makespace=T가 확률을 나타내줌
S

# addrv(add a random variable), FUN(Function이라는 의미)


- "X1","X2"를 합한 값을 새로운 확률변수 U로 정의하겠다는 의미!
S<-addrv(S, FUN=max, invars=c("X1","X2"), name="U")
S<-addrv(S, FUN=sum, invars=c("X1","X2"), name="V")

- 여기서 2가 나올 확률을 구하고 싶다면, 2가 여러 번 나오니까 확률을 다 더해줘야 한다.

# 평균을 계산한다.
- 확률변수의 값에다 그 값의 확률을 곱한 다음에 더해주기!
EU<-sum(S$U*S$probs)
EU

- 4.472222는 뭐냐면 주사위를 2개 던졌을 때 그 2개 값 중에 최댓값을 확률변수를 정의한다고 하면,


그 최댓값의 평균이 4.472222이라는 것이다.
EV<-sum(S$V*S$probs)
EV

- 7은 그럼 무슨 뜻이냐? 주사위 2개 던졌을 때 2 주사위의 합이 나오는데 그 합의 평균적인 값이 7이


다.

# 분산도 계산할 수 있다.

- 확률변수의 값의 제곱에다가 그 확률을 곱해주고 평균의 제곱을 빼주면 된다.


Var_U<-sum(S$U^2*S$probs) - EU^2
Var_U

Var_V<-sum(S$V^2*S$probs) - EV^2
Var_V

#공분산
- S$U*S$V*S$probs을 곱한 다음에 다 더하고, 2개의 평균을 빼주면 된다.
Cov_UV<- sum(S$U*S$V*S$probs)- EU*EV
Cov_UV

- 2.91~ 나오는데 Positive linear relationship을 가진다. (양의 선형 관계를 가짐)

3. The sum of two random variables

E(X + Y) = E(X) + E(Y)


E(X - Y) = E(X) - E(Y)

- 분산은 각각의 분산에다가 공분산의 2배를 더해주면 된다.


- 만약, Var(X-Y) : 마이너스면 각각의 분산에다가 공분산의 2배를 빼주면 된다.

E(aX + bY) = aE(X) + bE(Y) - 가중치가 붙은 확률변수의 값은 이렇게 나타낼 수 있음

- 가중치가 붙은 분산은 아래와 같이 나타낼 수 있음

- 가중치가 붙은 마이너스 분산은 아래와 같이 나타낼 수 있음


통상금융통계분석_20220502_Part2

# X+Y=K, E(K), var(K)


# E(K)= E(X)+E(Y)
# var(K)=var(X)+var(Y)+2*cov(X,Y)

S$K<-S$X1+S$X2 : S1과 S2를 더해서 K로 만들어라

EK<- sum(S$K*S$probs) : K의 평균 구한 것
EK
- 그런데 E(K)= E(X)+E(Y)로 각각 구해서 더해줘도 된다는 것이다.
EX1<-sum(S$X1*S$probs)
EX2<-sum(S$X2*S$probs)
EX1+EX2

# E(K^2)- EK^2 : 분산 구하기


Var_K<-sum(S$K^2*S$probs)-EK^2
Var_K

-그런데, var(K)=var(X)+var(Y)+2*cov(X,Y) 이렇게 구해도 된다.


Var_X1<-sum(S$X1^2*S$probs)-EX1^2
Var_X2<-sum(S$X2^2*S$probs)-EX2^2
Cov_X1X2<-sum(S$X1*S$X2*S$probs)-EX1*EX2
Var_X1+Var_X2+2*Cov_X1X2
3.1 Portfolio Expected return and risk

- 우리가 포트폴리오를 하는 이유는 각각의 수익률이 다르기 때문이다.


- 그래서 우리는 기대수익률(평균)을 최대화해야 하지만 동시에 리스크를 최소화해야 한다.

EP<-0.6*50+0.4*95 : 포트폴리오 수익률 구하기


EP
Var_P<-0.6^2*43.30^2+ 0.4^2*193.21^2+2*0.6*0.4*8250
Var_P
sqrt(Var_P) : Standard Deviation 구한 것

- 포트폴리오의 리턴과 리스크는 2개 사이의 값이 나오게 된다.

Q4) Given the information probability distributions for variables X and Y – 이거 해보기! (10페
이지)
통상금융통계분석 LN7: Discrete Distributions (2)

- 확률변수 X가 셀 수 있는 값을 취하는 데, 그 값의 확률이 특이한 경우를 이 파트에서 배움

1. Discrete Uniform Distribution (이산 균등 분포) - 주사위를 던지는 경우가 해당


- 그냥 Uniform Distribution은 연속균등분포를 뜻한다.

PDF : Probability Distribution Function, 가령 주사위를 던졌을 때 나오는 눈의 수를 확률변수로 정


의했을 때, 이 x의 확률은 각각 1/6이다. 그래서 모두 1/m의 식을 가진다. 이게 PDF이다. 즉, 확률을
정의하는 식이다.

- 평균 구하기

- 분산 구하기

Q1) Roll a die and let X be the upward face showing. Then µ and σ2?
- 왜 주사위를 던져서 나오는 눈의 수를 확률변수 X로 정의하면 이산 균등 분포가 되냐고 물어본다면,
확률변수가 1~6까지 나올 수 있는데 각각의 값이 모두 확률이 같기 때문이다.
- 평균은 m+1/2 공식을 사용해서 3.5가 나옴, 분산은 m^2-1/12하면 35/12가 된다.

Q2) A random variable X following the discrete uniform distribution can takes the integer
from 3 to 10. Then µ and σ2?
- X는 3~10까지 취할 수 있고, 각각의 확률은 1/8이 된다. 그랬을 때 평균은?
# discrete uniform ~ (3, 10) : 얘는 1부터가 아니므로 위의 식 적용 x
X<-3:10
X
EX<-(1/8)*sum(X)
EX
Var_X <- (1/8)*sum(X^2)-EX^2
Var_X
통상금융통계분석_20220509_Part1

- 이산 균등 분포는 확률변수가 취하는 각각의 값이 모두 확률이 같다.

값이 중간부터 있을 때는 평균을 아래와 같이 계산하면 된다!

# 이산균등분포의 예
d1<-sample(1:6, size=3000, replace=T)
table(d1)
mean(d1)
35/12 : 분산 구하는 공식 (m^2-1/12)
var(d1)

- 1~6까지 주사위를 던져서 나오는 숫자를 3천개를 나열하면 거의 1/6 확률로 나온다.

d2<-sample(c("H","T"), size=1000, replace=T) : 동전 앞면, 뒷면


table(d2)

# 특정한 분포를 만드는 함수가 정해져 있다.


# discrete uniform distribution
library(extraDistr) : 이걸 불러와야 한다.

rdunif : dunif는 discrete uniform이라는 뜻이다. 여기에 r를 붙이면 뭐냐면 random number라는
뜻이다. random number는 난수를 generate하는 것이다.
d3<-rdunif(1000,1,10) : 1000개를 찾고 최솟값은 1, 최댓값은 10까지 찾는다.
table(d3)

pdunif(2,1,10)
1-pdunif(2,1,10) # Pr(X>=3)
# p는 누적확률을 계산한다. 확률변수가 취할 수 있는 값은 1~10까지이고, 2까지의 누적확률을 계산하
라는 의미이다. 따라서 pr(x=1)+pr(x=2)여서 각각은 1/10이므로 답은 2/10가 된다.

set.seed(1234) : 이걸 똑같이 정해줘야 교수님과 같은 값이 나온다.


d3<-rdunif(1000,1,10)
d4<-table(d3)
plot(prop.table(d4), type="h") : 테이블의 비율을 계산하는 것

# 1~10까지 discrete uniform를 갖는 분포의 pdf가 된다. 랜덤 넘버가 각각 1/10씩 나오니까 그걸 비


율로 만든 것이다. h는 무슨 선이냐면 수직선을 그어주는 것이다.

# 누적확률을 그래프로 작성한다.


xx<-seq(-1, 11, by=0.01) : -1부터 11까지 숫자를 0.01 간격으로 나열하는 것(이걸 x축으로)
plot(pdunif(xx,1,10)~xx, type="l") : plot은 y 변수 먼저 적고 x축 넣음, y 변수는 x값에 대한 누적확
률이 됨, type은 line type으로 그리겠음, 정확히 계단식으로 만들어짐),
- 실제로 4보다 작을 확률과 4.5보다 작을 확률 모두 0.4이다. 왜냐면 이산확률분포에서는 4.5라는 값을
취할 수 없기 때문이다. 그래서 이렇게 평평하게 그래프가 만들어지는 것이다.

# rdunif: random number


# pdunif: 누적확률을 계산한다.
- plot 안에서는 y~x나, x,y나 같은 것이다!

* rdunif가 뭔지 pdunif가 뭔지 1;10라고 쓰면 무슨 뜻인지 알아두기, 1:10은 Discrete Uniform가 취


할 수 있는 값을 의미한다.

sample (1:6, size =3000, replace = T) 가 rdunif(3000, 1, 6) 과 같은 것이다!

2 Bernoulli Distribution
X takes two values, X = 0 and X = 1
- 베르누이 확률 분포는 확률변수 x가 0 또는 1이 나온다. 1이 성공이고 0은 실패이다.

Pr(X = 1) = P(1) = π : probability of a success


따라서 성공 확률을 파이라고 정의한다.
파이가 1/2이 되면 Discrete Uniform이 된다.

Pr(X = 0) = P(0) = 1 − π : probability of a failure


실패 확률은 1 – 파이이다.
Q3) Find the Mean and Variance for a Bernoulli Random variable X

- 베르누이 분포 평균은 파이가 된다. 분산은 파이(1-파이)가 된다.


- 따라서 평균은 성공확률, 분산은 성공확률에 실패확률을 곱해주면 된다.

# X={0,1}, success pr=0.7, failure=0.3


# random number for a Bernoulli distribution
set.seed(1234)
d4<-sample(0:1, size=1000, prob=c(0.3,0.7), replace=T)
table(d4)

- 가령 베르누이 확률변수는 0 또는 1만 가질 수 있고 성공 확률은 0.7이고, 실패 확률은 0.3인 확률 분


포가 있다고 한다면, 이런 확률 분포하에서 랜덤 넘버를 뽑는다고 한다면, sample(0:1, size=1000,
prob=c(0.3,0.7), replace=T)라고 하면 된다. 그러면 0과 1의 비율이 30%와 70%가 나오게 된다.

3 Binomial Distribution (이항 분포)

- 베르누이를 n번 시행했을 때 성공 횟수를 확률변수 x로 정의한다.


- 예를 들어 10번 동전을 던졌을 때 2번 앞면이 나올 확률, A학점 맞은 학생의 수, 불량품이 나오는 숫
자, 특정 정당이 얻은 득표수, 이긴 게임의 숫자
- 5번 던졌을 때 앞면이 2번 나올 확률은?

x: the number of ”events of interest” in sample


따라서 x는 내가 관심 있는 사건의 횟수이다.
π: probability of ”event of interest”
π는 내가 관심 있는 사건의 성공 확률이다.

• Example : Flip a coin four times, let X= the number of heads


- x는 0,1,2,3,4가 되고, n=4가 되고, 파이는 성공 확률이니까 1/2이 된다.

Q4) Suppose the probability of purchasing a defective computer is 0.02. What is the
probability of purchasing two defective computers in agroup of 10?
답 : 1.5%
- 성공 확률이 0.02이다. 10개를 샀을 때 불량품이 2개일 확률은?
- n=10, 파이는 0.02, x는 2가 된다.
- 공식으로 계산하면 아래와 같이 하면 된다.

# n=10, success pr=0.02, x=2


# 10C2 (0.02)^2*(1-0.02)^8
choose(10,2)*0.02^2*(1-0.02)^8
choose(4,2)*0.5^2*0.5^2
choose(4,0)*0.5^0*0.5^4+choose(4,1)*0.5^1*0.5^3+
choose(4,2)*0.5^2*0.5^2

- 콤비네이션은 choose라는 명령어를 사용한다.

µ = E(X) = nπ : Binomial Distribution의 평균은 n*π가 된다.


- 분산은 nπ(1-π)가 된다.

Q5) A four-child family. Each child may be either a boy (B) or a girl (G). For simplicity, we
suppose that Pr(B) = Pr(G) = 0.5 and the genders of the children are determined
independently. If we let X count the number of B’s, then X ∼ binom(size = 4, prob = 0.5).
choose(4,2)*0.5^2*0.5^2 : 이렇게 해서 구하면 된다. 아이가 4명 있으면 남자 아이와 여자 아이가 각
각 2명일 확률은 37.5%가 된다.

최대 2명일 확률은, 누적확률로 0, 1, 2일 때의 확률을 더하면 된다.

choose(4,0)*0.5^0*0.5^4+choose(4,1)*0.5^1*0.5^3+choose(4,2)*0.5^2*0.5^2

# Pr(X=0), Pr(X=1), n=10, success pr=0.5


choose(10,1)*0.5^1*0.5^9
# dbinom: 이항분포의 pdf (특정한 값에서 확률)
dbinom(1,size=10, prob=0.5)

- 값이 동일하게 나온다.

# n=4인 family, success pr=0.5


# Pr(X=2)
dbinom(2, size=4, prob=0.5)

dbinom(x,size=10, prob=0.5) : x가 0일 때 확률, 1일 때 확률, 10일 때 확률까지 쭉 계산한다.


binomCoinToss <-cbind(dbinom(x,size=10, prob=0.5))
binomCoinToss

- cbind로 묶어주면 벡터가 된다. 엑셀의 칼럼처럼 바뀌게 된다.

rownames(binomCoinToss)<-x
binomCoinToss

- 이름을 바꿔주면 싶으면, rownames(binomCoinToss)<-x, x는 0~10까지의 숫자이다.

binomPr<-dbinom(x,size=10, prob=0.5)
plot(binomPr~ x , type="h")

- y축에 해당하는 것은 dbinom(x,size=10, prob=0.5) : 확률이고, x축에 해당하는 값은 0~10까지의 숫


자가 해당된다. 5일 때의 확률이 가장 높다.

#CDF : 누적확률
pbinom(1, size=10, prob=0.5) # Pr(X <=1 )
pbinom(5, size=10, prob=0.5) # Pr(X <=5)

- 만약 pr(2<=x<=5)일 확률을 구하고 싶으면, 5까지의 누적확률을 구한 다음에 1까지의 누적확률을 빼


주면 된다.
# Pr(2<=X<=5)
pbinom(5,size=10, prob=0.5)-pbinom(1,size=10, prob=0.5)

- 5보다 클 확률은 1에서 4까지의 누적확률을 빼주면 된다.


# Pr(X>=5)
1-pbinom(4, size=10, prob=0.5)

pbinom(4, size=10, prob=0.5, lower.tail = F)


- lower.tail = F 라는 함수를 쓰면, 4까지의 누적확률을 계산하는 것이 아니고 누적확률을 뺀 나머지를
계산하게 된다. 따라서 5부터 10까지의 확률을 계산한다.

# random number 를 generate : rbinom 사용


set.seed(1234)
# X ~ {0, 1}
toss<-rbinom(1000, 1, prob=0.5)
table(toss)
toss<-rbinom(1000, 10, prob=0.5) : 0부터 10까지 숫자가 나올 수 있구나
table(toss)
prop.table(table(toss)) : 비율이 나온다.

d5<-prop.table(table(toss)) : x가 필요없고 table로 만든 결과를 바로 plot 그리면됨


plot(d5, type="h" )

abline(h=0.05, col="red") : 5%에 해당하는 라인을 그리는 것이 abline이다. h는 수평선

abline(v=5.5, col="blue") : v는 수직선이 그려진다.


#Pr(7 <= X <=9) : 각각의 확률을 모두 더해주면 된다.
dbinom(7, size=10, prob=0.5)+dbinom(8, size=10, prob=0.5)+dbinom(9, size=10, prob=0.5)

pbinom(9, size=10, prob=0.5)-pbinom(6, size=10, prob=0.5)


- 아니면 9까지의 누적확률에서 6까지의 누적확률을 빼면 된다.

diff(pbinom(c(6,9),size=12, prob=1/6))
- diff는 빼주는 함수, 9에서 6를 빼주는 것이다. 뒤에서 앞의것을 빼주는 것, 그러면 pbinom을 6에 한
번 적용하고 pbinom을 9에 한 번 적용해서 9에 적용한 거에서 6에 적용한 걸 빼주게 된다.
pbinom(9, size=12, prob=1/6)-pbinom(6, size=12, prob=1/6) : 이것도 동일함

# 평균과 분산을 계산할 수 있다.


- distrEx 라이브러리 안에서 바이노미얼은 대문자(Binom)를 사용해야함!

library(distrEx)
X<-Binom(size=3, prob=0.5) # n=3, prob=0.5
E(X) # 1.5
var(X) # 0.75
sd(X)

- library(distrEx)을 설치하고 Binom(size=3, prob=0.5) # n=3, prob=0.5을 정의한 다음에 평균과 분


산을 쉽게 계산할 수 있다.
library(distr) : d하고 p는 이 패키지 안에 들어 있는것!
d(X)(1) # dbinom(1, size=3, prob=0.5) : 여기서 X는 위에서 Binom에 적용한 것이다.
dbinom(1, size=3, prob=0.5) : 위에서 쓴 d(X)(1)은 이거와 같은 뜻이다.
p(X)(1) # 누적확률
pbinom(1, size=3, prob=0.5)

통상금융통계분석_20220516_Part1

4 Poisson Distribution ( 도착 확률 분포라고도 함 )

- 일정 시간 동안 도착하는 확률에 대해서 나타낸 것으로 도착하는 횟수가 확률 변수 x가 된다. 사건은


독립적이다.
- 가령 하루동안 발생하는 교통사고의 횟수이다. 즉, 단위 시간(공간) 동안 발생하는 사건의 횟수를 포아
송 분포라고 한다. 가령 에이포용지에 발생한 타이핑 에러 등이다.
- 포아송 분포는 주로 흔하지 않은 사건에 이용한다.
- 포아송 확률 변수를 정의하기 위해서 람다를 알아야 한다. 람다는 단위 시간에서 발생하는 사건의 평
균적 횟수를 의미한다.
- 하루 동안 x가 한 건 발생할 확률은 또 다른 하루 동안에 사건이 한 건 발생할 확률과 모두 같다. 그
니까 단위 시간이나 공간의 길이만 같으면 어디에서나 확률은 같다.
- The number of events that occur in one area of opportunity is independent of the
number of events that occur in the other opportunity. (여기서 발생하는 사건의 발생은 또 다른
사건의 발생과는 무관하다)
- The probability that two or more events occur in an area of opportunity approaches zero
as the area of opportunity becomes smaller ( 단위 시간의 크기가 점점 작아질수록 사건의 발생
확률은 매우 작아진다.)

- 포아송 분포를 정의하기 위해서는 람다는 주어져야 한다.


- 포아송 분포의 확률은 아래와 같이 계산한다. e는 exp를 의미하는 것으로 자연로그이다.

# lambda=2.5인 포아송분포에서 Pr(X=3)


lambda<-2.5
x<-3
exp(-lambda)*lambda^x/factorial(x)
- 평균적으로 2.5건이 발생하는 데 3건이 일어날 확률을 계산해라.

- 확률은 반드시 0~1 사이의 값이 나와야 한다. PDF는 무조건 0~1 사이!!!
- 그리고 모든 확률을 더하면 1이 나와야 한다.

- 포아송 분포의 평균은 람다이다.

- 포아송 분포의 분산도 람다가 나온다. 포아송 분포는 평균과 분산이 같다.

- 0에서 t 사이에서 일어나는 사건의 횟수는 람다*t이다. 구간이 2배가 늘어나면 평균의 2배가 발생하는
것이고, 구간이 t배가 늘어나면 평균적으로 일어나는 사건의 횟수는 람다 *t가 된다.

● What is the probability that no car arrives during this period? 0.67%
lambda<-5
x<-0
exp(-lambda)*lambda^x/factorial(x)

● Suppose the car wash above is in operation from 8AM to 6PM, and let Y be the number
of customers that appear in this period. Sincethis period covers a total of 10 hours, Y ∼
pois(lambda=5*10=50).What is the probability that there are between 48 and 50 customers,
inclusive?
- 한 시간 평균이 5명이니까 10시간을 하면 50명이다. 그러면 하루에 48~50명 사이의 고객이 올 확률은
얼마인가? 아래와 같이 48+49+50을 하면 된다.

lambda<-50
x<-c(48,49,50)
pr1<-exp(-lambda)*lambda^x/factorial(x)
sum(pr1)

- 각각의 확률이 나오는 것을 sum을 해서 더해주면 된다.


- 아니면 다른 방식으로 구할 수 있다.
0~50까지의 누적확률을 구한 다음에 47까지의 누적확률을 빼주면 된다.
# 포아송 분포의 누적확률분포 함수를 정의하고 있다.
#Pr(Y<=50)
ppois(50,lambda=50) : pois는 포아송 분포를 의미하고 앞에 p는 누적확률을 의미
ppois(47, lambda = 50)
ppois(50,lambda=50 )- ppois(47, lambda = 50)
diff(ppois(c(47,50), lambda=50)) : 이건 47까지의 누적확률과 50까지의 누적확률을 구한 다음에 2번째
값에서 1번째 값을 빼주는 것이다.

# 포아송 분포의 pdf : Pr(Y=y)


dpois(50, lambda = 50) : 평균적으로 50번 발생하는데 50번 발생할 확률을 의미
dpois(0, lambda = 5)

- dpois는 pdf이고, ppois는 누적확률이다.

● 포아송 확률 분포의 r의 함수는 pois인데 앞에 p를 쓰면 누적확률이고, d를 쓰면 pdf이다.

Q6) Generate 100,000 random numbers chosen from the Poisson distribution of (Y ) above.
Then find the mean and variance using therandom numbers. Compare them with the
theoretical values. ( 그런데 theoretical values 이론적 값은 50이 나와야 하는데 조금만 실험을 하게
되면 50하고는 거리게 있게 된다. 그런데 무한히 많이 실행하게 되면 50이 나오게 된다.)

# random number를 생성하라.


set.seed(1234)
r1<-rpois(100000, lambda = 50)
mean(r1)
var(r1)
통상금융통계분석 LN8: Continuous Distributions (1)

- Continuous Distributions은 확률 변수 x를 셀 수 없는 것이다.


- 키나 몸무게, 시계 등 측정하는 것은 연속 확률이다.
- 따라서 확률 변수 x가 취할 수 있는 범위 안에 무수히 많은 숫자가 있는 것이다.

• Probability Density (확률 밀도, 확률 분포라고도 함)


- 연속 확률 분포에서도 pdf가 주어지는 데 그 값에서의 확률을 계산하는 공식이 아니라 구간에서의 확
률을 계산하는 공식이다. 즉, x가 이 범위 안에 있을 확률을 계산하는 것이다. 따라서 면적으로 계산
하게 된다.
- 연속확률분포에서 특정한 값의 확률은 존재하지 않는다. 면적이 존재하지 않기 때문이다.
- pdf는 0보다 크거나 같아야 한다. 0보다 작을 수는 없다!! 확률은 마이너스가 될 수 없기 때문이다.

● pdf는 반드시 2가지 특징을 가진다.


1. pdf는 0보다 크거나 같다.
2. pdf의 전체 면적은 반드시 1이 된다.

- 위의 그림에서 a의 값이 얼마가 되야 pdf가 될 수 있을까? 전체 구간에 대한 면적의 합이 1이 되어야


한다. 밑변의 길이가 2이다. 삼각형의 넓이이기 때문에 세로 길이는 1이 된다. 따라서 x에 2를 대입하
면 2a=1이 되어야 한다. 따라서 a는 1/2이 된다. 따라서 y=1/2x가 pdf가 되는 것이다. a는 아무 숫
자나 될 수 없다. 반드시 1/2이 되어야 한다.
- 그런데 삼각형이 아닌 상태에서는 손으로 계산하는게 불가능하다. 따라서 적분을 이용해야 한다.

- 어떤 함수가 주어지고 어느 범위 안에 있는 면적을 계산해라

fx1<-function(x) {
x^2+2
}
fx1(2)
integrate(fx1, lower=-3, upper=3

- function(x)라고 쓰고, 중가로를 끝에 써주고 나머지는 혼자 한 줄에 적어준다. 그리고 함수를 중간에


다 적어준다.

integrate(fx1, lower=-3, upper=3) : 적분할 때 사용하는 함수, 함수 이름 쓰고, -3에서 3까지 적분해

- 그런데 위에 건 당연히 pdf가 될 수 없다. 왜? 구간의 면적이 확률인데 확률은 0~1사이의 값이 되어


야 하는데 어떻게 30이 나올 수가 있겠어.

fx2<-function(x) {
0.5*x
}
integrate(fx2, lower=0, upper=2)

- a ≤ X ≤ b까지에서 (≤) 같냐는 표시는 전혀 중요하지 않다. 왜냐면 특정한 값에서의 확률은 0이기
때문이다.
Q1) How to describe a cumulative probability : Pr(X ≤ a) =? 그렇다면 누적확률은 어떻게 정의할
수 있는가? 누적확률은 F(x) - 라지 에프엑스라고 쓴다.

- 연속확률분포에서 평균은 아래 그림과 같이 구한다. x에다가 pdf를 곱해서 전체를 적분하자.

- 분산은 아래 그림과 같이 구한다.

# 따라서 아래 함수의 확률 변수 x의 평균을 구해본다고 한다면,

fx2<-function(x) {
0.5*x^2 - 왜 여기서 제곱 붙였는지 알아야함!
}
integrate(fx2, lower=0, upper=2) # mean 평균은 1.3이 나온다.
# 분산은 1/2^3에 대해서 적분하고 아까 구한 평균의 제곱을 빼주면 된다.

fx3<-function(x) {
0.5*x^3
}
integrate(fx3, lower=0, upper=2) # variance : 이 줄까지 해서 나온 값이 2이다. 그리고 나서
1.33^2을 빼줘야 한다.

2-1.33^2

통상금융통계분석_20220523_Part1

2 Continuous Uniform Distribution


- 일정 구간에서 확률이 균등하게 분포 되어 있는 것이다.

- 균등확률분포는 y=2 이런 게 pdf가 된다.


- 균등확률분포 확률변수가 취하는 값의 범위가 주어져야 한다.

The area under the curve is 1 by multiplying its base (b − a) by itsheight 1/(b − a)
- 전체 면적이 1이 되어야 하기 때문에 아래 길이는 b-a이고, 높이는 1/b-a이다. 이 높이가 바로 pdf
가 된다.

그렇다면 cdf는 무엇일까? cdf는 누적확률분포이다. cdf는 F(x) : 라지 에프엑스라고 쓴다.


- 0.5보다 작거나 같을 확률은 1/2*1이 된다.

# cdf의 함수를 구하기 위해서는 a부터 x까지의 값을 적분해주는 거구나

# cdf는 일차함수 식이다. 따라서 기울기는 (1/b-a)*x에 해당하고, 상수항은 –a/b-a에 해당한다. 따라
서 cdf 함수가 직선이 되는 이유는 일차함수이기 때문이다.

● 균등 분포에서 pdf가 뭔지 알아야 하고, cdf는 어떻게 해서 pdf가 cdf가 되는지 알아야 한다.

● 균등 분포의 특징을 살펴보면.


1. 반드시 a하고 b가 주어져야 한다. (범위가 주어져야 한다.)

Domain: a ≤ x ≤ b
Domain은 확률 변수 x가 취할 수 있는 값을 의미한다.

평균을 구할 때 이산확률분포면 sum이 되지만, 연속확률분포에서는 적분이 된다.


- 연속확률분포의 평균과 분산 구하는 법

Example) An oral surgeon injects a painkiller prior to extracting a tooth. Given the varying
characteristics of patients, the dentist views the time for anesthesia effectiveness as a
uniform random variable that takes between 15 and 30 min. In short notation, we could say
that X is U(15, 30). Setting a = 15 and b = 30, we obtain the mean and standard deviation (
시간은 연속확률변수이다)
예) 구강외과 의사는 이를 뽑기 전에 진통제를 주사합니다. 환자의 다양한 특성을 고려할 때, 치과의사는
마취 효과를 위한 시간을 15분에서 30분 사이의 균일한 무작위 변수로 봅니다. 짧은 표기법으로, 우리는
X가 U(15, 30)라고 말할 수 있습니다. a = 15 및 b = 30을 설정하면 평균 및 표준 편차를 얻을 수 있
습니다.

For example, the probability that the anesthetic takes between 20 and25 min is : 1/3이 된다.
dunif는 pdf의 식을 의미한다. 즉 높이를 계산하는 것이다.
dunif(20, min=15, max=30) # pdf 식을 계산한다.

dunif(15, min=15, max=30) # pdf=1/15

- 높이가 모두 일정하므로 x가 20이든 15이든 똑같은 값이 나온다. 1/15이 나온다.

punif는 cdf를 의미한다. 15에서 30까지 균등 분포이면 20까지의 누적확률을 구한다.

punif(20, min=15, max=30) # CDF 누적확률을 계산한다.

- 아래 확률 계산하려면 25까지의 누적확률 구하고 20까지의 누적확률 구해서 빼면 된다.

punif(25, min=15, max=30)-punif(20, min=15, max=30)

# runif: random number를 생성한다.


set.seed(1234)
runif(10, min=15, max=30)
runif(40, min=-1, max=1)
rand.unif<-runif(10000, min=-2, max=0.8) #
hist(rand.unif, freq=F)
- freq=F라고 옵션을 주면 확률 비슷한 개념으로 나온다. 그런데 정확히 확률은 아니다. density는 pdf
의 높이가 된다. 그래서 값이 0.35정도 나온다.

(-2+0.8)/2 # theoretical mean 이론적 평균은 이렇게 계산한다.


mean(rand.unif) # empirical mean 경험적 평균이다. 이론적 평균과 거의 비슷하다.

(0.8+2)^2/12 # theoretical variance


var(rand.unif) # empirical variance

통상금융통계분석_20220523_Part2

# X ~ Uniform(-3, 5.5)
# Pr(X>=4)
1.5*(1/8.5)
1-punif(4, min=-3, max=5.5)
punif(4, min=-3, max=5.5, lower.tail = F) # theoretical probability

- lower.tail = F는 누적확률에서 나머지 구간을 계산해준다.

# random number를 이용해서 Pr(X>=4) = 17%


rand.unif1 <- runif(10000, min=-3, max=5.5)
rand.unif1

sum(rand.unif1>=4)/10000 # empirical probability

# 이론적 확률과 경험적 확률이 거의 비슷하게 나온다.

시험문제 : theoretical mean과 empirical mean, theoretical probability과 empirical probability


비교하는 거 낸다.

3 Normal Distribution 정규 분포
- 가운데를 중심으로 좌우가 대칭인 분포이다. Mean, Median, Mode가 모두 같다.
- 정규분포는 2가지 패러미터인 뮤하고 시그마에 의해서 정의된다.
- 시그마에 따라서 분포가 어떤 모양인지 예상할 수 있다. 분포가 퍼져 있는 정도는 표준편차로 정의된
다.

• Almost all (99.7%)of the area under the normal curve is included in the range
- 확률변수 x는 평균에서 3배의 표준편차를 빼준 값과 평균에서 3배의 표준편차를 더해준 범위 안에 대
부분 있다.

# normal distribution
x<-seq(-15, 15, by=0.1) : seq는 어떤 범위를 주고 어떤 간격으로 숫자를 만드는 것

#norm: dnorm, pnorm, rnorm


mx<-mean(x)
sdx<-sd(x)
mx # mean=0
sdx # sd=8.7

따라서 평균이 0이고 표준편차가 8.7인 정규분포를 가정하라는 것이다.


y<-dnorm(x, mean=mx, sd=sdx)
plot(y~x, type="l")

# curve: f(x) functional graph, curve는 f(x)라고 하는 그래프를 그려주는 것이다.


curve(dnorm(x, mean=mx, sd=sdx), from=-30, to=30)

# CDF 그래프 : pnorm


curve(pnorm(x, mean=mx, sd=sdx), from=-30, to=30)

set.seed(1234)
x<-rnorm(10000, mean=90, sd=5)
x
hist(x)
- 정규분포에서 랜덤 넘버를 찾아서 히스토그램을 그려보면 우리가 알고 있던 정규분포의 pdf 그래프와
유사한 형태가 나온다.
# theoretical probability Pr(X<=90)=0.5
pnorm(90, mean=90, sd=5) : pnorm이 누적확률이니까 이것도 당연히 0.5가 나옴
# 1) empirical probability : Pr(X<= 90)=???
# 2) theoretical pr: Pr(75<=x <=85)
# 3) empirical pr: Pr(75 <= x <= 85)

# 1) empirical probability : Pr(X<= 90)=???


sum(x<=90)/10000
# 2) theoretical pr: Pr(75<=x <=85)
pnorm(85, mean=90, sd=5)-pnorm(75, mean=90, sd=5)
# 3) empirical pr: Pr(75 <= x <= 85)
sum(x<=85)/10000-sum(x<=75)/10000

- 랜덤 넘버로부터 찾아내는 것이 empirical probability이고, 이론적 확률이라는 것은 이론적 분포로부


터 찾아내는 것으로 pnorm이나 dnorm을 사용해야 한다.

통상금융통계분석_20220530_Part1

3.2 Standard normal distribution


- 평균이 0이고, 표준편차가 1인 것을 표준정규분포라고 한다.

- 주의할 점은 노말이라고 가정했기 때문에 z가 표준정규분포가 되는 거지. 아무 분포나 평균이 뮤, 시


그마라고 해서 z로 변환을 하면 표준정규분포가 되는 것은 아니다. 따라서 x를 노말 분포라고 가정했
기 때문에 z라는 새로운 확률변수는 다시 노말이 된다. 노말이 아니면 이게 노말은 아니지만 여전히 z
라고 확률 변수의 평균은 0, 분산은 1이 된다.
- 따라서 표준정규분포라고 말하기 위해서는 x가 노말이여야 한다.

# Pr(Z<=2) = 0.9772
pnorm(2, mean=0, sd=1) # 정규분포의 누적확률을 계산해준다.
pnorm(2) : 그냥 pnorm(2)만 써도 같은 값이 나오게 되는데 디폴트 값이 표준정규분포에서 누적확률
을 계산해주기 때문이다.

Q3) Show that almost all Z values are between -3 and 3. In other words, show that

- 아마 모든값들은 –3에서 3사이에 있을거야. 다시 말하면 표준정규분포 z가 –3과 3사이에 있을 확률은


1에 가까울거야.

# 위에것을 증명하기 위해서는 3까지의 누적확률을 구해서 –3까지의 누적확률을 빼주면 된다.
pnorm(3, mean=0, sd=1)- pnorm(-3, mean=0, sd=1)
diff(pnorm(c(-3,3), mean=0, sd=1))

- 위에 식을 사용해 아래의 식도 성립한다는 것을 증명하기

3.3 General procedure for finding normal probabilities

# X ~ N(50, sd=10) , Pr(30<X<70)


pnorm(70, mean=50, sd=10)- pnorm(30,mean=50, sd=10)

- 30<X<70점 사이에 있을 확률이 95.4%이다.

따라서 구할 수 있는 방법이 2가지가 있는데.


1. r에서 pnorm을 사용하면 된다.
2. 표준정규분포 테이블을 이용하려면 먼저 x를 표준화시킨다. 위에 있는 그림처럼 표준화시킨다. 그러
고 나서 누적확률을 계산한다.

• Example) Let X represent the time it takes (in seconds) to download an image file from
the internet.
• Suppose X is normal with a mean of 18.0 seconds and a standarddeviation of 5.0 seconds.
Find Pr(X < 18.6 )
답 : pnorm(18.6, mean=18, sd=5), 54.7%

* 또 다른 방법으로 구하는 것은 표준정규분포를 이용하는 것이다.

#표준정규분포를 이용하려면
0.6/5
pnorm(0.12, mean=0, sd=1)
pnorm(18, mean=18, sd=5)-pnorm(17.4, mean=18, sd=5)

• Find Pr(17.4<X<18 )
pnorm(18, mean=18, sd=5)-pnorm(17.4, mean=18, sd=5)

-시험문제 : Pr(17.4<X<18)하고 같은 확률 어떻게 계산하나요? 표준화해서 계산할 수 있음

• Empirical Rules 경험 법칙
- 어떤 정규확률변수든지 상관없이 평균에서 +-3시그마 만큼 떨어진 구간에 있을 확률이 거의 대부분이
다. 이게 정규확률 변수의 경험 법칙이 된다.
- 만약 평균을 중심으로 +-1시그마 떨어져 있다면 그 구간에 있을 확률이 68.26%가 된다.

pnorm(1, mean=0, sd=1)-pnorm(-1, mean=0, sd=1)

가령 시험문제를 경험 법칙을 응용하면 평균을 중심을 +-1.5시그마 중심에 있을 확률은 얼마인가?

pnorm(1.5, mean=0, sd=1)-pnorm(-1.5, mean=0, sd=1)

통상금융통계분석_20220530_Part2
- pnorm은 값을 주고 확률을 찾는거고, qnorm은 면적을 주고 거기에 해당하는 값을 찾는 것이다.
# qnorm(quantile function)
qnorm(0.95, mean=0, sd=1)
qnorm(0.05, mean=0, sd=1, lower.tail = F)
- lower.tail = F는 누적확률이 아니고 오른쪽 꼬리 확률을 뜻한다.

qnorm(0.1, mean=50, sd=10, lower.tail = F)


● 평균이 50점이고, 표준편차가 10점이면 상위 10%에 들려면 약 62점은 맞아야 상위 10%에 들 수 있
다.

qnorm(0.9, mean=50, sd=10) : lower.tail = F을 안쓸려면 이렇게 쓰면 된다.

통상금융통계분석 LN9: Parameter Estimation andSampling Distributions

1 Sampling Distributions : 엑스바의 분포가 샘플링 분포가 된다.

2 Sampling Distribution of the Sample Mean


• sample mean is unbiased because E(X¯) = µ : unbiased하다. 치우져지지 않았다.
- 여기서는 SD를 표준오차라고 부른다. 표준오차는 n이 커질수록 작아진다. 표본을 많이 뽑을수록 작아
진다.

- 엑스바와 엑스는 평균은 같지만 엑스바의 표준오차는 시그마/루트엔이므로 엑스보다 변동성이 더 작


다.

Q1) Why do we divide by n−1 when we compute the sample variance? why do we not divide
by n? 왜 표본의 분산을 계산할 때 전체 표본의 크기는 n인데 n-1로 나누는거야? 왜냐면 n-1로 나눠
야 모분산과 동일해지기 때문이다. 불편성을 만족하기 위해서 n-1로 나누는 것이다.
- r에서는 어떤 데이터를 불러오면 표본이라고 간주한다. 표본이라고 간주하고 평균과 분산을 계산한다.
그래서 분산을 계산할 때 n으로 나눠주는 것이 아니고 n-1로 나눠서 계산하게 된다.
plantgrowth <-read.csv(file="plantgrowth.csv")
m<-mean(plantgrowth$weight)# 표본평균을 계산한다.
var(plantgrowth$weight) ## 표본분산을 계산한다. (n-1)로 나누어 준다.
(1/29)*sum((plantgrowth$weight-m)^2)
- 그니까 30으로 나눈 게 아니다. 29로 나눈 것이다.
모집단으로 구하고 싶으면 n-1/n을 해주면 된다.
# plantgrowth 변수의 데이터가 표본이 아니고 모집단이라고 가정하면 분산을 어떻게 계산할 것인가?
var(plantgrowth$weight)*(29/30) # 모집단으로 생각했을 때 분산이 된다.

통상금융통계분석_20220613_Part1

- 표본을 많이 뽑을수록 가운데를 중심으로 많이 나타난다. 저 그림의 의미가 무엇인지 알아야 할 거 같


아요.

# 정규분포 그래프를 그릴 때 curve 함수 명령어를 사용한다.


# mean=mu 5, sd=sigma 9 : 모집단의 parameter
# sample size: n=15
5+3*(9/sqrt(15))
5-3*(9/sqrt(15))
curve(dnorm(x, mean=5, sd=9/sqrt(15)), from=-2 , to=11)
- 여기서 from=-2, to=11은 어떻게 나오거냐면 평균 +- 3* 표준편차 해서 범위를 정한 것이다!
# n=20
curve(dnorm(x, mean=5, sd=9/sqrt(20)), from=-2 , to=11, col="red")
# n=15
curve(dnorm(x, mean=5, sd=9/sqrt(15)), from=-2 , to=11, add=T, col="blue")

- 만약 20과 15의 그래프를 하나에 그리고 싶다면 add=T 옵션을 주면 한꺼번에 그릴 수 있다! 표본의
크기가 클수록 폭이 좁아진다.

● 시험문제에서 어떤 seed 번호를 쓰고 시작하세요. 하면 그 번호를 쓰고 시작하면 됨.

# Xbar의 분포를 도출한다. 정규분포임을 보여준다.


set.seed(1234)
n<-1000 # xbar를 1000번 계산할 것이다.
# 모집단이 정규분포로 가정한다.
# 표본의 크기는 n=20
xbar <- c()
for (i in 1:n) {
xbar[i] <- mean(rnorm(20, mean=5.3, sd=9))
}

* xbar <- c()는 xbar라는 이름에다가 그냥 비어있는 벡터를 정의하는 것이다. 그리고 이 공간에다가
값을 1000개를 채우는 것이다.
* xbar[i] <- mean(rnorm(20, mean=5.3, sd=9))
}는 i라는 값을 1번부터 내가 1000번 돌릴거야 라는 의미이다. 그리고 매번 할 때마다 첫 번째 표본을
뽑아서 평균을 계산하는 것이 첫 번째 값이 되는 거고, 두 번째 표본을 뽑아서 평균을 계산하는 것이 두
번째 엑스바가 된다.

# xbar의 분포가 정규분포임을 보이고자 한다.


hist(xbar) : 그래서 xbar가 정규분포임을 보이고자 한다면 히스토그램을 그려보면 될 것이다.
그리고 평균을 구해본다면 모집단의 평균과 유사할 것이다.

mean(xbar) # 5.3과 유사할 것이다.


sd(xbar) # 2.012와 유사할 것이다.
9/sqrt(20) : 이건 모집단의 sd가 9니까 9/20이 된다.
# Pr(xbar < 6.0) # 예상은 0.6정도 나올 것 같다.
sum(xbar<6.0)/1000

- sum은 xbar가 100개의 값이 있는데 6.0보다 작으면 1이라는 값을 주고, 작지 않으면 0이라는 값을
준다. 근데 모두 합하는 거니까 6.0보다 작은 값의 숫자가 나온다. 그래서 그 숫자를 전체 숫자로 나
누면 확률이 나온다.

4 Sample Mean for non-normal Populations : 만약 모집단이 정규분포가 아니라면 과연 엑스바의


분포는 어떻게 될까, 그런데 여전히 노말이 된다. 중심 극한 정리라고 한다. 모집단이 정규분포가 아니더
라도 거기서 뽑은 표본의 평균은 여전히 정규분포를 따른다. 단, 조건이 있다. 표본을 뽑을 때 샘플 사이
즈를 충분히 많이 뽑아야 한다. 표본은 최소 30개를 뽑아야 한다. 그렇다면 엑스바의 분포는 노말이 된
다.

- 모집단이 노말이면 표본을 몇 개 뽑든지 상관없이 엑스바의 분포는 노말이 되고, 모집단이 노말이 아
니면 표본을 많이 뽑아서 평균을 계산할 때에만 노말 분포를 따른다.

- 평균과 표준편차는 모집단이 노말이든 아니든지 상관없이 평균은 뮤고, 표준편차는 시그마/루트엔이
다. 그런데 엑스바의 분포의 모양에는 차이가 있을 수 있다.

● 그런데 만약 모집단의 분포가 상당히 대칭 분포에 가깝다면 표본이 30까지 클 필요도 없다. 15 이상
만 되면 충분히 엑스바의 분포는 노말이 된다.

- For normal population distributions, the sampling distribution of the mean is always
normally distributed. 모집단이 노말이면 샘플의 크기와 상관없이 항상 엑스바의 분포는 노말이다.

5 z-value for sampling distribution of the mean


- 엑스바를 표준화하면 이 확률변수의 분포는 평균이 0이고, 표준편차가 1인 표준정규분포가 된다.

• Example- Suppose a population has mean µ = 8 and standard deviation σ = 3. Suppose a


random sample of size n = 36 is selected. 모집단 x의 분포는 평균이 8이고 표준편차가 3인 분포이
다. 그런데 모집단이 노말인지 노말이 아닌지에 대한 설명이 없다. 그래서 노말이 아닐 수도 있다. 그래
서 여기서 표본을 뽑는다. 36개를 뽑아서 엑스바를 계산한다. 그러면 엑스바의 분포는 뭐가 될까요? 노
말이 된다. 표본이 30개 이상이기 때문에 모집단이 설사 노말이 아니더라도 표본을 36개를 뽑아서 평균
을 계산하면 엑스바는 노말이 된다. 그래서 평균은 8이되고, 표준편차는 3/루트36이 된다. 그렇다면 엑
스바의 분포를 내가 알았어. 그렇다면 어떤 범위 안에 있을 확률을 쉽게 계산할 수 있다.
# pnorm: cdf (누적확률분포함수)
pnorm(8.2, mean=8, sd=0.5)-pnorm(7.8, mean=8, sd=0.5)
pnorm(0.4, mean=0, sd=1)-pnorm(-0.4, mean=0, sd=1)
- 아니면 표준화를 시켜서 계산해도 된다.

note) The population distribution is unknown and thus it may not be a normal distribution.
모집단의 분포를 알 수 없으므로 노말이 아닐 수도 있다. 그런데 n이 충분히 크므로 엑스바의 분포는 여
전히 노말이라는 것을 중심극한정리에 의해 알 수 있다.

통상금융통계분석_20220613_Part2
# csv 파일을 불러온다.
data<-read.csv(file="Clt-data.csv")
dim(data) : 몇 개의 데이터를 가지고 있는지 알려준다.
nrow(data) : 이렇게 써도 몇 개의 데이터인지 알 수 있다.

# Assume "data" is a population with mean, sd : 데이터를 모집단이라고 가정하자.


mu<-mean(data$Wall.Thickness)
sd<-sd(data$Wall.Thickness)
mu # 모집단의 평균
sd # 모집단의 표준편차

# 모집단은 정규분포인지? 확인하려면 히스토그램을 그려보면 된다.


hist(data$Wall.Thickness) # non-normal distribution

# sampling with replacement (9000개에서 매번 20개씩 뽑는다. 그걸 1000번 반복해서 평균을 계산


한다.)
set.seed(1234)
m<-1000 # the number of samplings
s20<-c()
s50<-c()

for (i in 1:m) {
s20[i]<-mean(sample(data$Wall.Thickness, size=20, replace=T))
s50[i]<-mean(sample(data$Wall.Thickness, size=50, replace=T))
}
# sampling distribution of Xbar with n=20
# xbar의 theoretical 평균은 mu(12.8), empirical 평균
hist(s20)
mean(s20) # empirical mean

- 이론적 평균은 12.8이고, s20을 계산하고 평균을 다시 계산해봤더니 이론적 확률하고 비슷하게 나온
다. 그니까 우리 이론이 맞다는거야.

# theoretical sd of Xbar = sigma/sqrt(20)


sd/sqrt(20)
# empirical sd
sd(s20)

hist(s20)
abline(v=mu, col="red") # vertical , theoretical mean
abline(v=mean(s20), col="blue") # empirical mean
- 그런데 히스토그램 그린 것에다 추가적으로 평균을 나타내는 선을 그리고 싶다면 abline을 쓰면 된다.

hist(s20)
abline(h=100, col="red") : 수평으로 그리고 싶으면 h로 쓰면 된다.

# 그래프를 그릴 때 위, 아래 한 번에 그릴 수 없어?
par(mfrow=c(2,1))
hist(s20)
hist(s50)
- c(2,1)은 로우가 2고, 칼럼이 1개이다. 그래서 위에 그래프를 하나 넣고 아래 그래프를 한 개 넣겠다
는 의미이다.
par(mfrow=c(1,2))
hist(s20)
hist(s50)
- 만약 그래프를 옆으로 그리고 싶으면 c(1,2)라고 쓰면 된다.

- 그러면 그래프를 옆으로 3개 그리고 싶어. 그러면 c(1,3)이라고 쓰고 그래프 명령어를 3개 쓰겠지

# 그런데 위에 저 명령어를 쓰고 아래 다른 그래프를 그리면 계속 저게 적용이 된다. 원래 상태로 그리


고 싶은데 그래프가 그려지고 옆에가 비어지는 형태가 그려지게 된다. 계속 1*2가 적용이 된다. 그래서
이제 적용하고 싶지 않으면 dev.off()를 써준다.

dev.off()
hist(s20)

You might also like