Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

Le deal à ne pas rater :
Coffret Pokémon Bundle 6 Boosters EV05 Forces Temporelles : où ...
Voir le deal

[Groupe de travail] Normalité intra-groupe et ANOVA

Aller en bas

31032017

Message 

[Groupe de travail] Normalité intra-groupe et ANOVA Empty [Groupe de travail] Normalité intra-groupe et ANOVA




Normalité intra-groupe et ANOVA

Problématique :
Joyeux_lapin13 a écrit:On dit que pour les tests paramétriques il faut que l'échantillon suit une loi normale. Mais par exemple, dans le cas d'un test de Student ou d'une ANOVA, sommes-nous bien d'accords que ce sont les échantillons retreints aux différents groupes qui doivent tous suivre une loi normale et non l'échantillon complet?
zezima
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Partager cet article sur : reddit

[Groupe de travail] Normalité intra-groupe et ANOVA :: Commentaires

zezima

Message Ven 31 Mar 2017 - 14:53 par zezima

niaboc a écrit:Je suis d'accord avec ça et c'est ce que j'ai toujours fait jusque là. Et tout les groupes doivent avoir la même variance... pour ne pas fausser les résultats du test effectué pour tester les différence de moyenne.

Revenir en haut Aller en bas

zezima

Message Ven 31 Mar 2017 - 15:15 par zezima

Bonjour, c'est une très bonne problématique, qui m'intéresse également.

Dans la littérature, je n'ai jamais vu cette condition par contre il est dit pour une ANOVA à 2 facteurs, que la normalité doit être respectée dans chacun des croisements de modalités donc pourquoi cette condition ne devrait pas être respectée pour une ANOVA à 1 facteur ?
Pour les ANOVAs à 1 facteur, dans la littérature, il était conseillé que ce soit la variable sur la population globale qui soit normale.

Ne serait-ce pas l'aléa qui ferait que les deux groupes ne sont pas tous les deux normaux ? S'ils proviennent tous deux d'une population normale alors ils sont théoriquement considérés normaux. Un faible échantillon pourrait expliquer qu'on ne trouve pas la normalité pour les deux groupes. Faire du non-paramétrique pourrait potentiellement être un peu trop handicapant.


Dans la littérature, il est dit qu'une variable peut suivre des méchanismes spécifiques, par exemple à effets additifs (distribution normale) ou à effets/erreurs proportionnelles (distribution log-normale).
Une variable suivra donc une distribution spécifique en l'absence d'impacts d'autres variables.

Je pense que si deux groupes issus d'une même variable ont une distribution différente, c'est que les groupes n'ont pas été créés selon les mêmes critères.
Ensuite, il est possible et tout à fait compréhensible qu'un des groupes ait une distribution différente due à des conditions d'application (par exemple l'administration d'un traitement). La distribution serait donc déplacée ou différente, rien ne nous dit que la distribution resterait la même sous une autre condition. Le fait que les groupes n'aient pas la même distribution ne viendrait pas forcément d'un oubli de randomisation.

Un exemple qui me vient est un régime amincissant, le poids est une variable normale.
Les personnes ayant un poids de base élevé vont beaucoup plus perdre de poids que les personnes ayant un poids de base faible. La distribution Normale de base se transformera donc en une pseudo distribution normale avec un pic très pointu.


Ce qui pourrait être intéressant, serait d'évaluer la différence de puissance entre
- des comparaisons de deux groupes normaux (à variance égales)
- des comparaisons entre un groupe normal et un groupe anormal (à variance égales)
Et ce pour différentes tailles d'échantillon, de variance et de moyenne simulées

Il faudra alors fixer des règles sur "à partir de quels critères j'évalue mon échantillon simulé non normal ?".

Je pourrais essayer de faire une simulation 3D, si vous avez des idées pour générer ces groupes, je suis ouvert à toute idée.

Revenir en haut Aller en bas

zezima

Message Mar 25 Avr 2017 - 12:32 par zezima

Bonjour à tous, je pense avoir une bonne piste pour répondre à la problématique de Joyeux_lapin13.

J'ai fait une petite simulation en incluant 4 groupes :
- 2 groupes qui suivent une loi Normale (avec une différence de 3)
- 1 groupe qui suit une loi Log-Normal
- 1 groupe qui suit une loi Uniforme

J'ai ensuite fait 2 à 2 des t-tests entre :
- Chaque groupe normal
- Le premier groupe normal avec le groupe log-normal
- Le premier groupe normal avec le groupe uniforme

Tout cela pour des groupes :
- de tailles 10 à 100 par pas de 10
- de variance de 2 à 4 par pas de 1

Le tout lancé 3000 fois.

Les quantiles des p-valeurs sont ensuite analysés à l'aide d'un graphique en les croisant avec la taille de l'échantillon et la variance des groupes.

Au niveau des graphiques, la première ligne représente les groupes Normaux.
La deuxième ligne représente le groupe normal croisé au group log-normal.
La troisième ligne représente le groupe normal croisé au groupe uniforme.
Les graphs parlent un petit peu, il semble qu'il y ait des petites différences de pvaleurs entre les groupes comparés.


Le code prend environ 1 minute à se lancer.
Code:

#########################
###Groupe de travail 1###
#########################

#Doit-on avoir une distribution normale dans tous les groupes d'un test de Student ou au global ?
library(moments)



data=array(dim=c(100,10,4,4,3000))
pval=array(dim=c(10,4,3,3000))
pvalquart=array(dim=c(10,4,3,5))

for(i in 1:10){
for(j in 1:4){
for(k in 1:3000){
n=i*10
s=j+1
gn1=rnorm(n,60,s)
gn2=rnorm(n,63,s)
gln=rlnorm(n,log(63),log(0.9+0.06*s))
gu=runif(n,min=63-2.5*s,max=63+2.5*s)

data[,i,j,1,k][1:n]=gn1
data[,i,j,2,k][1:n]=gn2
data[,i,j,3,k][1:n]=gln
data[,i,j,4,k][1:n]=gu

pval[i,j,1,k]=t.test(data[,i,j,1,k][1:n],data[,i,j,2,k][1:n])$p.value
pval[i,j,2,k]=t.test(data[,i,j,1,k][1:n],data[,i,j,3,k][1:n])$p.value
pval[i,j,3,k]=t.test(data[,i,j,1,k][1:n],data[,i,j,4,k][1:n])$p.value

}
}
}



for(i in 1:10){
for(j in 1:4){
for(m in 1:5){
pvalquart[i,j,1,m]=quantile(pval[i,j,1,],probs=seq(0,1,0.25))[m]
pvalquart[i,j,2,m]=quantile(pval[i,j,2,],probs=seq(0,1,0.25))[m]
pvalquart[i,j,3,m]=quantile(pval[i,j,3,],probs=seq(0,1,0.25))[m]
}}}

pval
pvalquart



par(mfrow=c(3,5))
#NvsN
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,1]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="0%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,2]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="25%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,3]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="50%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,4]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="75%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,5]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="100%")

#NvsLN
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,1]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="0%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,2]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="25%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,3]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="50%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,4]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="75%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,5]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="100%")


#NvsUnif
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,1]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="0%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,2]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="25%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,3]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="50%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,4]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="75%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,5]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="100%")





Je pense que le code est optimisable, on pourrait faire en sorte que les différences entre chaque groupe se rapprochent de 3 afin de pouvoir comparer le normal et le log-normal ainsi que le normal et l'uniforme.

Par contre je pense avoir fait fausse route concernant le groupe log-normal car il faudrait le simuler afin d'avoir des moyennes similaires au groupe normal, ça aurait plus de sens je pense.

N'hésitez pas si vous avez des petites idées.

Revenir en haut Aller en bas

zezima

Message Mer 26 Avr 2017 - 7:20 par zezima

Bonjour,

J'ai réduit les écarts entre les groupes pour isoler la puissance dans chaque groupe de comparaison.

Le code suivant ne permet pas de dire que l'on a une meilleure ou une plus mauvaise puissance si les 2 groupes ne sont pas normaux mais on voit que la distribution a un impact important sur le résultat des comparaisons.

Code:

#########################
###Groupe de travail 1###
#########################

#Doit-on avoir une distribution normale dans tous les groupes d'un test de Student ou au global ?
library(moments)



data=array(dim=c(100,10,4,4,4000))
pval=array(dim=c(10,4,3,4000))
pvalquart=array(dim=c(10,4,3,5))

for(i in 1:10){
for(j in 1:4){
for(k in 1:4000){
n=i*10
s=j+1
gn1=rnorm(n,62,s)
gn2=rnorm(n,63,s)
gln=rlnorm(n,log(63),log(0.9+0.06*s))
gu=runif(n,min=63-2.5*s,max=63+2.5*s)

data[,i,j,1,k][1:n]=gn1
data[,i,j,2,k][1:n]=gn2
data[,i,j,3,k][1:n]=gln
data[,i,j,4,k][1:n]=gu

pval[i,j,1,k]=t.test(data[,i,j,1,k][1:n],data[,i,j,2,k][1:n])$p.value
pval[i,j,2,k]=t.test(data[,i,j,1,k][1:n],data[,i,j,3,k][1:n])$p.value
pval[i,j,3,k]=t.test(data[,i,j,1,k][1:n],data[,i,j,4,k][1:n])$p.value

}
}
}



for(i in 1:10){
for(j in 1:4){
for(m in 1:5){
pvalquart[i,j,1,m]=quantile(pval[i,j,1,],probs=seq(0,1,0.25))[m]
pvalquart[i,j,2,m]=quantile(pval[i,j,2,],probs=seq(0,1,0.25))[m]
pvalquart[i,j,3,m]=quantile(pval[i,j,3,],probs=seq(0,1,0.25))[m]
}}}

pval
pvalquart



par(mfrow=c(3,5))
#NvsN
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,1]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="0%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,2]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="25%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,3]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="50%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,4]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="75%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,1,5]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="100%")

#NvsLN
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,1]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="0%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,2]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="25%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,3]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="50%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,4]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="75%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,2,5]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="100%")


#NvsUnif
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,1]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="0%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,2]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="25%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,3]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="50%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,4]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="75%")
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalquart[,,3,5]
persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "pvalue",main="100%")



Je vais désormais faire une comparaison des proportions de rejets du risque alpha dans chaque cas de figure pour vraiment évaluer ce risque de ne pas être normal dans les deux groupes (sous un mois max).

Revenir en haut Aller en bas

zezima

Message Ven 28 Avr 2017 - 7:30 par zezima

Bonjour, voici la suite du code qui permet d'avoir la puissance en fonction des distributions des variables :

Code:

pvalsig=array(dim=c(10,4,3))

for(i in 1:10){
for(j in 1:4){
pvalsig[i,j,1]=sum(pval[i,j,1,]<=0.05)/length(pval[i,j,1,])
pvalsig[i,j,2]=sum(pval[i,j,2,]<=0.05)/length(pval[i,j,2,])
pvalsig[i,j,3]=sum(pval[i,j,3,]<=0.05)/length(pval[i,j,3,])
}}

par(mfrow=c(1,3))
#NvsN
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalsig[,,1]
persp(x, y, z, theta = 120, phi = 30, expand = 0.5, col = "SteelBlue1",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "power",main="Normal vs Normal distribution")
#NvsLN
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalsig[,,2]
persp(x, y, z, theta = 120, phi = 30, expand = 0.5, col = "orange",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "power",main="Normal vs Log-Normal distribution")
#NvsUnif
x=seq(10,100,10)
y=seq(2,5,1)
z=pvalsig[,,3]
persp(x, y, z, theta = 120, phi = 30, expand = 0.5, col = "tomato",
      ltheta = 120, shade = 0.75, ticktype = "detailed",
      xlab = "sample size", ylab = "variance", zlab = "power",main="Normal vs Uniform distribution")

