Advertisement
EnsiieRambo

ProjetR

May 26th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.17 KB | None | 0 0
  1. #1. Importer le jeu de donn ́ees dans le logiciel R puis fournir les indicateurs statistiques suivants pour la variable pop (nombre d’habitants) : min, max, moyenne, m ́ediane, variance et ́ecart type.
  2. #On suppose dans la suite que les param`etres de la population sont inconnus et que l’on souhaite estimer ceux-ci a partir d’un ́echantillon.
  3. com67 <- read.delim("~/Documents/MST/projet/com67.txt", comment.char="#")
  4. pop = com67$pop
  5. summary(pop)
  6.  
  7. #2. Extraire al ́eatoirement et sans remise n = 30 communes parmi les N = 496 puis construire
  8. #l’ ́echantillon des nombres d’habitants des 30 communes obtenues.
  9. echPop = sample(pop, 30, replace = FALSE)
  10.  
  11. #3. A partir de l’ ́echantillon construit `a la question pr ́ec ́edente, calculer l’intervalle de confiance au seuil de 95% pour μ, le nombre moyen d’habitants d’une commune du Bas-Rhin de
  12. #moins de 5000 habitants. On pr ́ecisera la formule g ́en ́erale utilis ́ee ainsi que la valeur de
  13. #chaque terme intervenant dans cette formule.
  14. I=c(mean(echPop)-qt(0.975, length(echPop))*sqrt(var(echPop)/length(echPop)), mean(echPop)+qt(0.975,length(echPop))*sqrt(var(echPop)/length(echPop)))
  15. I[1]
  16. mCinq = c()
  17. for( i in pop)
  18. {
  19. if(i<5000)
  20. {
  21. mCinq = c(mCinq, i)
  22. }
  23. }
  24.  
  25. mean(mCinq)
  26.  
  27. #4. L’intervalle de confiance obtenu contient-il la vraie valeur du nombre moyen d’habitants
  28. #d’une commune ? Etait-ce attendu ? En r ́ep ́etant la construction d’un intervalle de confiance un grand nombre de fois, ` a quel r ́esultat doit-on s’attendre ?
  29. if(I[1] < mean(pop) & mean(pop) < I[2]) {
  30. print("L'interval de confiance contient la vrai valeur du nombre moyen d'habitant, ce resultat était sur à 95%... en répetant un grand nombre de fois, on doit trouver en moyenne mean(pop)=1033")
  31. } else {
  32. print("L'interval de confiance ne contient pas la vrai valeur du nombre moyen d'habitant")
  33. }
  34.  
  35. #5. En utilisant le langage de commande de R, écrire un programme permettant de calculer,pour un nombre K d’échantillons aléatoires de taille n, la proportion d’intervalles de
  36. #confiance obtenus encadrant bien la vraie valeur de μ.
  37. #Présenter très précisément le programme en R ainsi que les résultats numériques obtenus
  38. #pour diff ́erentes valeurs de K et de n. Pour chacune des trois valeurs de taille d’ ́echantillon
  39. #n = 10, 30 et 200, fournir l’histogramme des K moyennes d’ ́echantillons obtenues (avec par exemple K = 100000).
  40. K = 100000
  41. n = 30
  42. reussite = 0
  43. res_mean = c()
  44.  
  45. for(i in 1:K)
  46. {
  47. echK = sample(pop, n)
  48. I=c(mean(echK)-qt(0.975, length(echK))*sqrt(var(echK)/length(echK)), mean(echK)+qt(0.975,length(echK))*sqrt(var(echK)/length(echK)))
  49. if(I[1] < mean(pop) & mean(pop) < I[2]) {
  50. reussite = reussite + 1
  51. }
  52. res_mean[i] = mean(echK)
  53. }
  54. reussite/K
  55. hist(res_mean)
  56.  
  57.  
  58. #6. Construire l’intervalle de confiance au seuil de 95% pour la superficie moyenne d’un
  59. #d ́epartement francais.
  60. #Remarques :
  61. # - Attention, la population totale ́etudi ́ee est de taille finie N !
  62. # - Quelle hypoth`ese concernant la distribution de la superficie d’un d ́epartement
  63. #est-il n ́ecessaire de poser ? Qu’en pensez-vous ?
  64.  
  65. alpha = 0.05
  66. res_sd = c()
  67. count_true = 0
  68. k = 50000
  69. n = 30
  70. for(i in 1:k)
  71. {
  72. ech = sample(pop,n)
  73. I=c(n*sd(ech)/qchisq(1-alpha/2,n), n*sd(ech)/qchisq(alpha/2,n))
  74. if(I[1]<=sd(pop) && sd(pop)<=I[2])
  75. {
  76. count_true = count_true +1
  77. }
  78. res_sd[i] = sd(ech)
  79. }
  80. count_true/k
  81.  
  82.  
  83. #7. En vous aidant d’une repr ́esentation graphique appropri ́ee, commenter l’allure de la dis-tribution de la variable pop.
  84. hist(pop)
  85. curve(dexp(x,rate=1/mean(pop))*225000, to=0, from = 5000, add=TRUE)
  86.  
  87. #8. Peut-on admettre l’hypoth`ese selon laquelle le nombre d’habitants d’une commune X est
  88. #distribu ́e selon une loi de probabilit ́e log-normale ?
  89. #– On mettra en œuvre le test d’hypoth`ese d’ad ́equation de Kolmogorov-Smirnov et on
  90. #interpr ́etera pr ́ecis ́ement les r ́esultats obtenus.
  91. #– Sur le graphique de la question 7., superposer une loi log-normale appropri ́ee.
  92.  
  93. curve(dlnorm(x, meanlog = mean(pop),sdlog = sd(pop)))
  94.  
  95.  
  96. x <- rlnorm(495, meanlog = mean(pop),sdlog = sd(pop))
  97. y <- pop
  98. ks.test(x, y)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement