{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# TP6 - Outils numériques pour les Statistiques Descriptives \n", "\n", "Les commandes suivantes, écrites en Python, s'exécutent directement dans ce notebook (cahier d'exercices) Jupyter avec la commande `Ctrl+Entrée`, ou `Shift+Entrée` pour passer directement à la cellule suivante." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# On importe les bibliothèques qui nous seront utiles.\n", "from pandas import * # pour lire, importer et manipuler des données sous forme\n", "# tableur\n", "from numpy import * # pour faire des calculs\n", "from matplotlib.pylab import * # pour faire des graphiques" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercice 1. Nuage de points et droite de régression (rappels)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**1.** On va travailler à nouveau sur les données Footprint. **Important:** Télécharger à nouveau le fichier Excel depuis Moodle, les types de certaines données manquantes ont été corrigés. \n", "\n", "Exécuter les premières lignes de commande ci-dessous puis compléter pour obtenir la liste des variables quantitatives." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " PAYS SDG LIFE HDI GDP \\\n", "0 Afghanistan 51.847886 63.565 0.488 2439.68 \n", "1 Albania 71.486061 79.282 0.810 13862.60 \n", "2 Algeria 70.510917 76.474 0.748 11412.20 \n", "3 Angola 50.974803 62.448 0.595 7034.84 \n", "4 Antigua and Barbuda NaN 78.691 0.800 22000.20 \n", "\n", " REG IC POP PROD CONSU BCAP \\\n", "0 Middle East/Central Asia LI 38.042 0.750444 0.885011 0.578479 \n", "1 Other Europe UM 2.881 1.566569 2.102276 1.124433 \n", "2 Africa UM 43.053 1.812774 2.367408 0.702314 \n", "3 Africa LM 31.825 0.686062 1.006983 1.738573 \n", "4 Central America/Caribbean HI 0.097 1.541982 3.919553 0.931722 \n", "\n", " ECO NEARTH NCOUNT \n", "0 -0.306532 0.570763 1.529894 \n", "1 -0.977842 1.355804 1.869631 \n", "2 -1.665094 1.526794 3.370868 \n", "3 0.731590 0.649426 0.579201 \n", "4 -2.987832 2.527807 4.206785 \n", "Il y a (au moins) une donnée manquante :\n", "la variable SDG du pays Antigua and Barbuda\n", "Les variables quantitatives sont :\n", " ['SDG', 'LIFE', 'HDI', 'GDP', 'POP', 'PROD', 'CONSU', 'BCAP', 'ECO', 'NEARTH', 'NCOUNT']\n", "Il y a 11 variables quantitatives dans les données.\n" ] } ], "source": [ "# Importation des données dans un dataframe\n", "df = read_excel('footprint.xlsx')\n", "# On renomme les colonnes.\n", "colonnes = [\n", " \"PAYS\", \"SDG\", \"LIFE\", \"HDI\", \"GDP\", \"REG\", \"IC\", \"POP\",\n", " \"PROD\", \"CONSU\", \"BCAP\", \"ECO\", \"NEARTH\", \"NCOUNT\"\n", "]\n", "df.columns = colonnes\n", "# affichage de l'en-tête pour voir, repérer une donnée manquante (à compléter)\n", "print(df.head())\n", "print('Il y a (au moins) une donnée manquante :')\n", "print('la variable SDG du pays Antigua and Barbuda')\n", "# On liste les variables quantitatives : à compléter.\n", "varquant = [col for col in colonnes if col not in [\"PAYS\", \"REG\", \"IC\"]]\n", "print('Les variables quantitatives sont :\\n', varquant)\n", "# On compte le nombre de variables quantitatives.\n", "p = len(varquant) \n", "print('Il y a', p, 'variables quantitatives dans les données.')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**2.** On définit les variables X = Ecological Reserve (`ECO`) et Y = Biocapacity (`BCAP`) à partir des données. \n", "Calculer le coefficient de corrélation entre $X$ et $Y$ (cf cours + TP4 ou TP5). Commenter le résultat obtenu." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Le coeff de corrélation entre BCAP et ECO vaut 0.98\n" ] } ], "source": [ "X = df.ECO\n", "Y = df.BCAP\n", "# On calcule le coefficient de corrélation entre X et Y.\n", "COVARXY = mean(X * Y) - mean(X) * mean(Y)\n", "RXY = COVARXY / (std(X) * std(Y))\n", "print('Le coeff de corrélation entre BCAP et ECO vaut', round(RXY, 2))\n", "# Commentaire (à compléter): le coefficient de corrélation entre BCAP et ECO\n", "# est très proche de 1, ce qui prouve que les deux variables sont très\n", "# fortement positivement corrélées. Les points du nuage représenté selon ces\n", "# deux variables doivent être presque alignés." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**3.** Représenter le nuage de point associé aux variables `BCAP` et `ECO` en justifiant le choix de la variable explicative et de la variable expliquée. Calculer les coefficients de la droite de régression et ajouter cette droite sur le graphique." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "La droite de régression a pour équation :\n", "y = 0.97 x + 3.1\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# La Biocapacité est la variable expliquée, la Réserve Écologique est la\n", "# variable explicative.\n", "\n", "# calcul des coefficients de la droite de régression de Y en fonction de X\n", "a = RXY * std(Y) / std(X)\n", "b = mean(Y) - a * mean(X)\n", "print('La droite de régression a pour équation :')\n", "print('y = ', round(a, 2), 'x +', round(b, 2))\n", "\n", "# représentation du nuage de points et de la droite de régression\n", "scatter(X, Y)\n", "plot(X, a*X + b)\n", "title('Biocapacity en fonction de Ecological Reserve') # à compléter\n", "xlabel('ECO') # à compléter\n", "ylabel('BCAP') # à compléter\n", "show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**4.** On constate la présence de trois points extrêmes situés en haut à droite du nuage de points. Quels sont les pays représentés par ces points ? " ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "59 French Guiana\n", "72 Guyana\n", "154 Suriname\n", "Name: PAYS, dtype: str\n" ] } ], "source": [ "extr = df.PAYS[df.ECO>50]\n", "print(extr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**5.** Reprendre les questions 2 et 3 en supprimant des données les trois pays \"extrêmes\". Commenter." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Le coefficient de corrélation vaut 0.75\n", "La droite de régression a pour équation:\n", "y = 0.71 x + 2.88\n" ] }, { "data": { "image/png": "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lStX1E0rEah888036Z7H+/Lnzy9r166Vpk2byrRp0+TJJ5/UvWbo0KEyffp0dUPBUqVKBfW3EJEx2IJDRJaycOFCOXPmjLrTsTsIbgCtPXnz5lUtOK4Q4Fy7dk2+/vrroNeXiIyRy6DvJSLKELqhEKA4e+655yRXrn8OW1WrVs3w/cjFqVChgoSHh6d7rkSJEhITE5MuX4eI7IMBDhGZUps2beSdd97RlRUsWFDef/99rz/D4XAEoWZEZAUMcIjIlKKjo6VixYrpyitXrqz+3b17t8qx8QSvW7lypSQnJ6drxTl27JjEx8enfRYR2Q9zcIjIUjp27CiFCxeWV155xe3zSDKG3r17y+XLl+Xdd99N95pXX31VcufOLbfffnvQ60tExmALDhGZEoaAnzhxQleG/BsENx988IGaA+eWW26RQYMGqZYeJB5/8cUX8vfff8tnn32mWneeeuopeeaZZ1QrTs+ePVViMYaTv/nmmzJ16lSOoCKyMQ4TJyJTDhPHBH2uqlSporqmYOPGjTJp0iT57bffVHcThnu3bdtWBTTOXVuzZs2St99+W3bs2CE5c+aU+vXrq9d07949W38TEWUvBjhERERkO8zBISIiItthgENERES2wwCHiIiIbIcBDhEREdkOAxwiIiKyHQY4REREZDsMcIiIiMh2GOAQERGR7TDAISIiItthgENERES2wwCHiIiIbIcBDhEREYnd/D/ufi5267l4aAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# calculs sur les données privées des trois pays \"extrêmes\"\n", "df2 = df[df.ECO<50]\n", "X = df2.ECO\n", "Y = df2.BCAP\n", "COVARXY = mean(X * Y) - (mean(X) * mean(Y))\n", "RXY = COVARXY / (std(X) * std(Y))\n", "print('Le coefficient de corrélation vaut', round(RXY, 2))\n", "a = RXY * std(Y) / std(X)\n", "b = mean(Y) - a * mean(X)\n", "print('La droite de régression a pour équation:')\n", "print('y =', round(a, 2), 'x +', round(b, 2))\n", "\n", "# nuage de points et droite de régression sur les données privées des trois\n", "# pays \"extrêmes\"\n", "scatter(X, Y)\n", "plot(X, a*X + b)\n", "title('Biocapacity en fonction de Ecological Reserve sans les Big-3') \n", "xlabel('ECO') \n", "ylabel('BCAP') \n", "show()\n", "\n", "# commentaire: (à compléter)\n", "# Le coefficient de corrélation est plus faible que celui calculé avec\n", "# l'ensemble des pays. Les points apparaissent nettement moins alignés, ce\n", "# qu'on peut aussi attribuer au changement d'échelle. Les points extrêmes ont\n", "# un poids important (effet \"bras de levier\") dans les calculs, il est parfois\n", "# utile de les écarter pour se concentrer sur le \"cœur\" du nuage. On appelle\n", "# ces points des \"outlyers\" ou \"points aberrants\"." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercice 2. Matrice de corrélation\n", "**Rappel de cours 1 (cf slides du 13 avril).** Si $X$ désigne une variable\n", "quantitative. La **variable centrée réduite associée à $X$** est définie par :\n", "\n", "\\begin{align*}\n", "\\widetilde{X} = \\frac{X - \\overline{X}}{\\sigma(X)},\n", "\\end{align*}\n", "\n", "où :\n", "\n", "- $\\overline{X}$ désigne la moyenne de $X$ ;\n", "- $\\sigma(X)$ l'écrat-type de $X$.\n", "\n", "**Rappel de cours 2 (cf slides du 13 avril).** Quand on dispose de $p$\n", "variables quantitatives, on appelle **matrice de corrélation** la matrice de\n", "format $p\\times p$ définie par le fait que **le coefficient situé sur la ligne\n", "$i$ et la colonne $j$ est égal au coefficient de corrélation entre le $i$-ème\n", "et la $j$-ième variable**. Ainsi, par définition toute matrice de corrélation\n", "est \"symétrique\" (elle est égale à sa transposée), possède des \"1\" sur la\n", "diagonale et a tous ses coefficients compris entre -1 et 1.\n", "\n", "**Rappel de cours 3 (cf slides du 13 avril).** La matrice de corrélation $R$ se\n", "calcule grâce à la formule suivante :\n", "\n", "\\begin{align*}\n", "R = \\dfrac{1}{n}\\,Z^T\\,Z,\n", "\\end{align*}\n", "\n", "où :\n", "\n", "- le produit entre matrices est le produit matriciel (`dot` dans python) ;\n", "- $Z$ désigne la matrice des données centrées réduites obtenues à partir des\n", "données en centrant et réduisant chaque variable ;\n", "- $Z^T$ désigne la matrice transposée de $Z$ (`Z.T` dans python)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**1.** Dans le premier bloc ci-dessous, on stocke dans un array nommé `data` les données restreintes aux variables quantitatives après avoir remplacé par la valeur 0 les données manquantes (cette action n'est pas recommandée en général... voir le cours de Base de Données à ce sujet). \n", "\n", "Excécuter ce bloc (observer les instructions) puis compléter les instructions dans le bloc suivant pour obtenir la matrice $Z$ des données centrées réduites associées à `data`." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "les variables incomplètes de dfv sont: ['SDG', 'LIFE', 'HDI', 'GDP']\n", "les variables incomplètes de dfv0 sont: []\n", "\n", "n = 181 et p = 11\n", "[[51.84788639 63.565 0.488 ]\n", " [71.48606092 79.282 0.81 ]\n", " [70.51091653 76.474 0.748 ]\n", " [50.97480329 62.448 0.595 ]\n", " [ 0. 78.691 0.8 ]]\n" ] } ], "source": [ "# on restreint les données aux variables quantitatives (la liste est dans\n", "# `varquant`)\n", "dfv = df[varquant]\n", "incomplete_columns = list(dfv.columns[dfv.isnull().any()])\n", "print('les variables incomplètes de dfv sont:', incomplete_columns)\n", "# on remplace par 0 les données manquantes\n", "dfv0 = dfv.fillna(0)\n", "incomplete_columns0 = list(dfv0.columns[dfv0.isnull().any()])\n", "print('les variables incomplètes de dfv0 sont:', incomplete_columns0)\n", "# on stocke dans un array les valeurs du dataframe\n", "data = dfv0.values\n", "# on vérifie que data est bien comme attendue, observer en particulier la\n", "# valeur de SDG de Antigua and Barbuda\n", "print(type(data))\n", "n, p = shape(data)\n", "print('n =', n, 'et p =', p)\n", "print(data[0:5,0:3]) # la valeur de SDG de Antigua and Barbuda (5eme ligne,\n", "# 1ere colonne) a maintenant la valeur 0" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[-0.21654524 -0.5509336 -0.88056471 ... -0.08503188 -1.00989022\n", " -0.26318312]\n", " [ 0.55965609 0.65886578 0.56938789 ... -0.14922693 -0.45204951\n", " -0.20404734]\n", " [ 0.52111338 0.44272296 0.29020447 ... -0.21494643 -0.33054623\n", " 0.05726297]\n", " ...\n", " [-0.21237033 -0.4333944 -1.00214459 ... -0.08085524 -1.12459224\n", " -0.23237972]\n", " [-0.11129287 -0.61035748 -0.48880733 ... -0.00823144 -0.81065467\n", " -0.40300757]\n", " [-0.04964139 -0.72589536 -0.37173041 ... -0.09255661 -0.91751488\n", " -0.25981448]]\n" ] } ], "source": [ "# construction de la matrice des données centrées réduites, colonne par colonne\n", "Z = zeros(shape(data)) # matrice pleine de zéros\n", "for j in range(p): # à compléter\n", " moy_col_j = mean(data[:,j])\n", " std_col_j = std(data[:,j])\n", " Z[:,j] = (data[:,j] - moy_col_j) / std_col_j\n", "print(Z)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**2.** Vérifier que la matrice des données centrées réduites est bien **centrée**, c'est-à-dire que la moyenne de chaque colonne vaut 0, et **réduite**, c'est-à-dire que la variance de chaque colonne vaut 1." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 2.53442141e-16 3.24479547e-16 -2.38605943e-16 -7.72862437e-17\n", " 5.39776940e-17 -2.29405200e-16 2.20817839e-17 -7.36059464e-18\n", " -6.13382887e-18 5.88847571e-17 8.49535298e-17]\n", "[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]\n" ] } ], "source": [ "print(mean(Z, axis=0))\n", "print(var(Z, axis=0))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**3.** Compléter les instructions ci-dessous pour calculer la matrice de corrélation $R$. Vérifier que la matrice $R$ obtenue \n", "- a le format attendu ($p\\times p$);\n", "- est symétrique;\n", "- contient des \"1\" sur la diagonale (on peut utiliser la fonction `diag` qui extrait les termes diagonaux de n'importe quelle matrice);\n", "- a tous ses coefficients entre -1 et 1 (on peut utiliser les instructions `R.max()` et `R.min()` pour obtenir le plus grand et le plus petit coefficient de $R$);\n", "- fournit bien la corrélation attendue entre ECO et BCAP." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 1. 0.48135045 0.63481759 0.41954342 0.09594649 0.28718766\n", " 0.28400556 -0.0254855 -0.08465316 0.28400556 -0.01794202]\n", " [ 0.48135045 1. 0.741986 0.5133472 0.04844834 0.35287235\n", " 0.35958804 -0.22010758 -0.29432238 0.35958804 -0.0327102 ]\n", " [ 0.63481759 0.741986 1. 0.67598837 0.03220356 0.48500714\n", " 0.53246523 -0.0682476 -0.17910137 0.53246523 0.08666319]\n", " [ 0.41954342 0.5133472 0.67598837 1. -0.03104362 0.62450176\n", " 0.8186363 -0.00602762 -0.17682738 0.8186363 0.39093795]\n", " [ 0.09594649 0.04844834 0.03220356 -0.03104362 1. -0.04373102\n", " -0.05706066 -0.0555184 -0.04340509 -0.05706066 -0.00935267]\n", " [ 0.28718766 0.35287235 0.48500714 0.62450176 -0.04373102 1.\n", " 0.80691531 0.15568355 -0.01327234 0.80691531 0.05540581]\n", " [ 0.28400556 0.35958804 0.53246523 0.8186363 -0.05706066 0.80691531\n", " 1. 0.08685199 -0.12213805 1. 0.33013957]\n", " [-0.0254855 -0.22010758 -0.0682476 -0.00602762 -0.0555184 0.15568355\n", " 0.08685199 1. 0.97815471 0.08685199 -0.13498148]\n", " [-0.08465316 -0.29432238 -0.17910137 -0.17682738 -0.04340509 -0.01327234\n", " -0.12213805 0.97815471 1. -0.12213805 -0.20336821]\n", " [ 0.28400556 0.35958804 0.53246523 0.8186363 -0.05706066 0.80691531\n", " 1. 0.08685199 -0.12213805 1. 0.33013957]\n", " [-0.01794202 -0.0327102 0.08666319 0.39093795 -0.00935267 0.05540581\n", " 0.33013957 -0.13498148 -0.20336821 0.33013957 1. ]]\n", "(11, 11)\n", "[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", " [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]\n", "[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]\n", "1.0000000000000009 -0.2943223761714685\n", "coeff de corrélation entre ECO (8ème variable) et BCAP (7ème variable):\n", "0.9781547056584262\n", "True\n" ] } ], "source": [ "# calcul de R avec la formule fournie \n", "R = dot(Z.T, Z) / n # à compléter\n", "print(R)\n", "# verifications\n", "print(shape(R))\n", "print(R - R.T)\n", "print(diag(R))\n", "print(R.max(), R.min())\n", "print('coeff de corrélation entre ECO (8ème variable) et BCAP (7ème variable):')\n", "print(R[8,7])\n", "print(R[8,7] == R[7,8])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**4.** Déterminer les (deux) variables les plus corrélée positivement ainsi que la valeur du coefficient de corrélation maximal (autre que 1). Idem avec les variables les plus corrélées négativement. Commenter les réponses.\n", "\n", "Indication 1: pour supprimer les \"1\" sur la diagonale de $R$, on peut retrancher à $R$ la matrice `eye(p,p)` qui est la matrice diagonale de format $p\\times p$ contenant des \"1\" sur la diagonale.\n", "\n", "Indication 2: étant donnée une matrice M, pour savoir où se trouve l'élément réalisant le maximum de $M$, on utilise la commande `argmax`. Cette commande donne le numéro de l'élément en parcourant la matrice ligne par ligne. Si la matrice est de taille ($p\\times p$), on détermine le numéro de ligne en effectuant la division euclidienne par le nombre de colonnes (commande `//p`) et le numéro de colonne est alors donné par le reste de cette division euclidienne (commande `%p`)." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Les variables les plus corrélées positivement sont :\n", "CONSU et NEARTH\n", "La corrélation entre ces variables vaut 1.0\n" ] } ], "source": [ "# variables les plus corrélées positivement\n", "indmax = argmax(R - eye(p, p))\n", "imax = indmax // p\n", "jmax = indmax % p\n", "print('Les variables les plus corrélées positivement sont :')\n", "print(varquant[imax], 'et', varquant[jmax])\n", "print('La corrélation entre ces variables vaut', R[imax,jmax])\n", "# commentaire : on avait déjà observé ce coefficient de corrélation égal à 1" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Les variables les plus corrélées négativement sont :\n", "LIFE et ECO\n", "La corrélation entre ces variables vaut -0.2943223761714685\n" ] } ], "source": [ "# variables les plus corrélées négativement\n", "indmin = argmin(R)\n", "imin = indmin // p\n", "jmin = indmin % p\n", "print('Les variables les plus corrélées négativement sont :')\n", "print(varquant[imin], 'et', varquant[jmin])\n", "print('La corrélation entre ces variables vaut', R[imin,jmin])\n", "# commentaire : les variables LIFE et ECO sont négativement corrélées,\n", "# autrement dit on a l'impression que \"plus les réserves écologiques sont\n", "# élevées, moins on vit vieux\". Il faut bien sûr se garder de voir un lien\n", "# causalité entre ces deux variables ! En revanche, on peut penser qu'il existe\n", "# une 3ème variable (appelée covariable, pas nécessairement présente dans les\n", "# données) qui influe sur LIFE et sur ECO de façons opposées, par exemple\n", "# l'indice de développement humain. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# EXERCICE 3.\n", "Le but de cet exercice est de déterminer de manière expérimentale le coût en temps du calcul de $M^{50}$ quand $M$ est une matrice aléatoire de taille $n\\times n$. Ce coût est noté $C(n)$ et on cherche $\\alpha$ tel que $C(n)=\\Theta (n^{\\alpha})$ (cf notions et notations du cours de Méthodes Numériques)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**1.** Exécuter les instructions ci-dessous et commenter chaque ligne. Que fait la fonction `temps`? La tester sur $n=10$ puis sur $n=100$." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.0030050277709960938\n", "0.05822420120239258\n" ] } ], "source": [ "from time import * # On importe la bibliothèque \"time\" qui contient une\n", "# fonction donnant l'heure courante.\n", "\n", "def temps(n):\n", " tic = time()\n", " A = randint(100, size=(n, n))\n", " res = A\n", " for _ in range(50):\n", " res = dot(A, res)\n", " toc = time() \n", " return toc - tic\n", "\n", "\n", "print(temps(10)) \n", "print(temps(100))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**2.** Tracer la graphe de la fonction $n\\mapsto Temps(n)$ pour $n$ variant de 1 à 200. Soyez patient, cela peut prendre un peu de temps!" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "N = 200\n", "C = zeros(N)\n", "for n in range(N):\n", " C[n] = temps(n+1)\n", "X = arange(1, N+1)\n", "plot(X, C) # on peut aussi utiliser scatter\n", "show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**3.** Tracer le graphe de la fonction précédente en échelle log-log, c'est-à-dire tracer le graphe de $(log(n),log(Temps(n)))$. Quelle forme de graphique observez-vous pour $n$ assez grand? " ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Le graphique est proche d'une droite pour n assez grand, log(n)>3.5 environ, soit n > 33.11545195869231\n" ] } ], "source": [ "scatter(log(X), log(C))\n", "show()\n", "print(\"Le graphique est proche d'une droite pour n assez grand, log(n)>3.5 environ, soit n >\",exp(3.5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**4.** On va maintenant se restreindre aux valeurs de $n$ entre 33 et 200. Calculer les coefficients de la droite de régression linéaire du nuage $\\left(log(n),log(Temps(n))\\right)_{33\\le n\\le 200}$ et représenter le nuage ainsi que la droite de régression sur le même graphique. Calculer également le coefficient de corrélation. " ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.6023563679830757 -10.560103234882394 0.9757068823821978\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAHDCAYAAAC52xl+AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVeJJREFUeJzt3QuYTWXbB/D/YMwwzBgGgxwGI4eQUcmhck68L4oiqZRIEkkxisqh5PBWouRLpbeDIqlIVKbkjZIcQgghYuQ4w2AYs77rXo897dlmzz7vvdZe/9917YtZsw9rn2bd63nu+34iNE3TQERERJZVJNQ7QERERKHFYICIiMjiGAwQERFZHIMBIiIii2MwQEREZHEMBoiIiCyOwQAREZHFMRggIiKyOAYDREREFsdgwMLmzp2LiIgI7N27N+CPtXbtWhQvXhz79u2DFXTu3BkDBgzw6rbXX389Ro4cedn2ZcuWoVSpUjhy5AiMRvbt6quvRnR0tP6ZOnnyJKz8eXeX7M+zzz7rt/urUaMG+vXrB7N+xil0GAxQUDz11FO48847Ub169bw/yq4u8ofNjH744Qd89dVXGDVqlFe3l9u9+uqrSE9Pz7e9U6dOqF27NiZNmgQjOXbsGO644w6UKFFC3+93330XMTExIduf559/Hp9++mnIHt8KAvUZp9ApFsLHJovYuHEjvvnmG6xevVr/+cYbb9QPGPYeeOABXHfddRg4cGDeNjkLNqOpU6eiXbt2+oHbG926dUNsbCxee+01jB8/Pt/vHnzwQTz++OMYN24cSpcuDSP4+eefcerUKUyYMAHt27cP9e7owUDPnj3RvXv3fNvvvvtu9O7dG1FRUSHbt3ARyM84hQaDAQq4t99+G9WqVdOHBkXNmjX1i71Bgwbp2/r27Wvqd+Tvv//GF198gddff93r+yhSpIh+MPvvf/+rH/RllMSmR48eeOSRR7BgwQLcf//9MMpzFmXKlIGRFS1aVL+QsT/jFBqcJqDLSLTeoEED/QyqcuXKePjhhwucA5ZhPjmAy/CwnNWvWrUKrVu31i/2ZMi2bdu2Hn/h//rrL/2AV7FiRX1fZJ/eeuutfNf57rvv9PudP3++/kelSpUq+hmz/KHJyMhAdnY2Hn30UVSoUEEfabjvvvv0bfbk9kOGDMH777+PK6+8Up/3btq0Kb7//vt815OzX7kvmb6Q/ZH77NChA9avX593HfkjmZOTc9kZsm1qRIZXH3vsMZQvX14fSr/11lsLzAGQ+5X8ChlVsSeP2ahRI3z22WduvYbbt2/XX4uyZcvqz+uaa67B559/7tO+2ZP3+t5779X/f+211+r3Yz9nLUGLvJbyGUlISNCDPXlf7cn15b2R7XI2L/+XfZARkIsXL+a7bm5uLqZPn46GDRvqz0euJ9Mn69at038vj5+VlYV33nknb7rJtj/Ocgbc+bzL87zqqqvw22+/oU2bNihZsqT+WZsyZYpb74N85oYPH67vr3w+u3btigMHDnj9uffEH3/8gdtvv13/DMh+S1Aun1NH8nmT/ZL3Xj5nsr/Lly/XXzP5ngXrM04hIksYkzW9/fbbsny1tmfPnrxtzzzzjL6tffv22owZM7QhQ4ZoRYsW1a699lrt/Pnzedd77bXX9OvdcMMN2iuvvKI99thjWtmyZbVatWppN910U971Dhw4oF9PrlOYmJgY7d577837OT09Xbviiiu0qlWrauPHj9dmzZqlde3aVb+vl156Ke963377rb7t6quv1po3b64/ztChQ7WIiAitd+/eWp8+fbRbbrlFe/XVV7W7775bv+64cePyPbZsu+qqq7SEhAT9sSZPnqxVr15dK1GihLZ58+a868l9FS9eXH+uc+bM0a/373//W3vvvffyrvPAAw9o5cqVc/paN2nSRGvbtq3+2o4YMUJ/be+4447Lrm973eR6juQxZF9d2bJlixYXF6fVr19f39eZM2dqN954o/7afPLJJ17vm72vvvpKGzhwoH57ee3effddbfXq1fnuVz478p6lpqbqr2mNGjW0EydO5N2HvO/R0dFagwYNtPvvv19/r3v06KHfVj5n9vr166dvl/f05Zdf1qZNm6Z169Yt73WSx4+KitI/l/L/gvbHm8+7fKYrV66sfx6HDRum75e8VnLbpUuXunwv+vbtq19XPkPyPtx2221ao0aN9G2yD55+7p2Rz63j96hixYpa6dKltaeeekp78cUXtcaNG2tFihTJ9xk4ffq0VrNmTf39kfdJXtvrrrtOv648tnzPgvkZp+BjMGBhjn8c//77b/1g17FjR+3ixYt515M/XnK9t956S/85Oztb/2MgfzAvXLiQd725c+fq17MPBr755ht92+LFiz0KBvr3769VqlRJO3r0aL7ryQFe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Wb+33jxXU35vNROQofKVK1dqe/bs0X799Vf954iICO2rr77Sf3/33Xfr22zGjRunLV++XB92+eWXX7TevXtr0dHR+YbaX3jhBa1MmTLaZ599pt+nZHUmJSVpZ8+e1cz0XG1atWql9erVq8DM5scff1xbs2aNfp8yBJWSkqJnO587d04zIsehVcfnLMOJxYoV06ZNm6Zt27ZNz/SVIcjNmzcb/v319LnK8yhevLj28ccfa4cOHcq7yPtqxvfX1fM183fXm+dr5u/viBEjtO+++07fL/lOtm/fXp/S/Pvvv8PuezvCw+dqxu+tKYKB+++/X6tevbr+4pYvX15r165d3sHR9oWTMg2bRx99VKtWrZp+/YoVK2qdO3fW1q9fn+8+pYxl7Nix+u+ldEXuc8eOHZrZnqvYvn27Ptdkfz2bM2fOaB07dtTvS754ct8DBgzQ0tPTNaNy/ANa0HOeP3++VqdOHf11atCggfbFF1+Y4v319LnK+yXvreNF/pCa8f119XzN/N319rNs1u+vBC+VKlXS36sqVaroP+/atSssv7e9PHyuZvzecgljIiIiizNtzgARERH5B4MBIiIii2MwQEREZHEMBoiIiCyOwQAREZHFMRggIiKyOAYDREREFsdggIiIyOIYDBAREVkcgwEiIiKLYzBARERkcQwGiIiIYG3/DxV1bxgt9+ziAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = log(X[33:])\n", "y = log(C[33:])\n", "COVARXY = mean(x*y)-(mean(x)*mean(y))\n", "r = COVARXY / (std(x) * std(y))\n", "a = r / (std(x) * std(y))\n", "b = mean(y)- a * mean(x)\n", "\n", "print(a, b, r)\n", "\n", "figure(figsize=(6, 5))\n", "scatter(x, y)\n", "plot(x, a*x + b, color='red')\n", "title('log(Temps(n)) en fonction de log(n)')\n", "show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**5.** Déduire de la question précédente un ordre de grandeur de $Temps(n)$ de la forme $Temps(n)=\\Theta(n^{\\alpha})$ avec la valeur de $\\alpha$ déterminée expérimentalement. Commenter." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "On peut écrire Temps(n) = Theta(n^a) avec a = 1.6\n" ] } ], "source": [ "print(\"On peut écrire Temps(n) = Theta(n^a) avec a =\", round(a, 2))" ] } ], "metadata": { "kernelspec": { "display_name": "iut", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.14.2" } }, "nbformat": 4, "nbformat_minor": 2 }