On ressent une perte de puissance assez forte pour les distributions Normales croisées aux log-normales et une perte de puissance moyenne pour les distributions Normales croisées aux distributions uniformes.

Revenir en haut Aller en bas

zezima

Message Ven 28 Avr 2017 - 8:28 par zezima

Ce qu'on peut se dire lorsqu'on a deux groupes dont les distributions sont différentes, c'est "en quoi la distribution impacte la moyenne et la variance du groupe non normal ?".

Pour une moyenne donnée, une log-normale va avoir une distribution plus variable qu'une normale.
De même pour une loi uniforme, la variabilité des données sera plus grande qu'une normale.

Donc le Student est impacté et on est sensé perdre de la puissance.

Revenir en haut Aller en bas

zezima

Message Mer 16 Aoû 2017 - 8:38 par zezima

Bonjour,

Ne faites pas attention à mes dernier posts, je pense que j'étais hors-sujet.

J'ai fait une dernière simulation qui semble montrer qu'il n'y a pas de différence entre les deux cas de figures suivants :
- 2 groupes simulés d'une loi normale de taille (n=5:100) pour des variances de 1:4 et une moyenne nulle
- 2 groupes piochés aléatoirement d'une loi normale de taille (N=10:200) pour des variances de 1:4 et une moyenne nulle
et ce pour différentes tailles d'échantillon (N=10:200)

J'ai appliqué un test de Student afin d'évaluer le risque alpha des deux scénarios (la puissance a été laissée de côté, je l'admet).


Il est conseillé de diviser l'objet "nsim" par 10 si on ne veut pas avoir une simulation trop longue (~5h sur du 4Go RAM)
Code:

##################################################
################### Simulation ###################
##################################################
###Est-ce que ce sont les échantillons restreints aux différents groupes
###qui doivent suivre une loi normale ou l'échantillon global ?
#[X,,,]=simulation n from 1 to nsim
#[,X,,]="g for 1", "G for 2"
#[,,X,]=variance from 1 to 4
#[,,,X]=sample size from 5 to 100
nsim=1000000
matp=array(dim=c(nsim,2,4,5))
n=c(5,10,20,50,100)

for(i in 1:nsim){
for(k in 1:4){
for(o in 1:5){
G=rnorm(n[o]*2,0,k)
m=matrix(c(G,seq(1:(n[o]*2))),n[o]*2,2)
g1=rnorm(n[o],0,k)
g2=rnorm(n[o],0,k)
G1=m[c(1:n[o]),1]
G2=m[c((n[o]+1):(n[o]*2)),1]

mean(g1);mean(g2);mean(G1);mean(G2)
var(g1);var(g2);var(G1);var(G2)
mean(g1)-mean(g2)
mean(G1)-mean(G2)
matp[i,1,k,o]=t.test(g1,g2)$p.value
matp[i,2,k,o]=t.test(G1,G2)$p.value
}
}
}

#alpha risk in each group
matg=matrix(,4,5)
matG=matrix(,4,5)
for(i in 1:4){
for(j in 1:5){
matg[i,j]=median(matp[,1,i,j])
matG[i,j]=median(matp[,2,i,j])}}
matg;matG

#alpha risk difference
mattdiff=matp[,1,,]-matp[,2,,]
mat=matrix(,4,5)
for(i in 1:4){
for(j in 1:5){mat[i,j]=median(mattdiff[,i,j])}}
mat

Les médianes de risque alpha sont, pour toutes tailles d'échantillon et pour toutes variances simulées, très proches de 5%.

Conclusion : on a des indices qui nous indiquent que le test de Student ne semble pas voir son risque alpha varier selon les deux cas de figures.

Bien à vous

Revenir en haut Aller en bas

Message  par Contenu sponsorisé

Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum