## TP 5 ## ################################ ## LOI NORMALE vs LOI STUDENT ## ################################ ?distributions ########## ## Ex.1 ## ########## # 1 d_normal=function(x){ exp(-0.5*x**2)/(sqrt(2*pi))} # 2 d_normal(0) # 3 x <- seq(-4, 4, length=100) plot(x,d_normal(x),ylab="Density", main="Loi Normale Centrée-Réduite") points(x,dnorm(x), type='l', xlab="x value",col='red') # 4 d_normal_bis=function(x,mu,sigma){ exp(-0.5*((x-mu)/sigma)**2)/(sigma*sqrt(2*pi)) } # verifier la fonction en faisant un plot x <- seq(-10, 10, length=100) mu = 1.5 sigma = 3 plot(x,d_normal_bis(x,mu,sigma), xlab="x value",col='red',ylab="Density", main="N(1.5,3)") points(x,dnorm(x,mu,sigma), type='l') ########## ## Ex.2 ## ########## # 1 x <- seq(-4, 4, length=100) plot(x,dt(x,df = 1), type='l', xlab="x value",lty=2, ylab="Density", main="Loi de Student") # 2 cols = rainbow(5) dfs <- c(1, 3, 8, 30) labels <- c("df=1", "df=3", "df=8", "df=30", "normal") x <- seq(-4, 4, length=100) plot(x,dnorm(x), type='l', xlab="x value",lty=2, ylab="Density", main="Loi normale vs Lois de Student", col=cols[5]) for (i in 1:4){ lines(x, dt(x,dfs[i]), lwd=2, col=cols[i]) } legend("topright", inset=.05, title="Distributions", labels, lwd=2, lty=c(1, 1, 1, 1, 2), col=cols) ############################## ## Intervalles de confiance ## ############################## # Remarque: exo 4 & 5 sans utiliser t.test(), exo 6 avec t.test() ########## ## Ex.3 ## ########## # 1 => la taille des garcons suit une loi normale, l'échantillon est de grande taille et est tiré aléatoirement (on l'admet ici) # 2 x = c(180, 170, 186, 184, 182, 171, 184, 167, 180, 177) n = length(x) # Calcule de la moyenne et delta à 95% moyenne = mean(x) sigma = sqrt(5) delta_95 = (qnorm(0.975)*sigma) / sqrt(n) # IC associé IC_95 = c(moyenne - delta_95, moyenne + delta_95) print("IC - 95%") print(IC_95) # 3 delta_99 = (qnorm(0.995)*sigma) / sqrt(n) # IC associé IC_99 = c(moyenne - delta_99, moyenne + delta_99) print("IC - 99%") print(IC_99) # 4 x_bis = c(x,173, 167, 170, 174, 178, 178, 175, 166, 172, 170) n = length(x_bis) # Calcule de la moyenne et delta à 95% moyenne_bis = mean(x_bis) sigma = sqrt(5) delta_95_bis = (qnorm(0.975)*sigma) / sqrt(n) # IC associé IC_95_bis = c(moyenne_bis - delta_95_bis, moyenne_bis + delta_95_bis) print("IC bis - 95%") print(IC_95_bis) ########## ## Ex.4 ## ########## # 1 x = c(166, 170, 161, 167, 168, 169, 169, 166, 163, 161, 162, 171, 169, 156, 168) # Calcul de la moyenne et de l'estimateur de la variance m = mean(x) n = length(x) s = sd(x); # l'ecart type # Delta delta_var_inconnue = qt(0.975, df = n -1) * (s/sqrt(n)) # IC associé print("IC var inconnue - 95%") IC_var_inconnue_95 = c(m - delta_var_inconnue, m + delta_var_inconnue) print(IC_var_inconnue_95) # 2 delta_var_connue_95 = qnorm(0.975) * (sqrt(3) / sqrt(n)) print("IC var connue - 95%") IC_var_connue_95 = c(m - delta_var_connue_95, m + delta_var_connue_95) print(IC_var_connue_95) ########### ## Ex. 5 ## ########### n=36 poids=c(50.34,51.41,51.51,52.07,52.22,52.38, 52.62,53.13,53.28,53.30,53.32,53.39, 53.79,53.89,54.63,54.76,54.78,54.93, 54.99,55.04,55.12,55.24,55.28,55.56, 55.82,55.91,55.95,57.05,57.18,57.31, 57.67,57.99,58.10,59.30,60.58,63.15) mean(poids) sd(poids) t.test(poids,conf.level=0.95)$conf.int t.test(poids,conf.level=0.98)$conf.int ########## ## Ex 6 ## ########## ech1=rnorm(100,3,2) # a la main mu=mean(ech1) s=sd(ech1) # intervalle de confiance 95% pour la moyenne c(mu-(s/sqrt(99))*qnorm(0.975),mu+(s/sqrt(99))*qnorm(0.975)) # 3.3 appartient a l'intervalle, donc accepte H_0 que la moyenne est 3.3 # avec t.test t.test(ech1,m=3.3) # p-value est plus grand que 0.05, donc accepte H_0 que la moyenne est 3.3 ech2=rnorm(1000,3,2) t.test(ech2,m=3.3) # p-value est tres petit (plus petit que 0.05), donc rejet de H_0