Exploration, classification en des encours boursiers parisiens

Résumé

Scénario d'analyse d'un jeu de données : l'ensemble des séries des encours boursier à Paris. Description, lissage et classification de ces courbes. Utilisation des différentes techniques descriptives uni, bi et multidimensionnelles: ACP, k-means,CAH.

objectif

Le travail proposé s'intéresse aux cours des actifs boursiers sur la place de Paris de 2000 à 2009. Seuls 252 cours d'entreprises ou indices sont considérés, ceux qui ont été régulièrement cotés sur la période concernée. Les autres, présentant trop de données manquantes car introduits ou exclus au cours de la période, par exemple à la suite d'une fusion, ont été éliminées. Le travail ne se veut pas exhaustif mais illustratif.

L'objectif principal est la réalisation d'une classification des entreprises au regard du comportement de leur titre au cours de la période et plus particulièrement autour des difficultés rencontrées en 2002 et 2008. Il s'agit donc de déterminer des groupes ou classes homogènes quant à ce comportement. Ce travail est relativement original car absent des analyses financières classiques qui se focalisent sur le comportement d'un titre avec des indicateurs très sophistiqués associés à une série chronologique. L'originalité vient de ce que ce sont toutes les séries qui sont simultanément étudiées. Ce pourrait être le travail préalable d'un analyste qui, voulant constituer un portefeuille équilibré, chercherait des classes de comportement homogènes afin de compléter une information plus spécifique sur chaque entreprise et leur secteur d'activité. Il ne s'agit donc d'une étude exploratoire sans se préoccuper des qualités prédictives de modèles.

Après un descriptif de l'origine des données, la première partie décrit un traitement préalable des données, la deuxième une description multidimensionnelle par analyse en composantes principales, la troisième, la recherche d'une classification non supervisée, de sa représentation et de son interprétation. La spécificité de l'analyse est qu'il s'agit ici de données temporelles. La même variable est observée à différents instants.

Données

Présentation

Beaucoup de sites, dont les principaux moteurs de recherche, proposent des historiques des grandes places boursières. Ces historiques fournissent, pour une action, (définie par son code), pour une période donnée et pour chaque jour : le cours d'ouverture, le maximum, le minimum, le cours de fermeture et le nombre de titres échangés.

La première tâche est un travail de compilation afin de récupérer l'ensemble des titres gérés, ici par la bourse de Paris. La deuxième est un filtrage afin de ne conserver que les titres cotés sur toute une période (2000 à 2009). La troisième nécessite un choix de « granularité ». En effet, nous nous intéressons au comportement global sur la période en négligeant les fluctuations du titre à court terme ainsi que la volatilité (la variance) associée. Le choix fait est celui de la simplicité: on s'intéresse aux moyennes mensuelles des cours. Cet indicateur étant relativement grossier, il n'est plus important de savoir s'il s'agit de la moyenne du cours à l'ouverture, la fermeture, le min ou le max, c'est le montant à l'ouverture qui a été choisi. En complément du calcul de cette moyenne mensuelle, l'opportunité d'un lissage est prise en compte afin de débruiter les données pour mieux se focaliser sur l'analyse des grandes tendances des comportements.

Répondre aux questions en s'aidant des résultats des exécutions.

Lecture

Les données (fichier paris2010.text) sont disponibles dans le répertoire de ce calepin et sont chargées simultanément.

Q Quelles sont les dimensions de cette analyse (nombre de variables, nombre d’individus) ?


In [1]:
paris=read.table("paris_10.txt",row.names="Nom",header=TRUE,sep=",")
isin=paris[,121] # codes des cours
paris=paris[,-121]
summary(paris)


       t1                  t2                  t3           
 Min.   :    0.395   Min.   :    0.415   Min.   :    0.672  
 1st Qu.:   15.370   1st Qu.:   17.609   1st Qu.:   19.500  
 Median :   34.824   Median :   36.486   Median :   37.519  
 Mean   :  339.825   Mean   :  353.511   Mean   :  368.283  
 3rd Qu.:   58.510   3rd Qu.:   62.995   3rd Qu.:   68.643  
 Max.   :18918.842   Max.   :19696.229   Max.   :19827.561  
       t4                  t5                  t6           
 Min.   :    0.647   Min.   :    0.617   Min.   :    0.555  
 1st Qu.:   17.580   1st Qu.:   18.371   1st Qu.:   19.134  
 Median :   37.063   Median :   37.415   Median :   36.378  
 Mean   :  351.182   Mean   :  337.249   Mean   :  342.388  
 3rd Qu.:   62.837   3rd Qu.:   62.000   3rd Qu.:   63.045  
 Max.   :19631.839   Max.   :17119.555   Max.   :16928.055  
       t7                  t8                  t9           
 Min.   :    0.445   Min.   :    0.486   Min.   :    0.475  
 1st Qu.:   18.577   1st Qu.:   18.006   1st Qu.:   19.067  
 Median :   34.658   Median :   36.238   Median :   36.559  
 Mean   :  344.082   Mean   :  343.667   Mean   :  344.885  
 3rd Qu.:   64.790   3rd Qu.:   64.989   3rd Qu.:   64.367  
 Max.   :17044.423   Max.   :16290.108   Max.   :16225.353  
      t10                 t11                 t12           
 Min.   :    0.348   Min.   :    0.291   Min.   :    0.263  
 1st Qu.:   18.222   1st Qu.:   18.114   1st Qu.:   17.150  
 Median :   34.829   Median :   35.802   Median :   35.048  
 Mean   :  323.608   Mean   :  321.162   Mean   :  308.736  
 3rd Qu.:   58.807   3rd Qu.:   59.545   3rd Qu.:   56.987  
 Max.   :15363.872   Max.   :14728.437   Max.   :14485.415  
      t13                 t14                 t15                t16           
 Min.   :    0.253   Min.   :    0.246   Min.   :    0.24   Min.   :    0.229  
 1st Qu.:   18.154   1st Qu.:   18.015   1st Qu.:   16.53   1st Qu.:   16.450  
 Median :   35.064   Median :   33.841   Median :   31.10   Median :   31.328  
 Mean   :  305.543   Mean   :  301.286   Mean   :  278.45   Mean   :  280.827  
 3rd Qu.:   59.934   3rd Qu.:   61.809   3rd Qu.:   59.03   3rd Qu.:   60.271  
 Max.   :13738.578   Max.   :13278.994   Max.   :12678.65   Max.   :13406.641  
      t17                 t18                 t19           
 Min.   :    0.243   Min.   :    0.254   Min.   :    0.237  
 1st Qu.:   17.213   1st Qu.:   16.421   1st Qu.:   15.986  
 Median :   33.169   Median :   32.407   Median :   29.102  
 Mean   :  295.470   Mean   :  283.405   Mean   :  270.400  
 3rd Qu.:   62.475   3rd Qu.:   62.093   3rd Qu.:   57.570  
 Max.   :13994.214   Max.   :13001.085   Max.   :12194.021  
      t20                 t21                 t22           
 Min.   :    0.233   Min.   :    0.222   Min.   :    0.196  
 1st Qu.:   14.752   1st Qu.:   12.088   1st Qu.:   12.066  
 Median :   29.215   Median :   24.269   Median :   24.383  
 Mean   :  263.152   Mean   :  224.641   Mean   :  228.965  
 3rd Qu.:   56.770   3rd Qu.:   47.164   3rd Qu.:   48.535  
 Max.   :11598.067   Max.   :10021.164   Max.   :10410.039  
      t23                 t24                 t25                 t26         
 Min.   :    0.174   Min.   :    0.142   Min.   :    0.171   Min.   :   0.25  
 1st Qu.:   12.253   1st Qu.:   12.524   1st Qu.:   13.003   1st Qu.:  13.50  
 Median :   25.580   Median :   26.386   Median :   27.295   Median :  27.32  
 Mean   :  241.612   Mean   :  245.169   Mean   :  246.267   Mean   : 239.50  
 3rd Qu.:   50.200   3rd Qu.:   50.417   3rd Qu.:   52.607   3rd Qu.:  52.81  
 Max.   :10511.509   Max.   :10514.871   Max.   :10317.822   Max.   :9975.83  
      t27                 t28                t29                t30           
 Min.   :    0.268   Min.   :    0.26   Min.   :    0.24   Min.   :    0.266  
 1st Qu.:   14.415   1st Qu.:   14.94   1st Qu.:   14.68   1st Qu.:   12.303  
 Median :   30.110   Median :   31.38   Median :   30.04   Median :   27.642  
 Mean   :  255.945   Mean   :  253.33   Mean   :  249.13   Mean   :  230.177  
 3rd Qu.:   54.865   3rd Qu.:   55.18   3rd Qu.:   54.06   3rd Qu.:   52.555  
 Max.   :11460.042   Max.   :11366.08   Max.   :11709.12   Max.   :11015.577  
      t31                t32                t33                t34          
 Min.   :    0.18   Min.   :   0.174   Min.   :   0.188   Min.   :   0.171  
 1st Qu.:   11.66   1st Qu.:  11.199   1st Qu.:  10.258   1st Qu.:   8.502  
 Median :   24.59   Median :  22.820   Median :  20.637   Median :  18.869  
 Mean   :  209.75   Mean   : 202.272   Mean   : 189.225   Mean   : 179.780  
 3rd Qu.:   48.17   3rd Qu.:  47.040   3rd Qu.:  44.232   3rd Qu.:  41.120  
 Max.   :10376.64   Max.   :9759.355   Max.   :9351.414   Max.   :8826.594  
      t35                t36                t37               t38          
 Min.   :   0.164   Min.   :   0.183   Min.   :   0.19   Min.   :   0.219  
 1st Qu.:   9.929   1st Qu.:   9.803   1st Qu.:   9.25   1st Qu.:   8.271  
 Median :  21.134   Median :  20.832   Median :  20.50   Median :  18.791  
 Mean   : 190.060   Mean   : 188.504   Mean   : 184.03   Mean   : 173.646  
 3rd Qu.:  44.051   3rd Qu.:  43.142   3rd Qu.:  41.88   3rd Qu.:  40.305  
 Max.   :8682.190   Max.   :8718.033   Max.   :8578.92   Max.   :8535.962  
      t39                t40                t41                t42          
 Min.   :   0.192   Min.   :   0.148   Min.   :   0.154   Min.   :   0.158  
 1st Qu.:   7.343   1st Qu.:   7.722   1st Qu.:   8.410   1st Qu.:   9.325  
 Median :  17.386   Median :  18.709   Median :  20.498   Median :  22.229  
 Mean   : 168.635   Mean   : 175.641   Mean   : 183.354   Mean   : 194.559  
 3rd Qu.:  39.165   3rd Qu.:  39.115   3rd Qu.:  40.836   3rd Qu.:  42.731  
 Max.   :8191.062   Max.   :8308.979   Max.   :8604.340   Max.   :9091.502  
      t43                t44                t45                 t46           
 Min.   :   0.159   Min.   :   0.161   Min.   :    0.163   Min.   :    0.165  
 1st Qu.:   9.219   1st Qu.:   9.642   1st Qu.:   10.054   1st Qu.:   10.169  
 Median :  23.188   Median :  23.366   Median :   24.420   Median :   23.419  
 Mean   : 199.784   Mean   : 204.905   Mean   :  213.677   Mean   :  215.255  
 3rd Qu.:  44.284   3rd Qu.:  46.515   3rd Qu.:   48.011   3rd Qu.:   47.129  
 Max.   :9672.805   Max.   :9861.606   Max.   :10666.536   Max.   :10726.434  
      t47                 t48                 t49           
 Min.   :    0.202   Min.   :    0.188   Min.   :    0.195  
 1st Qu.:   11.037   1st Qu.:   11.028   1st Qu.:   11.928  
 Median :   25.114   Median :   24.404   Median :   25.941  
 Mean   :  217.961   Mean   :  221.085   Mean   :  231.507  
 3rd Qu.:   50.415   3rd Qu.:   48.939   3rd Qu.:   51.474  
 Max.   :10238.610   Max.   :10278.861   Max.   :10899.966  
      t50                 t51                 t52           
 Min.   :    0.199   Min.   :    0.194   Min.   :    0.182  
 1st Qu.:   12.303   1st Qu.:   13.240   1st Qu.:   13.418  
 Median :   26.926   Median :   26.781   Median :   27.295  
 Mean   :  233.041   Mean   :  234.751   Mean   :  240.245  
 3rd Qu.:   52.581   3rd Qu.:   52.810   3rd Qu.:   54.645  
 Max.   :10633.662   Max.   :11420.170   Max.   :11974.870  
      t53                 t54                 t55           
 Min.   :    0.175   Min.   :    0.185   Min.   :    0.169  
 1st Qu.:   13.395   1st Qu.:   13.435   1st Qu.:   13.552  
 Median :   26.297   Median :   26.874   Median :   26.822  
 Mean   :  230.851   Mean   :  236.210   Mean   :  232.845  
 3rd Qu.:   54.518   3rd Qu.:   55.659   3rd Qu.:   54.800  
 Max.   :11076.505   Max.   :11510.532   Max.   :11397.929  
      t56                 t57                 t58                 t59          
 Min.   :    0.151   Min.   :    0.153   Min.   :    0.164   Min.   :    0.16  
 1st Qu.:   12.643   1st Qu.:   13.282   1st Qu.:   13.884   1st Qu.:   14.29  
 Median :   25.136   Median :   26.380   Median :   26.174   Median :   25.96  
 Mean   :  227.875   Mean   :  233.567   Mean   :  234.901   Mean   :  240.55  
 3rd Qu.:   54.100   3rd Qu.:   55.445   3rd Qu.:   55.631   3rd Qu.:   55.74  
 Max.   :10986.949   Max.   :11105.124   Max.   :11031.309   Max.   :10975.20  
      t60                 t61                 t62                t63           
 Min.   :    0.155   Min.   :    0.191   Min.   :    0.23   Min.   :    0.307  
 1st Qu.:   14.717   1st Qu.:   15.887   1st Qu.:   16.63   1st Qu.:   17.122  
 Median :   27.166   Median :   29.126   Median :   31.45   Median :   31.739  
 Mean   :  244.712   Mean   :  248.729   Mean   :  255.49   Mean   :  257.465  
 3rd Qu.:   57.254   3rd Qu.:   59.762   3rd Qu.:   63.32   3rd Qu.:   63.658  
 Max.   :11049.909   Max.   :11391.751   Max.   :11539.97   Max.   :11808.660  
      t64                 t65                 t66           
 Min.   :    0.306   Min.   :    0.297   Min.   :    0.294  
 1st Qu.:   16.807   1st Qu.:   16.590   1st Qu.:   16.990  
 Median :   31.052   Median :   30.455   Median :   32.279  
 Mean   :  252.465   Mean   :  251.270   Mean   :  259.109  
 3rd Qu.:   65.155   3rd Qu.:   63.932   3rd Qu.:   64.384  
 Max.   :11393.957   Max.   :11090.576   Max.   :11395.231  
      t67                 t68                t69                 t70           
 Min.   :    0.313   Min.   :    0.33   Min.   :    0.463   Min.   :    0.469  
 1st Qu.:   17.501   1st Qu.:   18.05   1st Qu.:   18.154   1st Qu.:   18.211  
 Median :   33.243   Median :   34.26   Median :   35.266   Median :   35.559  
 Mean   :  266.019   Mean   :  272.06   Mean   :  278.026   Mean   :  278.609  
 3rd Qu.:   65.545   3rd Qu.:   65.94   3rd Qu.:   67.370   3rd Qu.:   67.990  
 Max.   :11724.112   Max.   :12191.89   Max.   :12950.556   Max.   :13401.005  
      t71                t72                 t73                 t74           
 Min.   :    0.44   Min.   :    0.442   Min.   :    0.577   Min.   :    0.696  
 1st Qu.:   17.18   1st Qu.:   17.908   1st Qu.:   18.396   1st Qu.:   19.436  
 Median :   34.34   Median :   35.526   Median :   37.479   Median :   39.070  
 Mean   :  285.56   Mean   :  297.166   Mean   :  306.438   Mean   :  313.996  
 3rd Qu.:   68.80   3rd Qu.:   69.160   3rd Qu.:   73.802   3rd Qu.:   75.793  
 Max.   :14331.37   Max.   :15615.761   Max.   :16101.919   Max.   :16227.730  
      t75                 t76                 t77           
 Min.   :    0.711   Min.   :    0.746   Min.   :    0.705  
 1st Qu.:   20.399   1st Qu.:   20.807   1st Qu.:   20.468  
 Median :   40.304   Median :   42.104   Median :   42.384  
 Mean   :  321.506   Mean   :  330.552   Mean   :  321.649  
 3rd Qu.:   79.033   3rd Qu.:   81.865   3rd Qu.:   76.313  
 Max.   :16307.953   Max.   :17259.657   Max.   :16371.033  
      t78                 t79                 t80           
 Min.   :    0.617   Min.   :    0.576   Min.   :    0.583  
 1st Qu.:   18.389   1st Qu.:   18.467   1st Qu.:   18.650  
 Median :   39.905   Median :   38.803   Median :   38.720  
 Mean   :  303.380   Mean   :  306.401   Mean   :  313.601  
 3rd Qu.:   73.208   3rd Qu.:   75.681   3rd Qu.:   78.300  
 Max.   :14977.047   Max.   :15138.861   Max.   :15765.896  
      t81                 t82                 t83           
 Min.   :    0.604   Min.   :    0.584   Min.   :    0.626  
 1st Qu.:   18.408   1st Qu.:   19.608   1st Qu.:   19.415  
 Median :   40.179   Median :   41.083   Median :   42.143  
 Mean   :  320.464   Mean   :  331.988   Mean   :  337.106  
 3rd Qu.:   79.543   3rd Qu.:   81.411   3rd Qu.:   83.295  
 Max.   :15936.989   Max.   :16531.165   Max.   :16093.983  
      t84                 t85                t86                 t87           
 Min.   :    0.604   Min.   :    0.67   Min.   :    0.686   Min.   :    0.657  
 1st Qu.:   19.553   1st Qu.:   20.17   1st Qu.:   21.314   1st Qu.:   19.724  
 Median :   41.731   Median :   44.27   Median :   46.233   Median :   46.047  
 Mean   :  343.058   Mean   :  352.38   Mean   :  360.892   Mean   :  351.002  
 3rd Qu.:   81.824   3rd Qu.:   84.82   3rd Qu.:   88.118   3rd Qu.:   87.592  
 Max.   :16768.518   Max.   :17288.63   Max.   :17731.711   Max.   :17142.512  
      t88                 t89                 t90           
 Min.   :    0.668   Min.   :    0.649   Min.   :    0.619  
 1st Qu.:   20.745   1st Qu.:   21.857   1st Qu.:   21.371  
 Median :   50.962   Median :   51.299   Median :   51.056  
 Mean   :  366.620   Mean   :  376.627   Mean   :  379.718  
 3rd Qu.:   91.646   3rd Qu.:   96.121   3rd Qu.:   95.425  
 Max.   :17498.292   Max.   :17585.819   Max.   :17991.448  
      t91                 t92                 t93                 t94          
 Min.   :    0.604   Min.   :    0.565   Min.   :    0.563   Min.   :    0.59  
 1st Qu.:   21.226   1st Qu.:   20.044   1st Qu.:   19.855   1st Qu.:   20.20  
 Median :   51.101   Median :   49.245   Median :   46.087   Median :   47.65  
 Mean   :  380.339   Mean   :  356.167   Mean   :  358.509   Mean   :  370.65  
 3rd Qu.:   96.505   3rd Qu.:   89.437   3rd Qu.:   88.457   3rd Qu.:   90.56  
 Max.   :17995.663   Max.   :16488.225   Max.   :16227.640   Max.   :16905.99  
      t95                 t96                 t97           
 Min.   :    0.557   Min.   :    0.529   Min.   :    0.438  
 1st Qu.:   18.564   1st Qu.:   18.071   1st Qu.:   16.501  
 Median :   44.000   Median :   43.002   Median :   37.476  
 Mean   :  351.744   Mean   :  351.926   Mean   :  321.388  
 3rd Qu.:   84.620   3rd Qu.:   82.731   3rd Qu.:   72.603  
 Max.   :15546.004   Max.   :15565.162   Max.   :13780.114  
      t98                 t99                 t100          
 Min.   :    0.416   Min.   :    0.407   Min.   :    0.388  
 1st Qu.:   15.807   1st Qu.:   14.857   1st Qu.:   14.710  
 Median :   36.777   Median :   36.241   Median :   37.544  
 Mean   :  310.620   Mean   :  299.103   Mean   :  312.191  
 3rd Qu.:   70.200   3rd Qu.:   67.262   3rd Qu.:   70.145  
 Max.   :13552.094   Max.   :12641.879   Max.   :13306.392  
      t101                t102                t103          
 Min.   :    0.399   Min.   :    0.444   Min.   :    0.367  
 1st Qu.:   15.659   1st Qu.:   13.652   1st Qu.:   12.066  
 Median :   39.417   Median :   37.389   Median :   33.550  
 Mean   :  322.716   Mean   :  309.223   Mean   :  284.201  
 3rd Qu.:   71.886   3rd Qu.:   67.956   3rd Qu.:   62.300  
 Max.   :13987.964   Max.   :14105.775   Max.   :13182.176  
      t104                t105                t106               t107         
 Min.   :    0.395   Min.   :    0.368   Min.   :   0.274   Min.   :   0.222  
 1st Qu.:   11.776   1st Qu.:   10.855   1st Qu.:   9.371   1st Qu.:   8.871  
 Median :   34.519   Median :   34.224   Median :  26.084   Median :  22.622  
 Mean   :  287.420   Mean   :  275.589   Mean   : 219.709   Mean   : 204.436  
 3rd Qu.:   63.329   3rd Qu.:   62.399   3rd Qu.:  49.741   3rd Qu.:  43.781  
 Max.   :12990.916   Max.   :12175.608   Max.   :9241.511   Max.   :8637.607  
      t108               t109               t110               t111         
 Min.   :   0.167   Min.   :   0.201   Min.   :   0.190   Min.   :   0.178  
 1st Qu.:   7.966   1st Qu.:   8.006   1st Qu.:   7.253   1st Qu.:   6.610  
 Median :  21.442   Median :  21.282   Median :  21.933   Median :  19.800  
 Mean   : 200.119   Mean   : 199.099   Mean   : 187.310   Mean   : 176.835  
 3rd Qu.:  43.452   3rd Qu.:  43.247   3rd Qu.:  42.645   3rd Qu.:  38.745  
 Max.   :8596.599   Max.   :8433.137   Max.   :7747.227   Max.   :7744.953  
      t112               t113               t114               t115         
 Min.   :   0.219   Min.   :   0.231   Min.   :   0.241   Min.   :   0.223  
 1st Qu.:   8.117   1st Qu.:   8.373   1st Qu.:   8.817   1st Qu.:   8.513  
 Median :  21.790   Median :  23.833   Median :  25.340   Median :  24.574  
 Mean   : 196.170   Mean   : 210.473   Mean   : 215.463   Mean   : 214.707  
 3rd Qu.:  41.531   3rd Qu.:  44.440   3rd Qu.:  46.273   3rd Qu.:  46.572  
 Max.   :8767.706   Max.   :9267.056   Max.   :9801.591   Max.   :9692.214  
      t116                t117                t118          
 Min.   :    0.239   Min.   :    0.294   Min.   :    0.344  
 1st Qu.:   10.161   1st Qu.:   11.396   1st Qu.:   11.880  
 Median :   27.453   Median :   28.233   Median :   28.902  
 Mean   :  234.136   Mean   :  243.832   Mean   :  248.546  
 3rd Qu.:   50.391   3rd Qu.:   53.823   3rd Qu.:   56.667  
 Max.   :10439.800   Max.   :10317.644   Max.   :10074.081  
      t119                t120         
 Min.   :    0.418   Min.   :    0.42  
 1st Qu.:   10.995   1st Qu.:   10.45  
 Median :   28.467   Median :   27.75  
 Mean   :  246.297   Mean   :  251.42  
 3rd Qu.:   56.157   3rd Qu.:   55.38  
 Max.   :10193.646   Max.   :10428.98  

Traitements préalables

Q Quels prétraitements semblent indispensables. Les justifier en commentant les graphiques.


In [2]:
ts.plot(t(paris))



In [3]:
lparis=log(paris)
ts.plot(t(lparis))



In [4]:
lparis0=lparis-apply(lparis,1,mean)
ts.plot(t(lparis0))


Q Bref commentaire sur les trajectoires finalement obtenues

Malgré le lissage opéré en calculant des moyennes mensuelles, les courbes sont très "bruitées". Une autre transformation est envisagée par la fonction smooth.spline pour différentes valeurs d’un paramètre spar.

Q Quelle est cette transformation ? Quel est le rôle du paramètre spar ?


In [5]:
lsm=function(y,spar) {
n <- nrow(y)
p <- ncol(y)
ychap <- y
for(i in 1:n) {
ychap[i, ] <- smooth.spline(1:p,y[i, ],spar=spar)$y
}
ychap
}

Exécuter le lissage pour différentes valeurs du paramètres et représenter une des séries des cours pour illusrer l'effet du paramètre de lissage.


In [6]:
# lissages
sm01.lparis0=lsm(lparis0,0.1)
sm04.lparis0=lsm(lparis0,0.4)
sm08.lparis0=lsm(lparis0,0.8)
sm1.lparis0=lsm(lparis0,1)
# graphe
ts.plot(t(rbind(lparis0[100,],sm01.lparis0[100,],sm04.lparis0[100,],sm08.lparis0[100,])),col=1:4,lwd=2)
legend("bottomleft",legend=c("spar=0","spar=0.1","spar=0.4", "spar=0.8"),col=c(1:4),pch="_")


Analyse en composantes principales

Le calcul d’une analyse en composantes principales nécessite, ou non, une autre transformation préalable des données. Que représente le graphique ci-dessous? Jugez-vous nécessaire cette autre transformation?


In [7]:
boxplot(lparis0)


ACP réduite ou non ?

Comparer les résultats ci-dessous.


In [8]:
# Acp non réduite
pca=princomp(lparis0)
plot(pca)



In [ ]:
biplot(pca)

In [ ]:
# ACP réduite
pcar=princomp(lparis0,cor=TRUE)

Q La fonction princomp de R fournit les résultats ci-dessous. Que valent les 3 premières valeurs propres de l’ACP des séries boursières?


In [ ]:
print(pcar)

In [ ]:
plot(pcar)

In [ ]:
biplot(pcar)

Q A l'aide des deux biplots des ACP réduites et non réduites, expliquer la grande similitude entre les deux représentations des individus et la différence entre celles des variables ?

Quel lissage?

Le choix du paramètre de lissage est basée sur les résultats de l'analyse en composantes principales.

Q Que représentent les graphiques ci-dessous. Quelles décisions suggèrent-ils pour le choix du nombre de composantes et celui de la valeur de spar (justifier) ?


In [ ]:
par(mfcol=c(2,2))
plot(princomp(lparis0,cor=TRUE))
plot(princomp(sm04.lparis0,cor=TRUE))
plot(princomp(sm08.lparis0,cor=TRUE))
plot(princomp(sm1.lparis0,cor=TRUE))

Q Les vecteurs "loadings" fournis par la fonction princomp de R sont les vecteurs propres de l’ACP. Combien sont-ils? De quelle matrice sont-ils les vecteurs propres? En utilisant une valeur de spar "optimale". Que sont les courbes ci-dressous.


In [ ]:
pcars=princomp(sm08.lparis0,cor=TRUE)
plot.ts(pcars$loadings[,1:6],main="Fonctions propres")

Tracé de 4 cours remarquables avec un lissage "optimal".


In [ ]:
ts.plot(t(sm08.lparis0[c("Somfy","Fala","Billon","Trigano"),]),gpars=list(col=c(1:4)),lwd=2)
legend("bottomleft",legend=c("Somfy","Fala","Billon","Trigano"),col=c(1:4),pch="_")

Q S'aider de ces deux derniers graphes pour interpréter, ci-dessous, les 3 premiers axes factoriels de l'ACP lissée. Mettre en relation ces interprétations avec les séries des 4 cours remarquables.


In [ ]:
biplot(princomp(sm08.lparis0))

Q A partir des représentations précédentes, commenter les cours des actions (sans interprétation économique) de Somfy, Fala, Billon, Trigano.

MDS ou ACP de distances

Q Comparer la représentation de l'ACP avec celle du positionnement multidimensionnel (MDS) ou ACP du tableau des distances. Pourquoi sont-elles si comparables?


