Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #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.
- #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.
- com67 <- read.delim("~/Documents/MST/projet/com67.txt", comment.char="#")
- pop = com67$pop
- summary(pop)
- #2. Extraire al ́eatoirement et sans remise n = 30 communes parmi les N = 496 puis construire
- #l’ ́echantillon des nombres d’habitants des 30 communes obtenues.
- echPop = sample(pop, 30, replace = FALSE)
- #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
- #moins de 5000 habitants. On pr ́ecisera la formule g ́en ́erale utilis ́ee ainsi que la valeur de
- #chaque terme intervenant dans cette formule.
- 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)))
- I[1]
- mCinq = c()
- for( i in pop)
- {
- if(i<5000)
- {
- mCinq = c(mCinq, i)
- }
- }
- mean(mCinq)
- #4. L’intervalle de confiance obtenu contient-il la vraie valeur du nombre moyen d’habitants
- #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 ?
- if(I[1] < mean(pop) & mean(pop) < I[2]) {
- 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")
- } else {
- print("L'interval de confiance ne contient pas la vrai valeur du nombre moyen d'habitant")
- }
- #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
- #confiance obtenus encadrant bien la vraie valeur de μ.
- #Présenter très précisément le programme en R ainsi que les résultats numériques obtenus
- #pour diff ́erentes valeurs de K et de n. Pour chacune des trois valeurs de taille d’ ́echantillon
- #n = 10, 30 et 200, fournir l’histogramme des K moyennes d’ ́echantillons obtenues (avec par exemple K = 100000).
- K = 100000
- n = 30
- reussite = 0
- res_mean = c()
- for(i in 1:K)
- {
- echK = sample(pop, n)
- 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)))
- if(I[1] < mean(pop) & mean(pop) < I[2]) {
- reussite = reussite + 1
- }
- res_mean[i] = mean(echK)
- }
- reussite/K
- hist(res_mean)
- #6. Construire l’intervalle de confiance au seuil de 95% pour la superficie moyenne d’un
- #d ́epartement francais.
- #Remarques :
- # - Attention, la population totale ́etudi ́ee est de taille finie N !
- # - Quelle hypoth`ese concernant la distribution de la superficie d’un d ́epartement
- #est-il n ́ecessaire de poser ? Qu’en pensez-vous ?
- alpha = 0.05
- res_sd = c()
- count_true = 0
- k = 50000
- n = 30
- for(i in 1:k)
- {
- ech = sample(pop,n)
- I=c(n*sd(ech)/qchisq(1-alpha/2,n), n*sd(ech)/qchisq(alpha/2,n))
- if(I[1]<=sd(pop) && sd(pop)<=I[2])
- {
- count_true = count_true +1
- }
- res_sd[i] = sd(ech)
- }
- count_true/k
- #7. En vous aidant d’une repr ́esentation graphique appropri ́ee, commenter l’allure de la dis-tribution de la variable pop.
- hist(pop)
- curve(dexp(x,rate=1/mean(pop))*225000, to=0, from = 5000, add=TRUE)
- #8. Peut-on admettre l’hypoth`ese selon laquelle le nombre d’habitants d’une commune X est
- #distribu ́e selon une loi de probabilit ́e log-normale ?
- #– On mettra en œuvre le test d’hypoth`ese d’ad ́equation de Kolmogorov-Smirnov et on
- #interpr ́etera pr ́ecis ́ement les r ́esultats obtenus.
- #– Sur le graphique de la question 7., superposer une loi log-normale appropri ́ee.
- curve(dlnorm(x, meanlog = mean(pop),sdlog = sd(pop)))
- x <- rlnorm(495, meanlog = mean(pop),sdlog = sd(pop))
- y <- pop
- ks.test(x, y)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement