Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.96 KB | None | 0 0
  1. # Problem 2
  2.  
  3. rdirichlet <- function( n, alpha ) {
  4. p <- length( alpha )
  5. g <- matrix( NA, n, p )
  6. for ( i in 1:n ) {
  7. for ( j in 1:p ) {
  8. g[ i, j ] <- rgamma( 1, rate = 1, shape = alpha[ j ] )
  9. }
  10. g[ i, ] <- g[ i, ] / sum( g[ i, ] )
  11. }
  12. return( g )
  13. }
  14.  
  15. n1 = 727
  16. n2 = 583
  17. n3 = 137
  18. n = n1 + n2 + n3
  19.  
  20. nh1 = n1 / n
  21. nh2 = n2 / n
  22. nh3 = n3 / n
  23.  
  24. # Standard deviation is sqrt(V/n)
  25. v1 = nh1*(1 - nh1)/n
  26. v2 = nh2*(1 - nh2)/n
  27. v3 = nh3*(1 - nh3)/n
  28. se1 = sqrt(v1/n)
  29. se2 = sqrt(v2/n)
  30. se3 = sqrt(v3/n)
  31.  
  32. a = c(1, -1, 0)
  33. sigma = diag(c(v1, v2, v3))
  34. sigma[1,2] = -nh1 * nh2 / n
  35. sigma[2,1] = -nh1 * nh2 / n
  36. sigma[1,3] = -nh1 * nh3 / n
  37. sigma[3,1] = -nh1 * nh3 / n
  38. sigma[2,3] = -nh2 * nh3 / n
  39. sigma[3,2] = -nh2 * nh3 / n
  40.  
  41. gamma = nh1 - nh2
  42. vgamma = t(a) %*% sigma %*% a
  43. hat.ci = c(
  44. gamma - 1.96*sqrt(vgamma/n),
  45. gamma + 1.96*sqrt(vgamma/n)
  46. )
  47.  
  48. alpha = c(0.01, 0.01, 0.01)
  49. M = 500
  50. g = rdirichlet(M, alpha)
  51. x = g[,1] - g[,2]
  52. sum(x > 0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement