Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # P(A) = 3/6 = 1/2
- # P(B) = 4/6 = 2/3
- # P(AB) = 2/6 = 1/3
- #
- # Zdarzenia są od siebie niezależne, gdy
- # P(AB) = P(A) * P(B), a zatem
- # P(A) * P(B) = 2/6 = 1/3 = P(AB)
- # Przestrzeń zdarzeń
- univ <- c(1, 2, 3, 4, 5, 6)
- # Prawdopodobieństwa wyznaczone analitycznie
- Pa <- 1/2 # P(A)
- Pb <- 2/3 # P(B)
- Pab <- 1/3 # P(AB)
- Pa_Pb <- 1/3 # P(A) * P(B)
- # Wybór 3 losowych prób o długościach 10, 100 i 1000
- n_10_sample <- sample(x = univ, size = 10, replace = TRUE)
- n_100_sample <- sample(x = univ, size = 100, replace = TRUE)
- n_1000_sample <- sample(x = univ, size = 1000, replace = TRUE)
- # Utworzenie odpowiednich struktur i empiryczne wyznaczenie prawdopodobieństw wyrzucenia każdego z oczek dla 3 prób
- df_n_10_sample <- data.frame(table(n_10_sample))
- df_n_100_sample <- data.frame(table(n_100_sample))
- df_n_1000_sample <- data.frame(table(n_1000_sample))
- df_n_10_sample_prob <- cbind(df_n_10_sample, prop.table(df_n_10_sample$Freq))
- df_n_100_sample_prob <- cbind(df_n_100_sample, prop.table(df_n_100_sample$Freq))
- df_n_1000_sample_prob <- cbind(df_n_1000_sample, prop.table(df_n_1000_sample$Freq))
- names(df_n_10_sample_prob) <- c("Result", "Freq", "Prob")
- names(df_n_100_sample_prob) <- c("Result", "Freq", "Prob")
- names(df_n_1000_sample_prob) <- c("Result", "Freq", "Prob")
- # Empiryczne wyznaczenie P(A)
- Pa_emp_10 <- df_n_10_sample_prob$Prob[2] + df_n_10_sample_prob$Prob[4] + df_n_10_sample_prob$Prob[6]
- Pa_emp_100 <- df_n_100_sample_prob$Prob[2] + df_n_100_sample_prob$Prob[4] + df_n_100_sample_prob$Prob[6]
- Pa_emp_1000 <- df_n_1000_sample_prob$Prob[2] + df_n_1000_sample_prob$Prob[4] + df_n_1000_sample_prob$Prob[6]
- # Empiryczne wyznaczenie P(B)
- Pb_emp_10 <- df_n_10_sample_prob$Prob[1] + df_n_10_sample_prob$Prob[2] + df_n_10_sample_prob$Prob[3] + df_n_10_sample_prob$Prob[4]
- Pb_emp_100 <- df_n_100_sample_prob$Prob[1] + df_n_100_sample_prob$Prob[2] + df_n_100_sample_prob$Prob[3] + df_n_100_sample_prob$Prob[4]
- Pb_emp_1000 <- df_n_1000_sample_prob$Prob[1] + df_n_1000_sample_prob$Prob[2] + df_n_1000_sample_prob$Prob[3] + df_n_1000_sample_prob$Prob[4]
- # Empiryczne wyznaczenie P(AB)
- Pab_emp_10 <- df_n_10_sample_prob$Prob[2] + df_n_10_sample_prob$Prob[4]
- Pab_emp_100 <- df_n_100_sample_prob$Prob[2] + df_n_100_sample_prob$Prob[4]
- Pab_emp_1000 <- df_n_1000_sample_prob$Prob[2] + df_n_1000_sample_prob$Prob[4]
- # Empiryczne wyznaczenie P(A) * P(B)
- Pa_Pb_emp_10 <- Pa_emp_10 * Pb_emp_10
- Pa_Pb_emp_100 <- Pa_emp_100 * Pb_emp_100
- Pa_Pb_emp_1000 <- Pa_emp_1000 * Pb_emp_1000
- # Empiryczne sprawdzenie niezależnosci zdarzeń A i B
- all.equal(Pab_emp_10, Pa_Pb_emp_10) # Mean relative diffrence: 0.2
- all.equal(Pab_emp_100, Pa_Pb_emp_100) # Mean relative diffrence: 0.08
- all.equal(Pab_emp_1000, Pa_Pb_emp_1000) # Mean relative difference: 0.002073846
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement