Advertisement
Guest User

Untitled

a guest
Feb 19th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. #### Faire une corrélation linéaire et regression linéaire
  2.  
  3. ### Afin de regarder le lien 1. regarder si il existe un lien linéaire entre deux variables quantivatives,
  4. ### 2. si ce lien existe, on peut avoir un deuxieme objectif qui sera de prédir la variable y a aprtir de la variable x
  5. ### au moyen d'une droite de regression linéaire
  6.  
  7.  
  8. # étape 0 : lecture des données
  9.  
  10. attach(nbgenes)
  11.  
  12. # Etape 1 description des données
  13. #Y le nombre de gene, X la taille
  14.  
  15. # Séparer les eucaryote des procaryote qui sont des sytemes biologiques différents
  16.  
  17. pro=nbgenes[Domaine=="Procaryote",]
  18.  
  19. View(pro)
  20.  
  21. eu=nbgenes[Domaine=="Eucaryote",]
  22. View(eu)
  23.  
  24.  
  25. #Procaryote
  26. plot(pro$NbGenes ~ pro$ValeurC)
  27.  
  28.  
  29. # on remarque qu'il y a une valeur en position 18 est fausse,on va l'enlever
  30.  
  31.  
  32. plot(pro$NbGenes[-18] ~ pro$ValeurC[-18])
  33.  
  34.  
  35. # Calcul de coefficient de corrélation linéaire
  36.  
  37. cor.test(pro$NbGenes[-18],pro$ValeurC[-18])
  38.  
  39. # commentaire : r = 0.97
  40. # IC (intervalle de confiance) = [0.94 ; 0.99] au niveau de confiance 0.95
  41.  
  42. # Test sur le coefficient de corrélation
  43. # H0 : r=0 <=> pas de corrélation linéaire entre les variables
  44. # et H1 : r différent de 0, ce qui equivat a dire que corrélation linéaire entre x et y
  45.  
  46. # Pour ce etst la on peut en conclure : au seuil 5%, la pvalue est bien inférieur a 0.05, on rejtte H0, il existe une corrélation linéaire entre les variables
  47.  
  48. # J'ai calculé mmon r, j'ai fait mon test, est ce que sttaitistuqmeent on est tout bon ici?
  49. # On peut pas encore valider le test totalement encore
  50.  
  51. # Conditio,ns d'applicatio,n du test
  52. # vérifier la normalité des deonnées
  53. # il faut faire un shapiro.test sur x et sur y
  54.  
  55. shap(ro.test(pro$NbGenes[-18])
  56. shapiro.test(pro$ValeurC[-18])
  57.  
  58. ### Passons a l'étued des eucaryotes
  59. plot(eu$NbGenes ~ eu$ValeurC)
  60.  
  61. cor.test(eu$NbGenes,eu$ValeurC)
  62.  
  63. # ICi on propose un changement en log10, pour garder mles mammiferes
  64.  
  65. Y=log10(eu$NbGenes)
  66. X=log10(eu$ValeurC)
  67.  
  68. plot(X~Y)
  69. cor.test(Y,X)
  70.  
  71.  
  72. Ce qu'on objecverse en log10 c'est que nos données graphiquement vont s'aligne rsur une droite, et le coef de corrélation a 0.86 bien plus important avec un pvalue significative, et on va vérifier la normalkité des données pour savoir si on peut faire confiance a notre pvalue ici
  73.  
  74. shapiro sur y et shapiro sur x'
  75.  
  76. shapiro.test(Y)
  77. shapiro.test(X)
  78.  
  79. # commentaire : r = 0.86
  80. # IC (intervalle de confiance) = [0.63 ; 0.96] au niveau de confiance 0.95
  81.  
  82. # Test sur le coefficient de corrélation
  83. # H0 : r=0 <=> pas de corrélation linéaire entre les variables
  84. # et H1 : r différent de 0, ce qui equivat a dire que corrélation linéaire entre x et y
  85.  
  86. # Pour ce etst la on peut en conclure : au seuil 5%, la pvalue est bien inférieur a 0.05, on rejtte H0, il existe une corrélation linéaire entre les variables
  87.  
  88.  
  89. ### On va pouvoir a commencer a anbalyse rles données. L'étape 2 c'est le calcul de la droite qu'on va ajuster dessus
  90.  
  91. # Etape 2 : calcul de la droite
  92.  
  93. # calcul de la droite
  94. droite=lm(Y~X)
  95. # afficher les résultats
  96. summary(droite)
  97.  
  98. # Y = 0.36413x+2.27495
  99.  
  100. # Etape 3 : validation du modèle, 4 choses a vérifier (voir cours)
  101.  
  102. # i) Calculer le R²
  103. # R²=0.73 (c'est pas mal sur des données réelles)
  104. # H0 : r²=0 <=> X n'expliquye pas Y
  105. #H1 : r² est différent de 0 <=< X explique Y
  106.  
  107. #a) test de Wald
  108. # H0 : a=0
  109. #H1 : a différent de 0 (on veut etre sous h1 ici)
  110.  
  111. (test conservateur)
  112.  
  113.  
  114. # b) Test du rapport de vraisemblance
  115.  
  116. (principe)
  117. H1 : Y = aX+b
  118. H0 : Y = b
  119. P[droiteH1] - P[droiteH0]
  120.  
  121. #H0 : Y=B
  122. #H1 : Y=AX+B
  123.  
  124. anova(droite,test="Chisq")
  125.  
  126. #conclusion : au seuilm 5%, pvalue = 3.303e-05
  127. #on rejette H0
  128. #a différent de 0
  129.  
  130. # iii) validation des erreurs Résidus
  131.  
  132. plot(rstudent(droite))
  133. abline(h=c(-2,0,2))
  134.  
  135. # iv) calcul de la distance de cook
  136.  
  137. plot(cooks.distance(droite))
  138.  
  139. d=4/(length(Y)-1-1)
  140.  
  141. abline(h=d)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement