gamma(\(x\)),
lgamma(\(x\)),
digamma(\(x\))=psigamma(\(x\), deriv=0),
trigamma(\(x\))=psigamma(\(x\), deriv=1),
psigamma(\(x\), deriv=) :
x est un nombre. Ces commandes affichent respectivement la valeur en x de la fonction spéciale Gamma
\(\Gamma(x)\), son logorarithme naturel, la dérivée première de ce dernier, la dérivée seconde et des autres dérivées en fonction de l’option
deriv= qui peut être égale à 0, 1, 2, 3 ou 4.
Commandes et procédures relatives aux lois Gamma.
dgamma(\(x\), shape=, rate=, scale=1/rate, log=),
pgamma(\(x\), shape=, rate=, scale=1/rate, lower.tail=, log.p=),
qgamma(\(q\), shape=, rate=, scale=1/rate, lower.tail=, log.p=),
rgamma(\(n\), shape=, rate=, scale=1/rate) :
Soit \(X\) une v.a. de loi Gamma \({\cal GA}(\alpha\ ;\ \beta)\). Dans toutes les commandes précédentes il faut indiquer
shape=\(\alpha\) et rate=\(\beta\) (1 par défaut) ou scale=1/rate. Elles donnent successivement \(f(x)\) ou son logarithme
si log=TRUE, \(P(X \leq x)\) si lower.tail=TRUE ou son logarithme si log.p=TRUE, le quantile d’ordre \(q\) si
lower.tail=TRUE ou son logarithme si log.p=TRUE et une simulation d’un \(n\)-échantillon de \(X\).
Les commandes suivantes permettent de créer le graphique Fig. 1 des densités de plusieurs lois
Gamma : \({\cal L}(X)={\cal GA}(1\ ;\ 0,3),\ {\cal L}(X)={\cal GA}(2\ ;\ 0,3),\ {\cal L}(X)={\cal GA}(2\ ;\ 0,6)\) et \({\cal L}(X)={\cal GA}(8\ ;\ 0,6)\).
plot(
function(x)
dgamma(x,shape=1,rate=.3),0 , 30,
xlab="x",
ylab="y",
main="Fig. 1. Densités Gamma.",col="blue");
curve(
dgamma(x,shape=2,rate=.3),
add=TRUE,
col="red");
curve(
dgamma(x,shape=2,rate=.6),
add=TRUE,
col="green4");
curve(
dgamma(x,shape=8,rate=.6),
add=TRUE,
col="orange")
legend(
x="topright",
y=NULL,
text.col=
c("blue","red","green4","orange"),
legend=
c("alpha=1, beta=0,3","alpha=2, beta=0,3","alpha=2, beta=0,6","alpha=8, beta=0,6"));
GammaTestBilateralBeta0(\(a_0,\ b_0,\ n,\ \alpha\)).
C’est une procédure qui nous permet de mettre en œuvre, pour une loi de Gamma, le test : \({\cal H}_0=\lbrace b=b_0\rbrace\ \) contre \(\ {\cal H}_1=\lbrace b\not=b_0\rbrace\). Outre
\(a_0\) et \(b_0\), il faut indiquer la taille de l’échantillon \(n\) et le seuil de signification \(\alpha\). La procédure balaie tous les intervalles d’acceptation possibles pour trouver
l’unique solution optimale. Elle utilise les commandes abs,
cat,
pgamma,
qgamma,
if et
while.
GammaPuissBilateralBeta0(\(b,\ a_0,\ b_0,\ n,\ \alpha\), Resul).
C’est une procédure qui nous donne la puissance du test \({\cal H}_0=\lbrace b=b_0\rbrace\ \) contre \(\ {\cal H}_1=\lbrace b\not=b_0\rbrace\) pour une loi Gamma. Les objets à donner sont
\(b\), le ou les points où la puissance doit être calculée ; \(a_0\) et \(b_0\) sont les paramètres de la loi sous \({\cal H}_0\) ; \(n\) est la taille de l’échantillon ;
\(\alpha\) le seuil correspondant. La variable Resul contient le résultat du calcul. Les valeurs critiques du test sont calculées avec les mêmes commandes que celles de la procédure du test
GammaTestBilateralBeta0, puis la puisssance est calculée. La procédure utilise les commandes
abs,
pgamma,
qgamma,
for,
if,
length,
return,
round et
while.
Les commandes suivantes permettent de créer le graphique de l’Exemple 2 concernant le test
\({\cal H}_0=\lbrace b=1 \rbrace\ \) contre \(\ {\cal H}_1=\lbrace b\not=1\rbrace\) pour une loi Gamma :
plot(
function(x)
GammaPuissBilateralBeta0(x,2,1,25,0.05,resul),0.5,2,
xlab="beta",
ylab="pu",
ylim=
c(-0.02,1.02),
main="Fig 2. Fonctions puissances",
col="royalblue4");
curve(
GammaPuissBilateralBeta0(x,2,1,40,0.05),
add=TRUE,
col="chartreuse4");
legend(
x="right",
y=NULL,
legend=
c("pu25","pu40"),
text.col=
c("royalblue4","chartreuse4"));
x0=c(1,0,1.282479,0,1.444513,0);
y0=c(0,0.05,0,0.4025584,0,.9071102);
x1=c(1,1,1.282479,1.282479,1.444513,1.444513);
y1=c(0.05,0.05,0.4025584,0.4025584,0.9071102,0.9071102);
segments(x0,y0,x1,y1,
col="red");
points(
x=c(1,1.282479,1.444513),
y=c(0.05,0.4024584,0.9071102),
col="red",pch=16);
Commandes et procédures relatives aux lois de Gumbel.
GumbelDensite (x, lambda, delta, Resul):
où x est un nombre réel, lambda le paramètre de position, delta le paramètre d’echelle et Resul contient le résultat f(x), densité au point x de la loi de Gumbel. Le calcul
est direct en untilisant la définition de cette loi. Cette procédure utilise les commandes function
et exp.
Les commandes suivantes permettent de créer le graphique Fig. 1 des densités des lois
de Gumbel : \({\cal GU}(1\ ;\ 1)\), \({\cal GU}(2\ ;\ 1)\) et \({\cal GU}(1,5\ ;\ 2)\).
plot(
function(x)
GumbelDensite(x,
l=1,
d=1,
Resul),-2,10,
main="Fig. 1. Densités de Gumbel.",
xlab="x",
ylab="y",
col="blue");
segments(1,0,1,
GumbelDensite(1,
l=1,
d=1),
lty="dotted",
col="blue");
curve(
GumbelDensite(x,
l=2,
d=1,
Resul),
add=TRUE,
col="red");
segments(2,0,2,
GumbelDensite(2,
l=2,
d=1),
lty="dotted",
col="red");
curve(
GumbelDensite(x,
l=1.5,
d=2,
Resul),
add=TRUE,
col="green4");
segments(1.5,0,1.5,
GumbelDensite(1.5,
l=1.5,
d=2),
lty="dotted",
col="green4");
legend(
x="topright",
y=NULL,
text.col=
c("blue","red","green4"),
legend=
c("lambda=1 ; delta=1","lambda=2 ; delta=1","lambda=1.5 ; delta=2"));