In [ ]:
# centrage et réduction des variables temporelles
actions=scale(sm08.lparis0)
dN=dimnames(lparis0)[[1]]
# distances euclidiennes
d=dist(actions)
# MDS
mdparis= cmdscale(d, k=3)
plot(mdparis, type="n", xlab="", ylab="",main="")
text(mdparis,dN)
abline(v=0,h=0)

Classification des cours

Classification ascendante hiérarchique

Attention, il est important en classification de calculer à partir des variables réduites car cette transformation n'est pas implicite.

Q On s’intéresse à la classification des entreprises en considérant les distances euclidiennes usuelles entre leurs cours. Quelle méthode ? Quel est le graphique ci-dessous ? Que signifie l'option ward.D?


In [ ]:
# CAH
hc.d = hclust(d,method="ward.D")
# dendrogramme
plot(hc.d,main="")

Q Que représente le graphe ci-dessous ? Comment l’interpréter ?


In [ ]:
plot(hc.d$height[252 :240],type="b")

Fixer le nombre de classes et couper l'arbre.


In [ ]:
classif.6a = cutree(hc.d,k=6)
# actions de la 2ème classe
names(classif.6a[classif.6a==2])

Représenter avec des couleurs dans les coordonnées du MDS.


In [ ]:
coul = classif.6a
mds=cmdscale(d,k=3)
# avec les noms des actions
plot(mds, type="n",xlab="Dim1",ylab="Dim2")
text(mds,dN,col=coul)

In [ ]:
# avec des points
plot(mds, type="p",col=coul,pch=19,cex=1,xlab="Dim1", ylab="Dim2", main="")

Algorithme de réallocation

Q Que réalise la commande ci-dessous?


In [ ]:
km.actions=kmeans(actions,centers=6)

Q La table ci-dessous croise (table de contingence) les classes obtenues par la commande précédente avec celle précédente. Que dire de la comparaison entre ces deux typologies?


In [ ]:
table(classif.6a,km.actions$cluster,dnn=c("cah","kmeans"))

Q Au lieu d’être initialisé de façon aléatoire, l’algorithme kmeans est initialisé à partir des barycentres des classes de la classification précédente. La comparaison de cette nouvelle classification donne le résultat ci-dessous. Commentaire. Que dire de la convergence de l’algorithme kmeans?


In [ ]:
# matrice nulle
mat.init.km.actions=matrix(nrow=6,ncol=120)
# calcul des barycentres des classes 
for (i in 1 :6) 
   mat.init.km.actions[i,]=apply(actions[classif.6a==i,],2,mean)
# kmeans après initialisation 
# par les barycentres
km.actions.init=kmeans(actions,centers=mat.init.km.actions)
# comparaisons des classifications
table(classif.6a,km.actions.init$cluster,dnn=c("cah","kmeans2"))

Q Comparer le graphe ci-dessous avec celui précédent. Pourquoi cette dernière classification est retenue.


In [ ]:
coul1 = km.actions.init$cluster
plot(mds, type="n", xlab="Dim1",ylab="Dim2", main="")
text(mds,dN,col=coul1)

Il est possible d'obtenir les représentations dans les autres plans :


In [ ]:
plot(mds[,c(1,3)], type="p",col=coul1,cex=1, xlab="Dim1", ylab="Dim3", main="")

Mais celle-ci n'apporte pas grand chose pour la représentation des classes qui se discriminent bien dans le premier plan.

Un graphique permet de représenter la bonne homogénéité des classes de courbes.


In [ ]:
klasse=km.actions.init$cluster
par(mfcol=c(2,3))
ts.plot(t(sm08.lparis0[klasse==1,]),ylim=c(-3,3),col=1)
ts.plot(t(sm08.lparis0[klasse==2,]),ylim=c(-3,3),col=2)
ts.plot(t(sm08.lparis0[klasse==3,]),ylim=c(-3,3),col=3)
ts.plot(t(sm08.lparis0[klasse==4,]),ylim=c(-3,3),col=4)
ts.plot(t(sm08.lparis0[klasse==5,]),ylim=c(-3,3),col=5)
ts.plot(t(sm08.lparis0[klasse==6,]),ylim=c(-3,3),col=6)

Ainsi que les moyennes des classes.


In [ ]:
ts.plot(cbind(apply(sm08.lparis0[klasse==1,],2,mean),
   apply(sm08.lparis0[klasse==2,],2,mean),
   apply(sm08.lparis0[klasse==3,],2,mean),
   apply(sm08.lparis0[klasse==4,],2,mean),
   apply(sm08.lparis0[klasse==5,],2,mean),
   apply(sm08.lparis0[klasse==6,],2,mean)),
   ylim=c(-2,2),col=1:6,lwd=2)

Q Interpréter les classes obtenues.