Le test F de Fisher-Snedecor

add

Ronald Aylmer Fisher (à gauche) et Georde Waddell Snedecor (à droite)

\bullet Historique:

\begin{tabular}{|l|c|c|} \hline Bloc & 12/05/2013-V1 & 04/06/2019-V2 \\ \hline Historique &  & Cr\'eation \\ \hline Sommaire &  & Cr\'eation \\ \hline Pr\'esentation & Cr\'eation & MAJ \\ \hline Les diff... versions du test & Cr\'eation: Le test & Test de conformit\'e, Morgan-Pitman, calcul p-valeurs \\ \hline Tendance lorsque... & Cr\'eation & MAJ \\ \hline Annexe th\'eo... & Cr\'eation & Loi de la variance, d\'emonstration loi de Fisher-Snedecor \\ \hline Exemple & Cr\'eation & Cas \`a un \'echantillon et donn\'ees appari\'ees \\ \hline Appli... info... & Cr\'eation & Devient Appli... sous R \\ \hline Appli... sous SAS &  & Cr\'eation \\ \hline Bibliographie & Cr\'eation & MAJ \\ \hline \end{tabular}

\bullet Sommaire:

  • Présentation
  • Les différentes versions du test
    • Cas à un échantillon: test de conformité de la variance à un standard
      • La table de la loi du \chi ^2
      • Condition pour le rejet de H_0
      • Calcul de la p-valeur exacte
    • Cas à deux échantillons: comparaison des variances
      • La table de la loi de Fisher-Snedecor
      • Condition pour le rejet de H_0
      • Calcul de la p-valeur exacte
    • Cas à deux échantillons appariés: comparaison des variances
      • La table de la loi de Student
      • Condition pour le rejet de H_0
      • Calcul de la p-valeur exacte
  • Tendance lorsque n \rightarrow + \infty
  • Annexe théorique
    • Démonstration de la loi de distribution de la variance
    • Démonstration de la loi de distribution de la statistique de test F d’égalité des variances de Fisher-Snedecor
  • Exemples
    • Cas à un échantillon: test de conformité de la variance à un standard
    • Cas à deux échantillons: comparaison des variances
    • Cas à deux échantillons appariés: comparaison des variances
  • Application sous R
    • Cas à un échantillon: test de conformité de la variance à un standard
    • Cas à deux échantillons: comparaison des variances
    • Cas à deux échantillons appariés: comparaison des variances
  • Application sous SAS
    • Cas à un échantillon: test de conformité de la variance à un standard
    • Cas à deux échantillons: comparaison des variances
    • Cas à deux échantillons appariés: comparaison des variances
  • Bibliographie

\bullet Présentation:

Née en 1920 suite aux travaux de Ronald Aylmer Fisher et basé sur la table de distribution de George Waddell Snedecor, le test F d’égalité des variances de Fisher-Snedecor est une approche paramétrique permettant de:

– Comparer la variance d’une variable continue X à une constante c (portant également le nom de test de conformité de la variance à un standard) ;

– Tester pour X variable continue et Y variable binaire, si X|_{Y = g_1} et X|_{Y = g_2}, les sous-échantillons de X restreint aux groupes g_1 et g_2 de Y, ont même variance.

L’hypothèse d’utilisation que l’on soit dans le cas à un échantillon ou à deux échantillons est que X, X|_{Y = g_1} et X|_{Y = g_2} suivent chacun une loi normale. A noter que le test F de Fisher-Snedecor est le test de variance le moins robuste en l’absence de normalité.

Le test F d’égalité des variances de Fisher-Snedecor est aussi mis à contribution lors de l’utilisation du test de Morgan-Pitman permettant de déterminer si la variance d’une variable continue X mesurée en deux temps t_1 et t_2 est la même. Le test de Morgan-Pitman nécessite alors que X ^{t_1}, X ^{t_2} suivent une loi normale puisque basé sur la statistique F.

\bullet Les différentes versions du test:

Cas à un échantillon: test de conformité de la variance à un standard

Hypothèse préliminaire: X continue, normalité de la distribution.

Soit X variable aléatoire de variance \sigma_X ^2 et de taille n. On cherche à vérifier si \sigma_X ^2 = \sigma_0 ^2, la constante fixée à laquelle on veut se comparer. La formule de la statistique de test F de Fisher-Snedecor pour un échantillon est alors:

F = \frac{n - 1}{S_0 ^2} S_X ^2

Avec,

S_X  ^2= \sigma_X ^2 si \sigma_X ^2 connue ;

S_X ^2 = \frac{n}{n - 1} \sigma_X ^2, la variance corrigée, sinon.

La statistique de test suit alors une loi du \chi ^2 à n-1 degrés de liberté et l’hypothèse H_0 est:

La variance est égale au standard / \sigma_X ^2 = \sigma_0 ^2

Avec \chi_{n-1,1-\alpha} ^2 la valeur seuil de la distribution de la statistique de test F pour une confiance \alpha et pour n-1 degrés de liberté, les hypothèses alternatives sont alors,

H_1: \sigma_X ^2 < \sigma_0 ^2, soit F \geq \chi_{n-1,1-\frac{\alpha}{2}} ^2, pour un test unilatéral à droite ;

H_1: \sigma_X ^2 > \sigma_0 ^2, soit F \leq \chi_{n-1,\frac{\alpha}{2}} ^2, pour un test unilatéral à gauche ;

H_1: \sigma_X ^2 \neq \sigma_0 ^2, soit F \notin [\chi_{n-1,1-\frac{\alpha}{2}} ^2,\chi_{n-1,\frac{\alpha}{2}} ^2], pour un test bilatéral.

La table de la loi du \chi ^2:
add.png

Condition pour le rejet de H_0:

La statistique de test F se base sur un ratio variance de X sur standard S_0 ^2 auquel se comparer. Afin de rejeter H_0 il faut que le ratio soit le plus éloigné possible de 1, soit que F \rightarrow 0 ou \rightarrow + \infty. Ce qui implique que \sigma_X ^2 et \sigma_0 ^2 soient logiquement les plus différentes possibles.

Calcul de la p-valeur exacte:

La loi à laquelle reporter la statistique de test F dans la version à un échantillon est celle du \chi ^2 à n-1 degrés de liberté. Par conséquent,

– Dans le cas bilatéral:

p = P(F_{obs} > \chi_{n-1,1-\alpha} ^2) = 2 \times (1 - \frac{\gamma(\frac{n-1}{2},\frac{F_{obs}}{2})}{\Gamma(\frac{n-1}{2})})

– Dans le cas unilatéral à droite:

p = P(F_{obs} > \chi_{n-1,1-\alpha} ^2) = \frac{\gamma(\frac{n-1}{2},\frac{F_{obs}}{2})}{\Gamma(\frac{n-1}{2})}

– Dans le cas unilatéral à gauche:

p = P(F_{obs} > \chi_{n-1,1-\alpha} ^2) = 1 - \frac{\gamma(\frac{n-1}{2},\frac{F_{obs}}{2})}{\Gamma(\frac{n-1}{2})}

, avec \Gamma(.) la fonction gamma et \gamma(.,.) la fonction gamma incomplète de formule:

\gamma(\frac{n-1}{2},\frac{F_{obs}}{2}) = \sum_{k = 0} ^{\infty} \frac{(-1) ^k (\frac{F_{obs}}{2}) ^{\frac{n-1}{2} + k}}{k! (\frac{n-1}{2} + k)}

Cas à deux échantillons: comparaison des variances

Hypothèse préliminaire: X continue, Y binaire, normalité des distributions.

Soient \sigma_1 ^2 et \sigma_2 ^2 les variances associées, respectivement, aux variables X|_{Y = g_1} de taille n_1 et X|_{Y = g_2} de taille n_2. La statistique du test F d’égalité des variances de Fisher-Snedecor vaut:

F = \left\{ \begin{array}{ll} \frac{S_1 ^2}{\S_2 ^2} \mbox{ si } S_1 ^2 \geq S_2 ^2 \\ \frac{S_2 ^2}{S_1 ^2} \mbox{ sinon} \end{array} \right.

Avec,

S_1 ^2 = \sigma_1 ^2 et S_2 ^2 = \sigma_2 ^2 si \sigma_1 ^2, \sigma_2 ^2 sont connues ;

S_1 ^2 = \frac{n_1}{n_1 - 1} \sigma_1 ^2, S_2 ^2 = \frac{n_2}{n_2 - 1} \sigma_2 ^2, les variances corrigées, sinon.

Cette statistique est à comparer à la loi de Fisher-Snedecor de paramètres:

\left\{ \begin{array}{ll} F (n_1 - 1, n_2 - 1) & \mbox{si } S_1 ^2 \geq S_2 ^2 \\ F (n_2 - 1, n_1 - 1) & \mbox{sinon} \end{array} \right.

L’hypothèse H_0 est:

Égalité des variances / \sigma_1 ^2 = \sigma_2 ^2

On pose F_{N,1-\alpha} la valeur seuil de la distribution de la statistique de test F pour une confiance \alpha et de paramètres N = (n_1-1,n_2-1) si S_1 ^2 \geq S_2 ^2, N = (n_2-1, n_1-1) sinon. Les hypothèses alternatives sont alors,

H_1: \sigma_1 ^2 > \sigma_2 ^2, soit F \geq F_{N,1-\frac{\alpha}{2}}, pour un test unilatéral à droite ;

H_1: \sigma_1 ^2 < \sigma_2 ^2, soit F \leq F_{N,\frac{\alpha}{2}}, pour un test unilatéral à gauche ;

H_1: \sigma_1 ^2 \neq \sigma_2 ^2, soit F \notin [F_{N,1-\frac{\alpha}{2}},F_{N,\frac{\alpha}{2}}], pour un test bilatéral.

La table de la loi de Fisher-Snedecor:

add

Condition pour le rejet de H_0:

La statistique de test F se base sur un ratio des variances de X_{Y = g_1} et X_{Y = g_2}. Afin de rejeter H_0 il faut que le ratio soit le plus éloigné possible de 1, soit que F \rightarrow 0 ou \rightarrow +\infty. Ce qui implique que S_1 ^2, S_2 ^2 soient logiquement les plus différentes possibles.

Calcul de la p-valeur exacte:

La loi à laquelle reporter la statistique de test F d’égalité des variances de Fisher-Snedecor est celle de Fisher-Snedecor de paramètres N = (\frac{n_1-1}{2},\frac{n_2-1}{2}) si S_1 ^2 \geq S_2 ^2 ou N = (\frac{n_2-1}{2},\frac{n_1-1}{2}) sinon. Par conséquent, avec B(.,.) la fonction bêta et B(.,.,.) la fonction bêta incomplète,

– Dans le cas bilatéral:

p = P(F_{obs} > F_{N,1-\alpha}) = 2 \times (1 - \frac{B(z,N)}{B(N)})

– Dans le cas unilatéral à droite:

p = P(F_{obs} > F_{N,1-\alpha}) = 1 - \frac{B(z,N)}{BN)}

– Dans le cas unilatéral à gauche:

p = P(F_{obs} > F_{N,1-\alpha}) = \frac{B(z,N)}{B(N)}

Avec,

z = \frac{(n_1-1) F_{obs}}{(n_1-1) F_{obs} + (n_2-1)} si S_1 ^2 \geq S_2 ^2, z = \frac{(n_2-1) F_{obs}}{(n_2-1) F_{obs} + (n_1-1)} sinon ;

B(N) = \frac{\Gamma(\frac{n_1-1}{2}) \Gamma(\frac{n_2-1}{2})}{\Gamma(\frac{n_1 + n_2}{2} - 1)}, \forall S_1 ^2, S_2 ^2 ;

B(z;N) = z ^{\frac{n_1-1}{2}} (\frac{2}{n_1-1} + \sum_{k = 1} ^K \frac{\prod_{j = 1} ^k (j - (n_2-2))}{k ! (n_1-1 + k)} z ^k) si S_1 ^2 \geq S_2 ^2, B(z;N) = z ^{\frac{n_2-1}{2}} (\frac{2}{n_2-1} + \sum_{k = 1} ^K \frac{\prod_{j = 1} ^k (j - (n_1-2))}{k ! (n_2-1 + k)} z ^k) sinon. Cette formule converge assez rapidement pour K faible.

Cas à deux échantillons appariés: comparaison des variances

Publié en 1939 par Edwin James George Pitman et W. A. Morgan, le test de Morgan-Pitman est basé sur la statistique de test F de Fisher-Snedecor et permet de tester l’égalité des variances entre deux variables appariées X ^{t_1}, X ^{t_2} de taille n. A noter que ce test appartient également à la famille des tests paramétriques.

La formule du test de Morgan-Pitman est,

t = \frac{(F - 1) \sqrt{n - 2}}{2 \sqrt{F (1 - r_{t_1,t_2} ^2)}}

On retrouve la statistique de test F de Fisher-Snedecor et r_{t_1,t_2} le coefficient de corrélation de Pearson entre X ^{t_1}, X ^{t_2}.

La statistique de test de Pitman suit une loi de Student à n - 2 degrés de liberté et l’hypothèse H_0 est:

Égalité des variances / \sigma_{t_1} ^2 = \sigma_{t_2} ^2

Avec T_{n-2,1-\alpha} la valeur seuil de la distribution de la statistique de test t pour une confiance \alpha et pour n-2 degrés de liberté, les hypothèses alternatives sont alors,

H_1: \sigma_{t_1} ^2 < \sigma_{t_2} ^2, soit t \geq T_{n-2,1-\alpha}, pour un test unilatéral à droite ;

H_1: \sigma_1 ^2 > \sigma_2 ^2, soit t \geq T_{n-2,\alpha}, pour un test unilatéral à gauche ;

H_1: \sigma_1 ^2 \neq \sigma_2 ^2, soit |t| \geq T_{n-2,\frac{\alpha}{2}}, pour un test bilatéral.

La table de la loi de Student:add

Condition pour le rejet de H_0:

Le test de Morgan-Pitman suit une loi de Student, on rejettera l’hypothèse H_0 lorsque |t| \rightarrow +\infty. En d’autres termes, lorsque,

|t| = |\frac{(F - 1) \sqrt{n - 2}}{2 \sqrt{F (1 - r_{t_1,t_2} ^2)}}| \rightarrow \infty \Rightarrow \frac{1}{\sqrt{1 - r_{t_1,t_2} ^2}} \sqrt{F} \rightarrow \infty \Rightarrow F \rightarrow \infty ou r_{t_1,t_2} ^2 \rightarrow 1

Le test de Morgan-Pitman étant basé sur la statistique de test F de Fisher-Snedecor qui s’approche de 1 lorsque \sigma_{t_1} ^2 \approx \sigma_{t_2} ^2 et tend vers \infty lorsqu’ils diffèrent, on retrouve ici le fait que plus nos deux variances sont différentes et plus on a de chance de rejeter H_0.

Cependant, une autre condition est à prendre en compte, à savoir l’influence du coefficient de corrélation r_{t_1,t_2} ^2 qui reste indirecte. En effet, si r_{t_1,t_2} \rightarrow \pm 1 \Rightarrow X_{t_1} \approx \pm (a X_{t_2} + b) \Rightarrow \sigma_{t_1} ^2 \approx a ^2 \sigma_{t_2} ^2 + b ^2. En outre, ce n’est pas parce la corrélation est très forte entre X_{t_1} et X_{t_2} que leur variance est équivalente. En réalité, elle l’est uniquement pour le cas particulier: a = 1, b = 0. Cet objet joue alors de régulateur et donne au test de Pitman-Morgan sa caractéristique « appariée ».

Calcul de la p-valeur exacte:

La loi de distribution à laquelle reporter t est celle de Student. En prenant d le nombre de degrés de liberté et dépendant de n, B(z,\frac{1}{2},\frac{d}{2}) la fonction Bêta incomplète et B(\frac{1}{2},\frac{d}{2}) la fonction Bêta. Le calcul de la p-valeur associée à la statistique de test de Student est alors,

– Dans le cas bilatéral:

p = P(|t_{obs}| > T_{d,\frac{\alpha}{2}}) = 1 - \frac{B(z,\frac{1}{2},\frac{d}{2})}{B(\frac{1}{2},\frac{d}{2})}

– Dans le cas unilatéral à droite:

p = P(t_{obs} > T_{d,\alpha}) = \frac{1}{2} + \frac{1}{2} \frac{B(z,\frac{1}{2},\frac{d}{2})}{B(\frac{1}{2},\frac{d}{2})}

– Dans le cas unilatéral à gauche:

p = P(t_{obs} > T_{d,1-\alpha}) = \frac{1}{2} - \frac{1}{2} \frac{B(z,\frac{1}{2},\frac{d}{2})}{B(\frac{1}{2},\frac{d}{2})}

Avec,

z = \frac{\frac{t_{obs} ^2}{d}}{1 + \frac{t_{obs} ^2}{d}} ;

B(\frac{1}{2},\frac{d}{2}) = \frac{\Gamma(\frac{1}{2}) \Gamma(\frac{d}{2})}{\Gamma(\frac{1}{2} + \frac{d}{2})} = \sqrt{\pi}\frac{ \Gamma(\frac{d}{2})}{\Gamma(\frac{d + 1}{2})} ;

B(z;\frac{1}{2},\frac{d}{2}) = \sqrt{z} (2 + \sum_{k = 1} ^K \frac{\prod_{j = 1} ^k (j - \frac{d}{2})}{k ! (\frac{1}{2} + k)} z ^k), qui converge assez rapidement pour K faible.

\bullet Tendance lorsque n \longrightarrow \infty:

On s’intéresse désormais à la résistance du test F d’égalité des variances de Fisher-Snedecor au fur et à mesure que la taille d’échantillon croît. Nous fixons le ratio des deux variances à 1.1, soit un cas fictif correspondant à un écart particulièrement faible entre les deux variances que l’on compare. Le résultat attendu est forcément que quelque soit la taille de l’échantillon, on ne rejettera pas l’hypothèse H_0 d’égalité des variances. Le graphique ci-dessous montre l’évolution de la p-valeur p associée à la statistique de test F_{test} fixée lorsque n croît de 10 à 100 000 observations:

addbDe manière hâtive, on reste en adéquation avec l’hypothèse de construction de la statistique de test F de Fisher-Snedecor jusqu’à n = 714 (p > 20 \%). A partir de n = 1 183, on se forcera à rejeter H_0 avec un risque assez fort compris entre  20 \% et 5 \%. Enfin, à n = 2 914 la p-valeur passe en dessous des 1 \%.

Cette simulation montre que le test F de Fisher-Snedecor est atteint par la malédiction des grands échantillons et cela pour un nombre d’observations n assez faible.

\bullet Annexe théorique: 

Démonstration de la loi de distribution de la variance:

Par hypothèse d’utilisation de la statistique de test, X suit une loi normale de paramètre \mu_X, \sigma_X^2. On peut alors fixer (X_n)_{n \geq 1} une suite de variables aléatoires indépendamment et identiquement distribuées et de même loi normale N(\mu,\sigma ^2).

On a alors la dispersion,

S ^2 = \frac{1}{n-1} \sum_{i = 1} ^n (x_i - \overline{x}) ^2

\Rightarrow (n - 1) S ^2 = \sum_{i = 1} ^n (x_i - \overline{x}) ^2

= \sum_{i = 1} ^n x_i ^2 - 2 \sum_{i = 1} ^n x_i \cdot \overline{x} + n \overline{x} ^2

= \sum_{i = 1} ^n x_i ^2 - \frac{2}{n} \sum_{i = 1} ^n x_i \cdot \sum_{i = 1} ^n x_i + \frac{n}{n ^2} (\sum_{i = 1} ^n x_i) ^2

= \sum_{i = 1} ^n x_i ^2 - (\sum_{i = 1} ^n x_i) ^2 [\frac{2}{n} - \frac{1}{n}]

= \sum_{i = 1} ^n x_i ^2 - \frac{1}{n} (\sum_{i = 1} ^n x_i) ^2

= \sum_{i = 1} ^n x_i ^2 - n \overline{x} ^2

On applique alors la transformation d’Helmert via le changement de variable suivant:

u_1 = \frac{x_1 - x_2}{\sqrt{2}} ;

\forall i \in \lbrace 2, \cdots, n-1 \rbrace, u_i = \frac{\sum_{j = 1} ^i x_j - i x_{i+1}}{\sqrt{i \cdot (i + 1)}} ;

u_n = \frac{x_1 + x_2 + \cdots + x_n}{\sqrt{n}} \Rightarrow u_n ^2 = \frac{\sum_{i = 1} ^n + 2 \sum_{i \neq j} x_i x_j}{n} = n \frac{1}{n ^2} (\sum_{i = 1} ^n x_i) ^2 = n \overline{x} ;

On peut alors construire la matrice \mathbf{H} de la forme:

H_{i,j} = \frac{1}{\sqrt{i(i+1)}} si j \leq i ;

H_{i,j} = - \frac{1}{\sqrt{i(i+1)}} si j = i + 1 ;

H_{i,j} = 0 si j > i + 1 ;

Cette transformation est isométrique, soit que \sum_{i = 1} ^n x_i ^2 = \sum_{i = 1} ^n u_i ^2, d’où,

(n - 1) S ^2 = \sum_{i = 1} ^n x_i ^2 - n \overline{x} ^2 = \sum_{i = 1} ^n u_i ^2 - u_n ^2 = \sum_{i = 1} ^{n-1} u_i ^2

L’autre propriété de la transformation d’Helmert est que les variables aléatoires associées aux u_i sont indépendantes et suivent des lois normales centrées-réduites. Par conséquent, la variable (n-1) S^2 peut être vue comme suivant une loi du \chi ^2 à n-1 degrés de liberté.

Démonstration de la loi de distribution de la statistique de test F de Fisher-Snedecor:

Soient X variable aléatoire suivant une loi du \chi ^2 à d_1 degrés de liberté et de fonction de densité:

f(x) = \frac{1}{2 ^{\frac{d_1}{2}} \Gamma(\frac{d_1}{2})} x ^{\frac{d_1}{2} - 1} e ^{-\frac{x}{2}}

, et Y de même loi à d_2 degrés de liberté:

f(y) = \frac{1}{2 ^{\frac{d_2}{2}} \Gamma(\frac{d_2}{2})} y ^{\frac{d_1}{2} - 1} e ^{-\frac{y}{2}}

La statistique de test F de Fisher-Snedecor admet alors pour densité:

f(x,y) = f(x) f(y), puisque X et Y sont indépendants,

= \frac{2 ^{-\frac{d_1 + d_2}{2}}}{\Gamma(\frac{d_1}{2}) \Gamma(\frac{d_2}{2})} x ^{\frac{d_1}{2}-1} y ^{\frac{d_2}{2}-1} e ^{-\frac{x+y}{2}} définie sur \mathbb{R} ^+ ou valant 0 si x ou y ne l’est pas.

On pose maintenant F = \frac{d_2 X}{d_1 Y}, C = \frac{2 ^{-\frac{d_1 + d_2}{2}}}{\Gamma(\frac{d_1}{2}) \Gamma(\frac{d_2}{2})} et on définie la fonction borélienne bornée g: \mathbb{R} \rightarrow \mathbb{R}. On a alors,

E[g(F)] = C \int \int_{\mathbb{R} ^+ \times \mathbb{R} ^+} g(\frac{d_2 x}{d_1 y}) x ^{\frac{d_1}{2}-1} y ^{\frac{d_2}{2}-1} e ^{-\frac{x+y}{2}}dx dy

En appliquant le changement de variable suivant:

u = \frac{d_2 x}{d_1 y}, v = y

, dont le déterminant jacobien \frac{D(x,y)}{D(u,v)} = \frac{d_1}{d_2} v et l’avantage est de conserver le domaine d’intégration initial. Ainsi,

E(g(F)) = C \int \int_{\mathbb{R} ^+ \times \mathbb{R} ^+} g(u) (\frac{d_1}{d_2} uv) ^{\frac{d_1}{2}-1} v ^{\frac{d_2}{2}-1} e ^{-v (1+\frac{d_1}{d_2}u)} \frac{d_1}{d_2} v du dv

= C (\frac{d_1}{d_2}) ^{\frac{d_1}{2}} \int_0 ^{+ \infty} g(u) u ^{\frac{d_1}{2}-1} (\int_0 ^{+ \infty} v ^{\frac{d_1+d_2}{2}-1} e ^{-v (1 + \frac{d_1}{d_2} u)} dv)

On passe par un nouveau changement de variable,

t = 2 v (1 + \frac{d_1}{d_2} u) \Rightarrow dt = 2 dv

On obtient alors,

2 ^{- \frac{d_1 + d_2}{2}} (1 + \frac{d_1}{d_2} u) ^{- \frac{d_1 + d_2}{2}} \int_0 ^{+ \infty} t ^{\frac{d_1+d_2}{2}-1} e ^{-\frac{t}{2}} dt = 2 ^{- \frac{d_1 + d_2}{2}} (1 + \frac{d_1}{d_2} u) ^{- \frac{d_1 + d_2}{2}} 2 ^{d_1 + d_2} \Gamma(\frac{d_1 + d_2}{2})

D’où,

E[g(F))] = C (\frac{d_1}{d_2}) ^{\frac{d_1}{2}} 2 ^{\frac{d_1+d_2}{2}} \Gamma(\frac{d_1+d_2}{2}) \int_0 ^{+ \infty} g(u) u ^{\frac{d_1}{2}-1} (1 + \frac{d_1}{d_2} u) ^{- \frac{d_1 + d_2}{2}} du

\Rightarrow f_F (u) = (\frac{d_1}{d_2}) ^{\frac{d_1}{2}} \frac{\Gamma(\frac{d_1+d_2}{2})}{\Gamma(\frac{d_1}{2}) \Gamma(\frac{d_2}{2})} u ^{\frac{d_1}{2} - 1} (1 + \frac{d_1}{d_2} u) ^{- \frac{d_1 + d_2}{2}}, définie sur \mathbb{R} ^+ et valant 0 sinon.

, soit la fonction de densité d’une variable aléatoire suivant une loi de Fisher-Snedecor.

\bullet Exemples:

Cas à un échantillon: test de conformité de la variance à un standard

Soit la variable aléatoire X suivante:

\begin{tabular}{|c|} \hline X \\ \hline 0.8970 \\ \hline 2.0949 \\ \hline 3.0307 \\ \hline 4.0135 \\ \hline 5.0515 \\ \hline 6.0261 \\ \hline 6.9059 \\ \hline 7.9838 \\ \hline 8.9854 \\ \hline 9.9468 \\ \hline 11.1682 \\ \hline 11.9124 \\ \hline 12.9516 \\ \hline 13.9288 \\ \hline 14.8826 \\ \hline 15.9808 \\ \hline 16.9726 \\ \hline 18.1530 \\ \hline 18.9751 \\ \hline 19.8936 \\ \hline \end{tabular}

On cherche à savoir si la variance de X est statistiquement différente de la référence: \sigma_0 ^2 = 30. Ci-dessous, le boxplot (en gris) construit à partir de X (points noirs) permet de voir la fluctuation des données sur l’intervalle [0.897-19.8936].

add

On assumera ici le fait que X ne suit pas une loi normale étant donné qu’il s’agit d’un exemple d’application

La variance de X vaut: \sigma_X ^2 = 34.85584.

La valeur de la statistique de test est alors:

F_{obs} = \frac{20 - 1}{30} \times 34.85584 = 0.63333333 \times 34.85584 = 22.07536

On cherche à tester bilatéralement le rejet de l’hypothèse H_0. Sous cette approche, on génère une loi du \chi ^2 à 20 - 1 = 19 degrés de liberté et l’on reporte sur le graphe ci-dessous les valeurs seuils qui correspondent aux quantiles à 20 \%, 10 \%, 5 \% et 1 \% dans le cadre bilatéral,

addb

En se reportant aux valeurs de la table de la loi du \chi ^2 ci-dessus, on constate que,

F_{obs} = 22.07536 \in [\chi_{19,80 \%} ^2, \chi_{19,20 \%} ^2] = [11.65, 27.20]

Maintenant, on calcul la p-valeur exacte associée à la statistique de test F_{obs} du \chi ^2 dans le cadre bilatéral et pour 20 - 1 = 19 degrés de liberté,

p = 2 \times (1 -  \frac{\gamma(\frac{19}{2},\frac{22.07536}{2})}{\Gamma(\frac{19}{2})}) = 2 \times (1 - \frac{85828.33}{119292.5}) = 2 \times 0.2805218 = 0.56104 > 5 \%

On ne pourra pas rejeter H_0 au risque de 20 \% et on en conclut que \sigma_X ^2 = 30 au sens statistique du terme.

Cas à deux échantillons: comparaison des variances

Soit la variable aléatoire X distribuée selon les deux groupes \lbrace A, B \rbrace d’une variable Y:

\begin{tabular}{|c|c|} \hline Y & X \\ \hline A & 3.1101 \\ \hline A & 4.1008 \\ \hline A & 4.7876 \\ \hline A & 7.0677 \\ \hline A & 6.0858 \\ \hline A & 4.9309 \\ \hline A & 4.0449 \\ \hline A & 3.0101 \\ \hline A & 5.9495 \\ \hline A & 6.8729 \\ \hline B & 1.0898 \\ \hline B & 1.9868 \\ \hline B & 2.9853 \\ \hline B & 10.0080 \\ \hline B & 8.9052 \\ \hline B & 8.0411 \\ \hline B & 2.0826 \\ \hline B & 1.0536 \\ \hline B & 9.0649 \\ \hline B & 10.0826 \\ \hline \end{tabular}

Ci-dessous, les boxplots des distributions de X restreint au groupe « A » (en vert) et au groupe « B » (en rouge) permet de voir que visuellement les variances des deux échantillons sont différentes.

add

On assumera ici le fait que X restreint au groupe A et au groupe B ne suivent pas une loi normale étant donné qu’il s’agit d’un exemple d’application

Pour les deux sous-échantillons X|_{Y = A}, X|_{Y = B}, on observe les variances suivantes:

\sigma_1 ^2 = 2.129509

\sigma_2 ^2 = 15.73774

Comme \sigma_2 ^2 > \sigma_1 ^2, la statistique de test vaut:

F = \frac{15.73774}{2.129509} = 7.390314

On cherche à tester bilatéralement le rejet de l’hypothèse H_0. Sous cette approche, on génère une loi du Fisher-Snedecor à (10 - 1, 10 - 1) = (9,9) degrés de liberté et l’on reporte sur le graphe ci-dessous les valeurs seuils qui correspondent aux quantiles à 20 \%, 10 \%, 5 \% et 1 \% dans le cadre bilatéral,

add2En se reportant aux valeurs de la table de la loi de Fisher-Snedecor ci-dessus, on constate que,

F_{obs} = 7.390314 \notin [F_{19,99 \%} ^2, F_{19,1 \%} ^2] = [0.15, 6.54]

Maintenant, on calcul la p-valeur exacte associée à la statistique de test F_{obs} de Fisher-Snedecor dans le cadre bilatéral et pour le couple de degrés de liberté(10 - 1,10-1) = (9,9). Dans un premier temps on applique la transformation,

z = \frac{9 \times 7.390314}{9 \times 7.390314 + 9} = \frac{66.51283}{75.51283} = 0.880815

On calcul ensuite la p-valeur,

p = 2 \times (1 -  \frac{B(0.880815,\frac{9}{2},\frac{9}{2})}{B(\frac{9}{2},\frac{9}{2})})

= 2 \times (1 - \frac{0.003344754}{0.003355583})

= 2 \times 0.00322257159

= 0.006454318 < 5 \%

On pourra rejeter H_0 au risque de 5 \% et on en conclut que \sigma_1 ^2 \neq \sigma_2 ^2 au sens statistique du terme.

Cas à deux échantillons appariés: comparaison des variances

Soit l’échantillon apparié (X ^{t_1}, X ^{t_2}) suivant,

\begin{tabular}{|c|c|} \hline T1 & T2 \\ \hline 3.1101 & 0.8970 \\ \hline 4.1008 & 2.0949 \\ \hline 4.7876 & 3.0307 \\ \hline 7.0677 & 4.0135 \\ \hline 6.0858 & 5.0515 \\ \hline 4.9309 & 6.0261 \\ \hline 4.0449 & 6.9059 \\ \hline 3.0101 & 7.9838 \\ \hline 5.9496 & 8.9854 \\ \hline 6.8729 & 9.9468 \\ \hline 1.0898 & 11.1682 \\ \hline 1.9868 & 11.9124 \\ \hline 2.9853 & 12.9516 \\ \hline 10.0080 & 13.9288 \\ \hline 8.9052 & 14.8826 \\ \hline 8.0411 & 15.9808 \\ \hline 2.0826 & 16.9726 \\ \hline 1.0536 & 18.1530 \\ \hline 9.0649 & 18.9751 \\ \hline 10.0826 & 19.8936 \\ \hline \end{tabular}

Ci-dessous le nuage de point basé sur ces données,

add

On assumera ici le fait que les valeurs de X au temps t1 et celles au temps t2 ne suivent pas une loi normale étant donné qu’il s’agit d’un exemple d’application

Les deux temps X ^{t_1}, X ^{t_2} admettent les variances suivantes:

\sigma_{t_1} ^2 = 8.538469

\sigma_{t_2} ^2 = 34.85584

Comme \sigma_{t_2} ^2 > \sigma_{t_1} ^2, la statistique de test F vaut:

F = \frac{34.85584}{8.538469} = 4.082212

Ensuite, le coefficient de corrélation de Pearson entre X ^{t_1} et X ^{t_2} vaut: r_ {t_1,t_2} = 0.264079. On a défini les différents objets nécessaires, on peut désormais calculer la statistique de test de Morgan-Pitman:

|t = |\frac{(4.082212 - 1) \times \sqrt{18}}{2 \times \sqrt{4.082212 \times (1 - 0.264079 ^2)}}| = |\frac{13.07672}{3.897449} = |3.3552| = 3.3552

On cherche à tester bilatéralement le rejet de l’hypothèse H_0. Sous cette approche, on génère une loi de Student à 20 - 2 = 18 degrés de liberté et l’on reporte sur le graphe ci-dessous les valeurs seuils qui correspondent aux quantiles à 20 \%, 10 \%, 5 \% et 1 \% dans le cadre bilatéral,

add3.png

En se reportant aux valeurs de la table de la loi de Student ci-dessus, on constate que,

T_{18,20\%,\mbox{bilat\'eral}} = 1.330 < T_{18,10\%,\mbox{bilat\'eral}} = 1.734 < T_{18,5\%,\mbox{bilat\'eral}} = 2.101 < T_{18,1\%,\mbox{bilat\'eral}} = 2.552 < t_{obs} = 4.082212

Maintenant, on calcul la p-valeur exacte associée à la statistique de test |t_{obs}| de Student dans le cadre bilatéral et de paramètre 20 - 2 = 18. Dans un premier temps on applique la transformation,

z = \frac{\frac{3.3552 ^2}{18}}{1 + \frac{3.3552 ^2}{18}} = \frac{0.6254093}{1.625409} = 0.3847703

On calcul ensuite la p-valeur,

p = 1 -  \frac{B(0.3847703,\frac{1}{2},\frac{18}{2})}{B(\frac{1}{2},\frac{18}{2})} = 1 - \frac{0.5969655}{0.5990767} = 1 - 0.9964759 = 0.00352409 < 5 \%

On pourra rejeter H_0 au risque de 5 \% et on en conclut que \sigma_{t_1} ^2 \neq \sigma_{t_2} ^2 au sens statistique du terme.

\bullet Application sous R:

Cas à un échantillon: test de conformité de la variance à un standard

Soit l’exemple suivant:

X = c(0.8970,2.0949,3.0307,4.0135,5.0515,
6.0261,6.9059,7.9838,8.9854,9.9468,11.1682,11.9124,12.9516,
13.9288,14.8826,15.9808,16.9726,18.1530,18.9751,19.8936)

Package et fonction R: https://www.rdocumentation.org/packages/PairedData/versions/1.1.1/topics/Var.test

La fonction Var.test du package PairedData permet d’appliquer le test de conformité de la variance à un standard.

On lance le test sur un échantillon afin de savoir si la variance de X est égale à la référence \sigma_0 ^2 = 30. On procède de la manière suivante:

library(PairedData)
Var.test(x=X, ratio=30)

Parmi les paramètres à insérer les plus importants il faut relever:

– La variable aléatoire : « x = X » ;

– La valeur de référence à laquelle comparer la variance de X: « ratio = 30  » .

On obtient alors les résultats suivants:

addb

On vérifie:

– La statistique de test : « X-squared = 22.07536  » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– La p-valeur:  » p-value = 0.561  » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– Et le type de test effectué: « alternative hypothesis: true variance is not equal to 30 » .

Cas à deux échantillons: comparaison des variances

Dans un premier temps, on charge notre exemple:

X_Y1 = c(3.1101,4.1008,4.7876,7.0677,
6.0858,4.9309,4.0449,3.0101,5.9495,6.8729)

X_Y2 = c(1.0898,1.9868,2.9853,10.0080,8.9052,
8.0411,2.0826,1.0536,9.0649,10.0826)

Package et fonction R: https://www.rdocumentation.org/packages/stats/versions/3.6.0/topics/var.test

La fonction var.test du package stats permet d’appliquer le test F d’égalité des variances de Fisher-Snedecor. Le package se charge automatiquement lors du lancement de R.

On lance le test afin de savoir si les moyennes de X|_{Y = A} et X|_{Y = B} sont différentes. On procède de la manière suivante:

var.test(X_Y1,X_Y2)

Parmi les éléments à insérer les plus importants il faut relever:

– Les deux échantillons sur lesquels tester l’égalité des variances: « X_Y1, X_Y2 » ;

– On aurait pu rajouter l’instruction « alternative » qui permettra de déterminer si on veut procéder à un test bilatéral, unilatéral à gauche ou à droite. Par défaut le logiciel R lance le test dans un cadre bilatéral.

On obtient alors les résultats suivants:

addb

On vérifie:

– Les données utilisées: « data: X_Y2 and X_Y1 » , la fonction n’adapte pas automatiquement le calcul de la statistique de test F en fonction de la plus grande des deux variances. Par conséquent, c’est à l’utilisateur de les entrer dans le bon ordre ;

– La statistique de test: « F = 7.3903 » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– La p-valeur: « p-value = 0.006454 » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– Et le type de test effectué: « alternative hypothesis: true ratio of variances is not equal to 1 » .

Cas pour échantillons appariés: comparaison des variances

Dans un premier temps, on charge notre exemple:

X_t1 = c(3.1101,4.1008,4.7876,7.0677,6.0858,4.9309,
4.0449,3.0101,5.9496,6.8729,1.0898,1.9868,2.9853,10.0080,
8.9052,8.0411,2.0826,1.0536,9.0649,10.0826)

X_t2 = c(0.8970,2.0949,3.0307,4.0135,5.0515,6.0261,
6.9059,7.9838,8.9854,9.9468,11.1682,11.9124,12.9516,
13.9288,14.8826,15.9808,16.9726,18.1530,18.9751,19.8936)

Package et fonction R: https://www.rdocumentation.org/packages/PairedData/versions/1.1.1/topics/Var.test

La fonction Var.test du package PairedData permet d’appliquer le test de Morgan-Pitman pour l’égalité des variances lorsque les données sont appariées.

On lance le test afin de savoir si la variance de X au temps t_1 est la même que celle au temps t_2. On procède de la manière suivante:

library(PairedData)
Var.test(x=X_t2,y=X_t1,paired=TRUE)

Parmi les éléments à insérer les plus importants il faut relever:

– Les deux échantillons sur lesquels tester l’égalité des moyennes : « x = X_t1 » , « y = X_t2 » ;

– Le fait que les données sont appariées: « paired = TRUE » ;

– On aurait pu rajouter l’instruction « alternative » qui permettra de déterminer si on veut procéder à un test bilatéral, unilatéral à gauche ou à droite. Par défaut le logiciel R lance le test dans un cadre bilatéral.

On obtient alors les résultats suivants:

addb

On vérifie:

– La statistique de test: « t = 3.3552 » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– La p-valeur: « p-value = 0.003524 » , qui est la même que celle obtenue lors  des calculs manuels (cf section « Exemple ») ;

– Et le type de test effectué: « alternative hypothesis: true ratio of variances is not equal to 1 » .

\bullet Application sous SAS:

Cas à un échantillon: test de conformité de la variance à un standard

Soit l’exemple suivant:

data E;
input X;
cards;
0.8970
2.0949
3.0307
4.0135
5.0515
6.0261
6.9059
7.9838
8.9854
9.9468
11.1682
11.9124
12.9516
13.9288
14.8826
15.9808
16.9726
18.1530
18.9751
19.8936
;
run;

Le logiciel SAS n’offre pas de procédure permettant d’appliquer directement le test de conformité de la variance à un standard. Par conséquent, on proposera le macro-programme suivant:

%macro vartest_OneSamp(Table=,X=,ref=);
/* Macro pour appliquer le test de de conformité de la variance à un standard sur une variable continue */
/* Paramètres:
– Table indique le nom de la matrice sur laquelle on veut travailler ;
– X indique la variable pour laquelle on veut comparer la variance au standard ;
– ref indique le standard fixé.
/* Renvoi: la fonction retourne le nom de la variable, taille de l’échantillon, la valeur de la statistique de test F et sa p-valeur associée */
/* Options permettant d’éviter de saturer la log */
options nonotes spool;
/* Sortie de la taille d’échantillon n */
proc sql noprint;
select count(*) into: n from &Table.;
quit;
/* Sortie de la variance de X */
proc univariate data = E;
var X;
ods exclude Moments BasicMeasures ExtremeObs Quantiles TestsForLocation;
ods output Moments = Variance;
run;
data _null_;
set Variance;
if Label2 = ‘Variance’;
call symputx(‘Variance’,cValue2);
run;
/* Conception table des résultats */
data Resultats;
Var = ‘&X.’;
N = ‘&n.’;
F = (&n.-1) * &Variance. / &ref.;
p = 2 * (1 – Probchi(F,&n.-1));
run;
/* Suppression des tables inutiles */
proc datasets lib = work nolist;
delete F Variance;
run;
/* Reset des options */
options nonotes spool;
%mend;

Après compilation de la macro sous l’environnement SAS, la fonction se lance ainsi,

%vartest_OneSamp(table = E,X = X, ref = 30)

Parmi les paramètres à insérer les plus importants il faut relever:

– La table contenant les données: « table = E » ;

– La variable sur laquelle appliquer le test: « X = X » ;

– Le standard: « ref = 30 » .

On obtient alors les résultats suivants dans la table générée en fin de procédure:

addb

On vérifie:

– Le nom de la variable utilisée:  » Var = X  » ;

– La taille d’échantillon: « N = 20 » ;

La statistique de test: « F = 22.075364827 » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– La p-valeur: « p = 0.5610430665 » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple »).

Cas à deux échantillons: comparaison des variances

Soit l’exemple suivant:

data E;
input Y $1. X;
cards;
A 3.1101
A 4.1008
A 4.7876
A 7.0677
A 6.0858
A 4.9309
A 4.0449
A 3.0101
A 5.9495
A 6.8729
B 1.0898
B 1.9868
B 2.9853
B 10.0080
B 8.9052
B 8.0411
B 2.0826
B 1.0536
B 9.0649
B 10.0826
;
run;

Procédure SAS : http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_ttest_sect011.htm

On lance le test F d’égalité des variances de Fisher-Snedecor afin de savoir si X|_{Y = A} et X|_{Y = B} ont même variance. On procède de la manière suivante:

proc ttest data = E;
var X;
class Y;
ods exclude TTests Statistics ConfLimits;
run;

Parmi les éléments à insérer les plus importants il faut relever:

– La table contenant nos données: « data = E » ;

– La variable sur laquelle on travaille: « var X » ;

– La variable binaire permettant de scinder X en X|_{Y = A} et X|_{Y = B}: « class Y » ;

– On aurait pu rajouter l’instruction « side » après l’instruction « data » de la première ligne qui permettra de déterminer si on veut procéder à un test bilatéral, unilatéral à gauche ou à droite. Par défaut le logiciel SAS lance le test dans un cadre bilatéral ;

– L’ods output est utilisé afin de filtrer les résultats et n’afficher que ceux dont on a besoin.

On obtient alors les résultats suivants:

addb

On vérifie:

– Dans la colonne « Valeur F » , la statistique de test: « 7.39  » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– Dans la colonne « Pr > F  » , la p-valeur : « 0.0065 » , qui est la même celle obtenue lors des calculs manuels (cf section « Exemple »).

Cas pour échantillons appariés: comparaison des variances

Soit l’exemple suivant:

data E;
input X_t1 X_t2;
cards;
3.1101 0.8970
4.1008 2.0949
4.7876 3.0307
7.0677 4.0135
6.0858 5.0515
4.9309 6.0261
4.0449 6.9059
3.0101 7.9838
5.9496 8.9854
6.8729 9.9468
1.0898 11.1682
1.9868 11.9124
2.9853 12.9516
10.0080 13.9288
8.9052 14.8826
8.0411 15.9808
2.0826 16.9726
1.0536 18.1530
9.0649 18.9751
10.0826 19.8936
;
run;

Le logiciel SAS n’offre pas de procédure permettant d’appliquer directement le test de Morgan-Pitman. Par conséquent, on proposera le macro-programme suivant:

%macro morgan_pitman(Table=,Xt1=,Xt2=);
/* Macro pour appliquer le test de Morgan-Pitman sur deux variables appariées continues */
/* Paramètres:
– Table indique le nom de la matrice sur laquelle on veut travailler ;
– Xt1 indique le premier temps de la variable ;
– Xt2 indique le second temps de la variable.
/* Renvoi: la fonction retourne la taille de l’échantillon, la valeur de la statistique de test F et du coefficient de corrélation de Pearson, celle de la statistique t et sa p-valeur associée */
/* Options permettant d’éviter de saturer la log */
options nonotes spool;
/* Sortie de la taille d’échantillon n */
proc sql noprint;
select count(*) into: n from &Table.;
quit;
/* Sortie de la statistique de test F de Fisher-Snedecor */
data T1;
set &table.;
t = ‘T1’;
rename &Xt1. = X;
keep t &Xt1.;
run;
data T2;
set &table.;
t = ‘T2’;
rename &Xt2. = X;
keep t &Xt2.;
run;
data F;
set T1 T2;
run;
proc ttest data = F;
var X;
class t;
ods exclude TTests Equality Statistics ConfLimits;
ods output Equality = FS;
run;
data _null_;
set FS;
call symputx(‘F’,FValue);
run;
/* Sortie du coefficient de corrélation de Pearson */
proc corr data = &table. outp = R;
var &Xt1. &Xt2.;
ods exclude VarInformation SimpleStats PearsonCorr;
run;
data _null_;
set R;
if _NAME_ = ‘&Xt1.’;
call symputx(‘r’,’&Xt2.’n);
run;
/* Conception table des résultats */
data Resultats;
N = ‘&n.’;
F = &F.;
Corr = &r.;
t = (&F.-1) * sqrt(&n. – 2) / (2 * sqrt(&F. * (1 – &r. **2)));
p = 2*(1-Probt(t,&n.-2));
run;
/* Suppression des tables inutiles */
proc datasets lib = work nolist;
delete FS T1 T2 R F;
run;
/* Reset des options */
options nonotes spool;
%mend;

Après compilation de la macro sous l’environnement SAS, la fonction se lance ainsi,

%morgan_pitman(table = E,Xt1 =X_t1, Xt2 = X_t2)

Parmi les paramètres à insérer les plus importants il faut relever:

– La table contenant nos données: « table = E » ;

– Le premier temps de mesure de la variable étudiée: « Xt1 = X_t1 » ;

– Le second temps de mesure de la variable étudiée: « Xt2 = X_t2 » .

On obtient alors les résultats suivants dans la table générée en fin de procédure:

addb

Dans la table renvoyée par la fonction, on vérifie:

– La taille d’échantillon: « N = 20 » ;

– La statistique de test: « F = 4.0822117061 » ;

– Le coefficient de corrélation de Pearson: « Corr = 0.2640789693 » ;

– La statistique de test de Morgan-Pitman: « t = 3.3551987438  » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple ») ;

– La p-valeur: « p = 0.00035241772  » , qui est la même que celle obtenue lors des calculs manuels (cf section « Exemple »).

\bullet Bibliographie:

– Probabilités, analyse des données et Statistique de Gilbert Saporta

– Data mining et statistique décisionnelle, l’intelligence des données de Stéphane Tufféry

– A test for the significance of the difference between two variances in a sample from a normal bivariate distribution de W. A. Morgan

– A note on normal correlation de Edwin James George Pitman

– Densite de la loi de Student de Colette Vuillet

– Chapitre 3: Méthodes d’estimation et tests classiques sur un échantillon gaussien de Léonard Gallardo

4 réflexions sur “Le test F de Fisher-Snedecor

  1. Can you add a Blackberry template? This web page is tricky to read otherwise for those of us browsing with cell phones. Otherwise, in the event you can place a RSS link up, that would be good also. gddeakdaeaek

  2. Neat blog! Is your theme custom made or did you download it from somewhere? A theme like yours with a few simple tweeks would really make my blog jump out. Please let me know where you got your design. Thanks dfbeabfddeeg

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s