(* ::Package:: *) (************************************************************************) (* This file was generated automatically by the Mathematica front end. *) (* It contains Initialization cells from a Notebook file, which *) (* typically will have the same name as this file except ending in *) (* ".nb" instead of ".m". *) (* *) (* This file is intended to be loaded into the Mathematica kernel using *) (* the package loading commands Get or Needs. Doing so is equivalent *) (* to using the Evaluate Initialization Cells menu command in the front *) (* end. *) (* *) (* DO NOT EDIT THIS FILE. This entire file is regenerated *) (* automatically each time the parent Notebook file is saved in the *) (* Mathematica front end. Any changes you make to this file will be *) (* overwritten. *) (************************************************************************) (* par Marcel D\[EAcute]l\[EGrave]ze *) BeginPackage["Statistique`"] diagrammeBatons::usage= "diagrammeBatons[c_List, f_List] graphique des fr\[EAcute]quences sous la forme de b\[AHat]tons\nc est la liste des valeurs de la variable discr\[EGrave]te\nf est la liste des fr\[EAcute]quences correspondantes.\nOn peut rajouter une ou plusieurs options graphiques: diagrammeBatons[c_List, f_List, opt_]." diagrammeCumulatif::usage= "diagrammeCumulatif[c_List, f_List] graphique des fr\[EAcute]quences cumul\[EAcute]es sous la forme d'un escalier\nc est la liste des valeurs de la variable discr\[EGrave]te\nf est la liste des fr\[EAcute]quences correspondantes, non cumul\[EAcute]es.\nOn peut rajouter une ou plusieurs options graphiques: diagrammeCumulatif[c_List, f_List, opt]." fctFrequenceCumulee::usage= "fctFrequenceCumulee[b_List, f_List, x_] valeur en x de la fonction fr\[EAcute]quence cumul\[EAcute]e\nb est la liste des bornes des classes de la variable discr\[EGrave]te\nf est la liste des fr\[EAcute]quences correspondantes." amplitudes::usage= "amplitudes[b_List] liste des amplitudes des classes\nb est la liste des bornes des classes." sommesCumulees::usage= "sommesCumulees[f_List] produit la liste des sommes cumul\[EAcute]es de f\nqui d\[EAcute]bute par 0." densites::usage= "densites[b_List,f_List] liste des densit\[EAcute]s de chaque classe\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences des classes." fctDensite::usage= "fctDensite[b_List, f_List, x_] valeur en x de la fonction densit\[EAcute] (histogramme)\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences correspondantes." noeudsPolygonaux::usage= "noeudsPolygonaux[u_List] liste des abscisses du polygone de densit\[EAcute]." frequenceCumuleeContinue::usage= "frequenceCumuleeContinue[b_List, f_List] graphique des fr\[EAcute]quences cumul\[EAcute]es sous la forme d'une ligne polygonale\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences correspondantes, non cumul\[EAcute]es.\nOn peut rajouter une ou plusieurs options graphiques: frequenceCumuleeContinue[b_List, f_List, opt]." histogramme::usage= "histogramme[b_List, f_List] graphique de la densit\[EAcute] la forme de rectangles\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences correspondantes.\nOn peut rajouter une ou plusieurs options graphiques: histogramme[b_List, f_List, opt]." polygoneDeDensite::usage= "polygoneDeDensite[b_List, f_List] graphique de la densit\[EAcute] la forme d'une ligne polygonale\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences correspondantes.\nOn peut rajouter une ou plusieurs options graphiques: polygoneDeDensite[b_List, f_List, opt]." densiteContinue::usage= "densiteContinue[b_List, f_List, x_] valeur en x de la fonction densit\[EAcute] (polygone de densit\[EAcute])\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences correspondantes." distributionContinue::usage= "distributionContinue[b_List, f_List, x_] valeur en x de la fonction fr\[EAcute]quence cumul\[EAcute]e (interpolation lin\[EAcute]aire)\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences correspondantes, non cumul\[EAcute]es." frequenceCumuleeLissee::usage= "frequenceCumuleeLissee[b_List,f_List] graphique des fr\[EAcute]quences cumul\[EAcute]es sous la forme d'une ligne polygonale\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences correspondantes, non cumul\[EAcute]es.\nOn peut rajouter une ou plusieurs options graphiques: frequenceCumuleeLissee[b_List, f_List, opt]." distributionLissee::usage="distributionLissee[b_List, f_List, x_] valeur en x de la fonction fr\[EAcute]quence cumul\[EAcute]e liss\[EAcute]e (du 2-\[EGrave]me degr\[EAcute] par morceaux)\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences correspondantes, non cumul\[EAcute]es." quantileC::usage= "quantileC[b_List, f_List, q_] quantile en q via les fr\[EAcute]quences cumul\[EAcute]es continues (interpolation lin\[EAcute]aire)\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences non cumul\[EAcute]es." quantileLisse::usage= "quantileC[b_List, f_List, q_] quantile en q via les fr\[EAcute]quences cumul\[EAcute]es liss\[EAcute]es (polygone de densit\[EAcute])\nb est la liste des bornes des classes de la variable continue\nf est la liste des fr\[EAcute]quences non cumul\[EAcute]es." StandardDeviationMLE::usage= "StandardDeviationMLE[data_] calcule l'\[EAcute]cart-type de donn\[EAcute]es brutes (\[EAcute]chantillon)." VarianceMLE::usage= "VarianceMLE[data_] calcule la variance de donn\[EAcute]es brutes (\[EAcute]chantillon)." InterpolatedQuantile::usage= "InterpolatedQuantile[data_List, q_] calcule le quantile interpol\[EAcute] lin\[EAcute]airement." Begin["`Private`"] (* Initialisations *) Needs["BarCharts`"] sommesCumulees[f_List]:=Prepend[Accumulate[f],0] fctConst[x_List, y_List,t_]:=Module[{i}, Piecewise[Table[{y[[i]], x[[i]]<=tBlack, AxesOrigin->{c0,0},AspectRatio->0.6,ImageSize->{400,240}]] fctFrequenceCumulee[c_List,f_List, t_]:=fctConst01[c,Accumulate[f],t] diagrammeCumulatif[c_List,f_List, opt__:{}]:=Module[{v,fc,i}, v[0]:=8/7 Min[c]-1/7 Max[c]; Do[v[i_]:=c[[i]],{i,1,Length[c]}]; v[Length[c]+1]:=8/7 Max[c]-1/7 Min[c]; fc[0]=0; Do[fc[i_]:=Accumulate[f][[i]],{i,1,Length[f]}]; Graphics[{AbsoluteThickness[2],Table[Line[{{v[i],fc[i]},{v[i+1],fc[i]}}],{i,0,Length[c]}],AbsolutePointSize[5],Table[Point[{v[i],fc[i]}],{i,1,Length[c]}]},opt, AspectRatio->0.6, Axes->True, AxesOrigin->{v[0],0}, ImageSize->{400,240}]] (* Distributions continues *) amplitudes[u_List]:=Drop[u,1]-Drop[u,-1] densites[u_List,f_List]:=f/amplitudes[u] noeudsPolygonaux[u_List]:=Module[{c,k},k=Length[u];c=u[[3]]-u[[2]];Join[{2*u[[1]]-u[[2]]+c/2,u[[2]]-c/2},(Take[u,{3,-2}]+Take[u,{2, -3}])/2,{u[[k-1]]+c/2,2*u[[k]]-u[[k-1]]-c/2}]] frequenceCumuleeContinue[b_List,f_List, opt__:{}]:=Module[{b0, bm, entree}, b0=8/7 Min[b]-1/7 Max[b]; bm=8/7 Max[b]-1/7 Min[b]; entree=Append[Transpose[{b,sommesCumulees[f]}],{bm,1}]; ListLinePlot[entree,opt, AxesOrigin->{b0,0},PlotStyle->Black,AspectRatio->0.6, ImageSize->{400,240}]] histogramme[b_List,f_List, opt__:{}]:=Module[{centres, ampl, entree}, centres=1/2 (Drop[b,1]+Drop[b,-1]); ampl=Drop[b,1]-Drop[b,-1]; entree=Transpose[{centres,f/ampl,ampl}]; GeneralizedBarChart[entree,opt, BarStyle->GrayLevel[0.85] ,AspectRatio->0.6, ImageSize->{400,240}]] polygoneDeDensite[b_List, f_List, opt__:{}]:= Module[{b0, bm,x},b0=First[noeudsPolygonaux[b]]; bm=Last[noeudsPolygonaux[b]];entree=Transpose[{noeudsPolygonaux[b],Join[{0},densites[b,f],{0}]}]; ListLinePlot[entree,opt,AxesOrigin->{b0,0},PlotStyle->Black, AspectRatio->0.6,ImageSize->{400,240}]] fctDensite[u_List,f_List,t_]:=fctConst[u,densites[u,f],t] densiteContinue[u_List,f_List, t_]:=fctLin[noeudsPolygonaux[u], Join[{0},densites[u,f],{0}], t] indice[u_List,x_]:=Module[{j},k=Length[u];j=1;While[(j<=k)\[And](x>=u[[j]]),j++];j-1] distributionContinue[b_List, f_List,t_]:=fctLin01[b,sommesCumulees[f],t] distributionLissee[u_List,f_List,x_]:=Module[{w,j},w=noeudsPolygonaux[u];j=indice[w,x];Which[x100,AxesOrigin->{b0,0},PlotStyle->Black, ImageSize->{400,240}]] quantileC[b_List,f_List,q_]:=Module[{i},i=1; While[(distributionContinue[b,f,b[[i]]]-q) (distributionContinue[b,f,b[[i+1]]]-q)>0, i=i+1]; b[[i]]+1/f[[i]] ((q-distributionContinue[b,f,b[[i]]])amplitudes[b][[i]])] quantileLisse[b_List,f_List,q_]:=Module[{r,s,m}, r=First[b]; s=Last[b]; While[N[r]