잘린 분포는 무엇을 의미합니까?


14

동적 시스템의 일반적인 미분 방정식 모델의 감도 분석에 관한 연구 논문에서 저자는 모델 매개 변수의 분포를 정규 분포 (평균 = 1e-4, 표준 = 3e-5)로 [0.5e -4 1.5e-4]. 그런 다음 모형의 시뮬레이션에이 잘린 분포의 표본을 사용합니다. 잘린 분포와이 잘린 분포의 표본이 있다는 것은 무엇을 의미합니까?

이 작업을 수행하는 두 가지 방법이 있습니다.

  • 정규 분포에서 표본을 추출하지만 시뮬레이션 전에 지정된 범위를 벗어나는 모든 임의의 값은 무시하십시오.
  • 어떻게 든 특별한 "Truncated Normal"분포를 구하여 표본을 얻습니다.

이것들은 유효하고 동등한 접근법입니까?

첫 번째 경우, 샘플의 실험적인 cdf / pdf를 플로팅하면 곡선이 까지 확장되지 않기 때문에 정규 분포처럼 보이지 않습니다 ±∞.

답변:


16

분포를 자르려면 값을 구간으로 제한하고 밀도를 다시 정규화하여 해당 범위의 적분이 1이되도록합니다.

따라서 분포를 구간 ( a , b ) 로 자르는 것은 밀도를 갖는 랜덤 변수를 생성하는 것입니다엔(μ,σ2)(a,b)

피ㅏ,비(엑스)=ϕμ,σ2(엑스)∫ㅏ비ϕμ,σ2(와이)디와이⋅나는{엑스∈(ㅏ,비)}

여기서 는 N ( μ , σ 2 ) 밀도입니다. 이 밀도에서 여러 가지 방법으로 샘플링 할 수 있습니다. 이것을 수행하는 한 가지 방법 (내가 생각할 수있는 가장 간단한 방법)은 N ( μ , σ 2 ) 값 을 생성 하고 ( a , b ) 밖에있는 값을 버리는 것입니다.ϕμ,σ2(엑스)엔(μ,σ2)엔(μ,σ2)(ㅏ,비)당신이 언급 한대로 간격. 예, 나열된 두 글 머리 기호는 동일한 목표를 달성합니다. 또한이 분포의 변수에 대한 경험적 밀도 (또는 히스토그램)가 까지 확장되지 않을 것 입니다. 물론 ( a , b ) 로 제한됩니다 .±∞(ㅏ,비)


17

확률 ϱ = ∫ b 일 때 결과가 구간 ( a , b ) 내에 속할 때까지 정규 분포 에서 시뮬레이션하는 것이 좋습니다N(μ,σ2)(a,b) 는 충분히 크다. 너무 작 으면 한 번의 수락에 대한 평균 추첨 ​​횟수가 1 / ϱ 이기 때문에이 절차가 너무 비쌉니다.

ϱ=∫abφμ,σ2(x)dx
1/ϱ

설명한 바와 같이 몬테 카를로 통계 방법 (제 2 실시 예 2.2)에서뿐만 아니라 내 arXiv 종이 이 정상적인 절단 시뮬레이션하는보다 효율적인 방법은 지수 함수에 기초하여 수락 거부있어서 사용하는 분포.E(α)

일반성을 잃지 않고 경우 및 σ = 1을 고려하십시오 . 경우 B = + ∞ , 전위 분포가 쓸모 변환 지수 분포 인 E ( α , ) 밀도는 g α ( Z ) = α E - α ( Z - )μ=0σ=1b=+∞E(α,a) 비 P의 (A)는 , ∞ ( Z ) / g α ( Z ) α E - α ( Z - ) E - (Z) 2 / 2 다음으로 묶여 EXP ( α 2 / 2 - α ) 만약 α > 의해 특급 ( - 2 / 2 ) 그렇지. 해당 (상한) 경계는

gα(z)=αe−α(z−a)Iz≥a.
pa,∞(z)/gα(z)∝e−α(z−a)e−z2/2
exp⁡(α2/2−αa)α>aexp⁡(−a2/2) 첫 번째 표현은α∗=1로최소화됩니다
{1/αexp⁡(α2/2−αa)if α>a,1/αexp⁡(−a2/2)otherwise.
반면 ~ α = 최소화 번째 결합. 따라서 α 의 최적 선택은(1)입니다.
α∗=12a+12a2+4,(1)
α~=aα

2
U∼Unif(Φ(a),Φ(b))X=Φ−1(U)

2
a0

1
시안이 맞습니다, @bnaul. qnormR 루프에서 실행 하는 것은 좋지 않습니다.
— Stéphane Laurent

@ Xi'an : 사실이지만 이러한 기능은 임의의 정밀도를 갖도록 설계 될 수 있습니다.
— Neil G

9

정규 분포에서 표본을 추출하지만 시뮬레이션 전에 지정된 범위를 벗어나는 모든 임의의 값은 무시하십시오.

이 방법은 정확하지만 @ Xi'an이 그의 답변에서 언급했듯이 범위가 작을 때 (보다 정확하게는 정규 분포에서 측정이 작을 때) 시간이 오래 걸립니다.

에프−1(유)FU∼Unif(0,1)FG(a,b)G−1(U)U∼Unif(G(a),G(b))

G−1G−1지G−1ㅏ비지 .

중요도 샘플링을 사용하여 잘린 분포 시뮬레이션

N(0,1)지G : one simply has G(q)=arctan⁡(q)π+12 and G−1(q)=tan⁡(π(q−12)). Therefore, the truncated Cauchy distribution is easy to sample by the inversion method and it is a good choice of the instrumental variable for importance sampling of the truncated normal distribution.

After a bit of simplifications, sampling U∼Unif(G(a),G(b)) and taking G−1(U) is equivalent to take tan⁡(U′) with U′∼Unif(arctan⁡(a),arctan⁡(b)):

a <- 1
b <- 5
nsims <- 10^5
sims <- tan(runif(nsims, atan(a), atan(b)))

Now one has to calculate the weight for each sampled value xi, defined as the ratio ϕ(x)/g(x) of the two densities up to normalization, hence we can take

승(엑스)=특급⁡(−엑스2/2)(1+엑스2),
그러나 로그 가중치를 취하는 것이 더 안전 할 수 있습니다.
log_w <- -sims^2/2 + log1p(sims^2)
w <- exp(log_w) # unnormalized weights
w <- w/sum(w)

가중 샘플 (엑스나는,승(엑스나는)) 모든 간격의 측정 값을 추정 할 수 있습니다 [유,V] 목표 분포 하에서 구간 내에 포함 된 각 표본 값의 가중치를 합산합니다.

u <- 2; v<- 4
sum(w[sims>u & sims<v])
## [1] 0.1418

목표 누적 함수의 추정치를 제공합니다. spatsat패키지를 사용하여 신속하게 가져와 플롯 할 수 있습니다 .

F <- spatstat::ewcdf(sims,w)
# estimated F:
curve(F(x), from=a-0.1, to=b+0.1)
# true F:
curve((pnorm(x)-pnorm(a))/(pnorm(b)-pnorm(a)), add=TRUE, col="red")

ewcdf

# approximate probability of u<x<v:
F(v)-F(u)
## [1] 0.1418

물론 샘플 (엑스나는)는 분명히 목표 분포의 표본이 아니라 도구 적 코시 분포의 표본이며, 예를 들어 다항식 샘플링을 사용하여 가중 리샘플링 을 수행하여 목표 분포의 표본을 얻습니다 .

msample <- rmultinom(1, nsims, w)[,1]
resims <- rep(sims, times=msample)
hist(resims) 

hist

mean(resims>u & resims<v)
## [1] 0.1446

다른 방법 : 빠른 역변환 샘플링

Olver와 Townsend 는 광범위한 연속 분포를위한 샘플링 방법을 개발했습니다. Matlab 의 chebfun2 라이브러리와 Julia 의 ApproxFun 라이브러리 에서 구현됩니다 . 최근 에이 라이브러리를 발견했으며 매우 샘플링 된 것으로 보입니다 (임의의 샘플링뿐만 아니라). 기본적으로 이것은 반전 방법이지만 cdf와 역 cdf의 강력한 근사값을 사용합니다. 입력은 정규화까지의 목표 밀도 함수입니다.

샘플은 다음 코드로 간단하게 생성됩니다.

using ApproxFun
f = Fun(x -> exp(-x.^2./2), [1,5]);
nsims = 10^5;
x = sample(f,nsims);

아래에서 확인한 바와 같이, 예상 간격 측정 값을 산출합니다 [2,4] 중요도 샘플링으로 이전에 얻은 것과 가깝습니다.

sum((x.>2) & (x.<4))/nsims
## 0.14191
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.