PDF=Fr(r)=1/(1+r)^2 i Rsample=Xsample/Ysample gdzie X, Y są niezależnymi rozkładami wykładniczymi wraz z szybkością = 0,001.xsample = 100 Wartości przechowywane w X, YSample = 100 Wartości przechowywane w Y.

Znajdź CDF FR (R) odpowiadający PDF i ocenić to w R ∈ {0.1,0.2,25,0.5,1,24,5,10}. Znajdź proporcje wartości w próbce R, mniej niż każda z tych wartości R i wykreśl proporcje wobec FR (0,1), FR (0,2), ..., FR (5), FR (10). Co pokazuje ten wykres?

Wiem, że CDF jest integralną częścią PDF, ale nie dałoby to mi ujemnych wartości R.also dla sekcji proporcjach, w jaki sposób policzyć liczbę elementów, które są prawdziwe, czyli liczbę elementów, dla których R- Próbka jest mniejsza niż każdy element r.

r=c(0.1,0.2,0.2,0.5,1,2,4,5,10)
prop=c(1:9)
for(i in 1:9)
{
x=Rsample<r[i]
prop[i]=c(TRUE,FALSE)
}
sum(prop[i])
r
0
cookiepookie 6 marzec 2020, 00:50

2 odpowiedzi

Najlepsza odpowiedź

Zrobiłeś tutaj kilka różnych błędów. Rozwiązanie powinno wyglądać coś takiego.

Zacznij od definiowania zmiennych i rysowanie próbek z dystrybucji wykładniczej za pomocą rexp(100, 0.001):

r <- c(0.1, 0.2, 0.25, 0.5, 1, 2, 4, 5, 10)

set.seed(69) # Make random sample reproducible
x <- rexp(100, 0.001) # 100 random samples from exponential distribution
y <- rexp(100, 0.001) # 100 random samples from exponential distribution

Rsample <- x/y

Podstępna część jest uzyskiwanie proporcji Rsample, która jest mniejsza niż każda wartość r. W tym celu możemy użyć sapply zamiast pętli.

props <- sapply(r, function(x) length(which(Rsample < x))/length(Rsample))

Dostajemy CDF z PDF, integrując (nie pokazano):

cdf_at_r <- 1/(-r-1)  # Integral of 1/(1+r)^2 at above values of r

I widzimy, co się dzieje, gdy wykrywamy proporcje, które są mniejsze niż próbka przeciwko CDF:

plot(cdf_at_r, props)

# What do we notice?
lines(c(-1, 0), c(0, 1), lty = 2, col = "red")

Utworzono w dniach 2020-03-05 przez Pakiet Reprex (v0.3.0)

2
Allan Cameron 5 marzec 2020, 22:22

W ten sposób możesz policzyć liczbę elementów, dla których próbka R jest mniejsza niż każdy element R:

r=c(0.1,0.2,0.2,0.5,1,2,4,5,10)
prop=c(1:9)
less = 0;
for(i in 1:9)
{
    if (Rsample<r[i]) {
        less = less + 1
    }
}
sum(prop[i])
less
1
cppstudy 5 marzec 2020, 22:00