Advertisement
jakmaj97

Untitled

Mar 29th, 2020
645
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
R 2.77 KB | None | 0 0
  1. # P(A) = 3/6 = 1/2
  2. # P(B) = 4/6 = 2/3
  3. # P(AB) = 2/6 = 1/3
  4. #
  5. # Zdarzenia są od siebie niezależne, gdy
  6. # P(AB) = P(A) * P(B), a zatem
  7. # P(A) * P(B) = 2/6 = 1/3 = P(AB)
  8.  
  9. # Przestrzeń zdarzeń
  10. univ <- c(1, 2, 3, 4, 5, 6)
  11.  
  12. # Prawdopodobieństwa wyznaczone analitycznie
  13. Pa <- 1/2    # P(A)
  14. Pb <- 2/3    # P(B)
  15. Pab <- 1/3   # P(AB)
  16. Pa_Pb <- 1/3 # P(A) * P(B)
  17.  
  18. # Wybór 3 losowych prób o długościach 10, 100 i 1000
  19. n_10_sample <- sample(x = univ, size = 10, replace = TRUE)
  20. n_100_sample <- sample(x = univ, size = 100, replace = TRUE)
  21. n_1000_sample <- sample(x = univ, size = 1000, replace = TRUE)
  22.  
  23. # Utworzenie odpowiednich struktur i empiryczne wyznaczenie prawdopodobieństw wyrzucenia każdego z oczek dla 3 prób
  24. df_n_10_sample <- data.frame(table(n_10_sample))
  25. df_n_100_sample <- data.frame(table(n_100_sample))
  26. df_n_1000_sample <- data.frame(table(n_1000_sample))
  27.  
  28. df_n_10_sample_prob <- cbind(df_n_10_sample, prop.table(df_n_10_sample$Freq))
  29. df_n_100_sample_prob <- cbind(df_n_100_sample, prop.table(df_n_100_sample$Freq))
  30. df_n_1000_sample_prob <- cbind(df_n_1000_sample, prop.table(df_n_1000_sample$Freq))
  31.  
  32. names(df_n_10_sample_prob) <- c("Result", "Freq", "Prob")
  33. names(df_n_100_sample_prob) <- c("Result", "Freq", "Prob")
  34. names(df_n_1000_sample_prob) <- c("Result", "Freq", "Prob")
  35.  
  36. # Empiryczne wyznaczenie P(A)
  37. Pa_emp_10 <- df_n_10_sample_prob$Prob[2] + df_n_10_sample_prob$Prob[4] + df_n_10_sample_prob$Prob[6]
  38. Pa_emp_100 <- df_n_100_sample_prob$Prob[2] + df_n_100_sample_prob$Prob[4] + df_n_100_sample_prob$Prob[6]
  39. Pa_emp_1000 <- df_n_1000_sample_prob$Prob[2] + df_n_1000_sample_prob$Prob[4] + df_n_1000_sample_prob$Prob[6]
  40.  
  41. # Empiryczne wyznaczenie P(B)
  42. 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]
  43. 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]
  44. 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]
  45.  
  46. # Empiryczne wyznaczenie P(AB)
  47. Pab_emp_10 <- df_n_10_sample_prob$Prob[2] + df_n_10_sample_prob$Prob[4]
  48. Pab_emp_100 <- df_n_100_sample_prob$Prob[2] + df_n_100_sample_prob$Prob[4]
  49. Pab_emp_1000 <- df_n_1000_sample_prob$Prob[2] + df_n_1000_sample_prob$Prob[4]
  50.  
  51. # Empiryczne wyznaczenie P(A) * P(B)
  52. Pa_Pb_emp_10 <- Pa_emp_10 * Pb_emp_10
  53. Pa_Pb_emp_100 <- Pa_emp_100 * Pb_emp_100
  54. Pa_Pb_emp_1000 <- Pa_emp_1000 * Pb_emp_1000
  55.  
  56. # Empiryczne sprawdzenie niezależnosci zdarzeń A i B
  57. all.equal(Pab_emp_10, Pa_Pb_emp_10) # Mean relative diffrence: 0.2
  58. all.equal(Pab_emp_100, Pa_Pb_emp_100) # Mean relative diffrence: 0.08
  59. all.equal(Pab_emp_1000, Pa_Pb_emp_1000) # Mean relative difference: 0.002073846
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement